我有一个地图上有很多标记。我有两个不相交的多边形(Box)。我想获得由这些多边形覆盖的所有标记。如何在MultiPolygon或多个多边形上进行空间查找“包含”?
qb_1 = Polygon.from_bbox((-35.19153, -5.84512, -35.24054, -5.78552))
qb_2 = Polygon.from_bbox((64.16016, 50.26125, 61.80359, 52.04911))
q_box = MultiPolygon(qb_1, qb_2)
test1 = Marker.objects.filter(point__contained=qb_1)
test2 = Marker.objects.filter(point__contained=qb_2)
test = Marker.objects.filter(point__contained=q_box)
print "Count of Polygon 1 = %s" % test1.count()
print "Count of Polygon 2 = %s" % test2.count()
print "Count of MultiPolygon = %s" % test.count()
但结果是:
Count of Polygon 1 = 4
Count of Polygon 2 = 12
Count of MultiPolygon = 237
为什么多边形1 + 2多边形不等于的MultiPolygon?
现在我明白了!谢谢!但是我怎样才能得到一个具有Polygon 1和Polygon 2覆盖点的查询集呢? – Anton
更新回答这个 – e4c5
嗯,它真的有用!我认为|它是OR并且我得到qb_1或qb_2,但它工作正确,因为我需要。谢谢! – Anton