我创建了一个使用 MySQL 的 geodjango 数据库。
我的问题是,当我使用 PolygonField 添加一条新记录,然后检查一个点是否在该多边形内时,我得到了错误的结果(应该有更多的点)。我[Location.objects.filter(shape__contains='POINT(-0.058188 51.504289)')]
用来检查多边形形状内的点。
我的模型是:
class Location(models.Model):
locationId = models.IntegerField(unique=True)
shape = models.PolygonField(null=True, blank=True)
objects = models.GeoManager()
要将我的形状添加到我使用的数据库中:
polygon = Polygon(((-0.076406999999999975,51.495287999999995),(-0.076412999999999953,51.495159000000008), …(-0.076406999999999975,51.495287999999995)))
请看这张图片http://i.stack.imgur.com/qRSnX.png 即使在 geodjango admin 的地图上,我们也可以看到这个多边形的边界不是正确的。
我正在使用这样一个简单的 python 脚本来将我的结果与 geodjango 进行比较:http: //geospatialpython.com/2011/01/point-in-polygon.html
感谢您的帮助