Suite

Impossible de créer un polygone à l'aide de l'interface d'administration de Geodjango


Je suis nouveau sur GeoDjango. J'ai créé une interface d'administration pour mon modèle. Il se charge correctement. Je suis également capable de dessiner le polygone sur la carte (côté client) mais lorsque j'enregistre, cela me dit une entrée non valide et génère une erreur dans la console.

Modèle

de django.contrib.gis importer des modèles Poly(models.Model): poly_gon = models.Polygone() objects = models.GeoManager()

Interface d'administration

de django.contrib.gis importer l'administrateur de myapp.models importer Poly admin.site.register (Poly)

Erreur côté client (sur le champ polygone en rouge)

"Valeur de géométrie invalide."

Erreur côté serveur (dans le terminal, après le démarrage du serveur avec la commande runserver)

Erreur côté serveur : GEOS_ERROR : ParseException : 'Z', 'M', 'ZM', 'EMPTY' ou '(' mais rencontré : ')' attendu : ')' GEOS_ERROR : ParseException : 'Z', 'M', 'ZM attendu ', 'EMPTY' ou '(' mais rencontré : ')' Erreur lors de la création de la géométrie à partir de la valeur 'SRID=4326;POLYGON()' (Erreur rencontrée lors de la vérification de la géométrie renvoyée par la fonction GEOS C "GEOSWKTReader_read_r".)

J'ai pu entrer des données dans mon Poly à partir du shell en suivant le code.

depuis django.contrib.gis.geos importer GEOSGeometry depuis myapp.models importer Poly p = Poly(poly_gon=GEOSGeometry("""POLYGON((-87.6705551147461 41.89135645852043, -87.64171600341797 41.89288988217029, -87.63690988810746878681 41.89135645852043, -87.64171600341797 41.89288988217029, -87.636908881048632867. -87.6705551147461 41.89135645852043))""")) p.save()

admin.site.register(Poly, admin.GeoModelAdmin)

ou alors

admin.site.register(Poly, admin.OSMGeoAdmin) # pour la carte OpenStreet


Voir la vidéo: Django en Français - 3. Personalisation de Django Admin Le fichier (Octobre 2021).