【发布时间】:2016-09-06 23:28:10
【问题描述】:
我有一个基于 shapefile 的模型:
我的模型是: 从 django.contrib.gis.db 导入模型
class RegionBorder(models.Model):
region_code = models.CharField(max_length=9)
region_name = models.CharField(max_length=24)
mpoly = models.MultiPolygonField(srid=27700)
objects = models.GeoManager()
def __str__(self):
return self.region_name
我已成功将多边形导入我的数据库:
len(RegionBorder.objects.all())
9
但是当我试图在多边形中找到一个点时,我什么也得不到。我知道该点必须在多边形中,因为它们是英格兰地区的地图,我正试图在伦敦市中心找到 Nelsons 柱。
p = GEOSGeometry("Point(-0.127907 51.507786)", srid=27700)
RegionBorder.objects.filter(mpoly__contains=p)
[]
我做错了什么?我已经交换了坐标,以防万一我把它们弄错了,我已经删除了 srid 参数并重新开始。这是我第一次做任何 GIS 的东西,所以我完全迷路了
【问题讨论】: