Mais

Não foi possível criar o polígono usando a interface de administração Geodjango


Eu sou novo no GeoDjango. Eu criei uma interface Admin para meu modelo. Ele carrega corretamente. Eu também sou capaz de desenhar o polígono no mapa (no lado do cliente), mas quando eu salvo, ele me diz uma entrada inválida e gera algum erro no console.

Modelo

de django.contrib.gis import models Poly (models.Model): poly_gon = models.Polygone () objects = models.GeoManager ()

Interface de administração

from django.contrib.gis import admin from myapp.models import Poly admin.site.register (Poly)

Erro no lado do cliente (no campo do polígono na cor vermelha)

"Valor geométrico inválido."

Erro no lado do servidor (no terminal, após iniciar o servidor com o comando runserver)

Erro no lado do servidor: GEOS_ERROR: ParseException: Esperado 'Z', 'M', 'ZM', 'EMPTY' ou '(' mas encontrado: ')' GEOS_ERROR: ParseException: Esperado 'Z', 'M', 'ZM ',' EMPTY 'ou' ('but found:') 'Erro ao criar geometria a partir do valor' SRID = 4326; POLYGON () '(Erro encontrado ao verificar geometria retornada da função GEOS C "GEOSWKTReader_read_r".)

Consegui inserir dados no meu Poly a partir do shell seguindo o código.

de django.contrib.gis.geos importar GEOSGeometry de myapp.models importar Poly p = Poli (poly_gon = GEOSGeometry ( "" "polígono ((- 87,6705551147461 41,89135645852043, -87,64171600341797 41,89288988217029, -87,63690948486328 41,880110226947934, -87,66368865966797 41,87806524488436, -87,68016815185547 41,887267148816726, -87.6705551147461 41.89135645852043)) "" ")) p.save ()

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

ou

admin.site.register (Poly, admin.OSMGeoAdmin) # para o mapa do openstreet


Assista o vídeo: Making a GeoDjango App Intro + Overview (Outubro 2021).