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

时间:2016-04-26 19:22:58

标签: django polygon geodjango

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

boundary = models.PolygonField()

根据要求,我需要允许用户提供偏移/容差值。如何在不自行完成数学的情况下展开或缩小此多边形?

谢谢!

1 个答案:

答案 0 :(得分:3)

我相信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)

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