Projet

Général

Profil

Development #57280

opengis, gérer le geojson contenant des surfaces

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
27 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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.


Fichiers


Demandes liées

Lié à Passerelle - Development #57295: opengis, pouvoir ajouter des propriétés calculéesFermé27 septembre 2021

Actions

Révisions associées

Révision 87af8338 (diff)
Ajouté par Frédéric Péters il y a plus de 2 ans

opengis: add support for geojson shapes (#57280)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Nouveau à En cours
#2

Mis à jour par Frédéric Péters il y a plus de 2 ans

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

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée
#5

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Lié à Development #57295: opengis, pouvoir ajouter des propriétés calculées ajouté
#6

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Solution validée à 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

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF