使用Django识别哪个多边形包含一个点?

时间:2018-01-26 11:02:45

标签: python django polygon geodjango intersect

我需要快速识别Django 1.9中一组点所属的多边形。

第一个选项是遍历所有多边形并检查它们包含哪些点:

for countrypolygon in countrypolygons:
    placesinthecountry = Place.objects.filter(lnglat__intersects=countrypolygon.geom)

这需要花费大量时间,因为我需要遍历很多多边形。

是否可以反过来,即循环遍历每个点并立即获得包含它的多边形?

1 个答案:

答案 0 :(得分:3)

是的,您可以使用contains

for point in my_points:
    polygons = MyModel.objects.filter(geom__contains=point.geom)  
相关问题