如何将嵌套的多边形从不同的GeoJSON文件关联到其父级?

时间:2018-07-20 23:01:46

标签: leaflet gis postgis

我有3个单独的GeoJSON文件,每个文件都包含一个多边形要素集。

第一个是地区,第二个是省,最后一个是公社。

因此,场景是:对于单击或缩放的每个区域,显示单击区域中的省份,然后显示带有区域的相同内容。

我正在使用Leaflet制作交互式地图。

我坚持如何将每个地区与他们的省联系起来。

有什么方法可以检测嵌套的多边形吗?

我需要数据库或服务器端分析吗?

1 个答案:

答案 0 :(得分:0)

欢迎您!

您希望能够告诉给定父/容器多边形的子多边形(“嵌套” ”),以便当用户单击后者时,您只能显示前者

最简单的方法是在您的GeoJSON数据属性中嵌入每个要素的一些ID,并为每个子项为其容器父级的ID,和/或为每个父项为其子级的数组(列表)。

如果您的GeoJSON数据尚未包含此类关联,则可以对其进行一次重构以使其可用。无论是在GIS软件中,还是直接使用客户端库,您都有许多方法可以这样做。例如。看看http://turfjs.org/及其booleanContains方法:

  如果第二个几何完全包含在第一个几何中,则

Boolean-contains返回True。两个几何的内部必须相交,并且次要几何的内部和边界(几何b)不得与主要几何的外部(几何a)相交。