如何使用 geodjango 扩展或缩小多边形?

Du *_* D. 2 django polygon geodjango

我使用 gis 多边形字段得到了一个带有字段的模型。

boundary = models.PolygonField()
Run Code Online (Sandbox Code Playgroud)

作为要求,我需要允许用户提供偏移/公差值。如何在不自己计算的情况下扩展或缩小此多边形?

谢谢!

e4c*_*4c5 5

我相信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)
Run Code Online (Sandbox Code Playgroud)

如果要缩小它,请在对缓冲区的调用中使用负值