django haystack 保存数据的时候,报 SpatialError 的错误

2015-06-29 21:51:21 +08:00
 shiziwen

在保存数据的时候,会报如下的错误:

File "/root/.virtualenvs/django-gis/local/lib/python2.7/site-packages/haystack/utils/geo.py", line 17, in ensure_geometry
    raise SpatialError("Point '%s' doesn't appear to be a GEOS geometry." % geom)
    SpatialError: Point 'test' doesn't appear to be a GEOS geometry.

使用Venue.objects.create(name='test',latitude=40.037443, longitude=116.414223),就会引发这个错误。

但是使用Venue.objects.all()可以获得数据。

Venue.objects.all()[1].get_location().wkt
u'POINT (116.4142230000000069 40.0374430000000032)'

查了一些资料,没有头绪,不知道大家有没有遇到过类似的问题,多谢。

2610 次点击
所在节点    Django
2 条回复
shiziwen
2015-06-29 22:16:26 +08:00
另外,在调用

python manage.py update_index

或者

python manage.py rebuild_index

的时候,也都会报这个错误。
shiziwen
2015-07-01 09:53:19 +08:00
问题已经找到了,只因为别的字段错误的赋予了坐标值引起的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/202016

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX