Project

General

Profile

Development #57280

opengis, gérer le geojson contenant des surfaces

Added by Frédéric Péters 20 days ago. Updated 12 days ago.

Status:
Solution déployée
Priority:
Normal
Target version:
-
Start date:
27 Sep 2021
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Il s'agit d'étendre le modèle FeatureCache pour pouvoir contenir des surfaces plutôt que juste lat/lon.

Pour que les fonctions de filtrage bbox/circle de l'API fonctionnent, il faudra enregistrer au niveau du modèle une deuxième position, pour faire rectangle avec les lat/lon existants.


Files


Related issues

Related to Passerelle - Development #57295: opengis, pouvoir ajouter des propriétés calculéesSolution déployée27 Sep 2021

Actions

Associated revisions

Revision 87af8338 (diff)
Added by Frédéric Péters 19 days ago

opengis: add support for geojson shapes (#57280)

History

#1

Updated by Frédéric Péters 20 days ago

  • Status changed from Nouveau to En cours
#2

Updated by Frédéric Péters 20 days ago

Voilà ajout de deux champs au modèle, ils seront vides pour les points, et ils formeront une bbox (lat,lon,bbox_lat2,bbox_lon2) pour les autres formes geojson,

     lat = models.FloatField()
     lon = models.FloatField()
+    bbox_lat2 = models.FloatField(blank=True, null=True)
+    bbox_lon2 = models.FloatField(blank=True, null=True)

Pour définir la bbox d'un objet on prend juste les min et max des x et y pour toutes les positions contenues dans la définition de la forme.

Pour le filtre ?bbox sur les requêtes, on regarde si ça overlape,

+            features = features.filter(
+                Q(bbox_lat2__isnull=True, lon__gte=lonmin, lon__lte=lonmax, lat__gte=latmin, lat__lte=latmax)
+                | Q(
+                    bbox_lat2__isnull=False,  # geometry != Point
+                    bbox_lat2__isnull=False,  # geometry != Point
+                    lon__lte=lonmax,
+                    bbox_lon2__gte=lonmin,
+                    lat__lte=latmax,
+                    bbox_lat2__gte=latmin,
+                )
+            )

Pour le filtre ?circle on ne fait rien de plus on se contente de voir si ça overlape la bbox englobant le cercle.

#4

Updated by Lauréline Guerin 19 days ago

  • Status changed from Solution proposée to Solution validée
#5

Updated by Lauréline Guerin 19 days ago

  • Related to Development #57295: opengis, pouvoir ajouter des propriétés calculées added
#6

Updated by Frédéric Péters 19 days ago

  • Status changed from Solution validée to Résolu (à déployer)
commit 87af833818c61fd8702dba1fb883d97ecd0e2995
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Sep 27 13:54:21 2021 +0200

    opengis: add support for geojson shapes (#57280)
#7

Updated by Frédéric Péters 12 days ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF