基于另一个几何体使用geodjango切片几何体
我已经建立了一个PostgreSQL数据库,正在使用Geodjango与保存在此数据库中的几何体进行交互。我的用例如下所示:基于另一个几何体使用geodjango切片几何体,django,geodjango,Django,Geodjango,我已经建立了一个PostgreSQL数据库,正在使用Geodjango与保存在此数据库中的几何体进行交互。我的用例如下所示: sliced_geometry = parks.intersection(region_boundaries) 在数据库中,我有一个复杂的、巨大的多多边形,包含全国所有的公园这包含在单个几何体字段中 我有另一个记录,其中包含我所在区域的边界 我想做的是以某种方式截断/切片多多边形,以便它删除那些不在边界内的多边形 示例代码: region = Shapefile.o
sliced_geometry = parks.intersection(region_boundaries)
- 在数据库中,我有一个复杂的、巨大的多多边形,包含全国所有的公园这包含在单个几何体字段中
- 我有另一个记录,其中包含我所在区域的边界
- 我想做的是以某种方式截断/切片多多边形,以便它删除那些不在边界内的多边形
region = Shapefile.objects.get(pk=1)
region_boundaries = region.geometry # this contains the boundaries for the region
all_parks_in_country = Shapefile.objects.get(pk=2)
parks = all_parks_in_country.geometry # and this one now has all the national parks
sliced_geometry = ...
# .... And here is where I am stuck!
我在下面提供视觉效果。请注意,我正在尝试在视图中获取切片几何体,在Python中——一旦有了切片几何体,我将根据需要使用它(在HTML文件或任何需要的地方显示它)
第一张地图显示了整个国家和绿色的国家公园
第二张地图以紫色轮廓显示了我所在地区的边界
第三张地图以红色显示了国家公园的多多边形(部分),理想情况下,这些多边形应该从国家几何中“切割”出来
由于已隔离几何图形,因此可以对其使用GEOS API方法 方法: 返回表示此几何图形与“其他”共享的点的几何图形 因此,您可以采用“切片”几何图形,如下所示:
sliced_geometry = parks.intersection(region_boundaries)
这是100%的惊人。。。这么简单,快速,准确地说是我想要做的。。。谢谢@用户74934乐意帮忙:D