Ich verwende GeoDjango, um ein Formular anzuzeigen, wo ein Benutzer einen Bereich auf einer Karte auswählen und benennen kann.GeoDjango Polygon Field ParseException
Ich habe folgendes Modell
import django.contrib.gis.db.models as models
class Area(models.Model):
name = models.CharField(max_length=25)
area_target = models.PolygonField(default='POLYGON EMPTY')
Und diese Form
from django.contrib.gis import forms
class AreaForm(forms.Form):
name = forms.CharField(max_length=160)
area_target = forms.PolygonField(srid=4326, required=False, widget=forms.OSMWidget(attrs={'map_width': 600, 'map_height': 500}))
Das Formular korrekt angezeigt wird, und ich kann eine Fläche mit der Karte Widget auswählen, aber ich bekomme die folgende Fehlermeldung, wenn Ich reiche das Formular ein:
GEOS_ERROR: ParseException: Expected 'Z', 'M', 'ZM', 'EMPTY' or '(' but encountered : ')'
GEOS_ERROR: ParseException: Expected 'Z', 'M', 'ZM', 'EMPTY' or '(' but encountered : ')'
Error creating geometry from value 'SRID=900913;POLYGON()' (Error encountered checking Geometry returned from GEOS C function "GEOSWKTReader_read_r".)
So wird das Polygon gezeichnet:
Wie Sie in der Debug-Ausgabe sehen können, gibt es keine Werte für die Kanten des Polygons.
Ich benutze Django 1.9.4, eine postgres 9.5.1.0 DB mit Postgis-Erweiterung und Geos 3.5 als Geometrie-Backend.
Kann mir jemand sagen, was los ist?
Sie haben nicht gezeigt, wie Sie ein Area-Objekt erstellen. – e4c5
Das Flächenobjekt sollte durch Zeichnen eines Polygons erstellt werden. Ich habe einen Screenshot hinzugefügt ... – user2393256
Bitte öffnen Sie die JavaScript-Konsole und zeigen Sie, wenn Fehler angezeigt werden – e4c5