Terralego/django-geostore-routing

View on GitHub
geostore_routing/tasks.py

Summary

Maintainability
A
0 mins
Test Coverage
from celery import shared_task
from geostore.models import Layer

from geostore_routing import settings as app_settings
from .helpers import Routing


@shared_task
def feature_update_routing(layer_id, ewkt):
    """ Update all feature topologies """
    layer = Layer.objects.get(pk=layer_id)
    features = layer.features.filter(geom__dwithin=(ewkt,
                                                    app_settings.GEOSTORE_ROUTING_TOLERANCE)
                                     ).values_list('pk', flat=True)
    Routing.update_topology(layer, features)
    return True