Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GeoDjango多边形字段解析异常_Django_Gis_Openlayers_Openstreetmap_Geodjango - Fatal编程技术网

GeoDjango多边形字段解析异常

GeoDjango多边形字段解析异常,django,gis,openlayers,openstreetmap,geodjango,Django,Gis,Openlayers,Openstreetmap,Geodjango,我使用GeoDjango显示一个表单,用户可以在其中选择地图上的一个区域并命名它 我有下面的型号 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') 这张表呢 from django.contr

我使用GeoDjango显示一个表单,用户可以在其中选择地图上的一个区域并命名它

我有下面的型号

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')
这张表呢

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}))
表单显示正确,我可以使用地图小部件选择区域,但在提交表单时收到以下错误消息:

GEOS_错误:ParseException:应为“Z”、“M”、“ZM”、“EMPTY”或“(”字符) 但是遇到了:“)”

GEOS_错误:ParseException:应为“Z”、“M”、“ZM”、“EMPTY”或“(”字符) 但是遇到了:“)”

从值“SRID=900913”创建几何图形时出错;多边形()'(错误 检查GEOS C函数返回的几何体时遇到问题 “GEOSWKTReader\u read\u r.”

这是多边形的绘制方式:

正如您在调试输出中看到的,多边形的边没有值

我使用Django1.9.4,一个带有postgis扩展的Postgres9.5.1.0DB,Geos3.5作为几何后端

有人能告诉我出了什么问题吗?

多边形(())
无效,将引发ParseException,如图所示

尝试
POLYGON EMPTY
创建空多边形几何体


我不熟悉GeoDjango,但可能NULL/None也是一个选项。

您还没有演示如何创建面积对象。面积对象应该通过绘制多边形来创建。我添加了一个屏幕截图…请打开javascript控制台并显示是否有任何错误显示upI在javascript控制台中没有收到任何错误。这是一个OSM问题,而不是GeoDjango问题,这是我的感受。我可以建议将其中一个标签更改为“打开街道地图”,以便引起该主题专家的注意。