2
我得到了一個使用gis多邊形字段的模型。如何使用geodjango擴展或縮小多邊形?
boundary = models.PolygonField()
由於要求我需要允許用戶提供偏置/容差值。如何擴展或縮小這個多邊形而不用自己做數學?
謝謝!
我得到了一個使用gis多邊形字段的模型。如何使用geodjango擴展或縮小多邊形?
boundary = models.PolygonField()
由於要求我需要允許用戶提供偏置/容差值。如何擴展或縮小這個多邊形而不用自己做數學?
謝謝!
我相信Geometry.buffer是你在找什麼。
from django.contrib.gis.geos import Polygon
poly = Polygon.from_bbox((0, 0, 5, 5))
poly.extent # (0.0, 0.0, 5.0, 5.0)
p2 = poly.buffer(1)
p2.extent #(-1.0, -1.0, 6.0, 6.0)
如果你想縮小它,使用電話負值緩衝
太感謝你了,這正是我所期待的。你知道我可以如何在緩衝區上設置單位嗎?我可以做一些poly.buffer(D(km = 2))嗎?我查看了文檔和谷歌周圍,但我找不到任何東西。 –
如果緩衝距離很小,那麼經度和緯度等於110公里的經驗法則可能就足夠了(這隻適用於赤道)。如果你需要準確的措施,你需要選擇最好的SRID。 D只能在Geoquerysets中使用。但我敢說這種方式可能會變得更容易! – e4c5
謝謝!我無法在文檔中找到它;緩衝區在我的區域中通常具有不同的含義;-) –