我有3个单独的GeoJSON文件,每个文件都包含一个多边形要素集。
第一个是地区,第二个是省,最后一个是公社。
因此,场景是:对于单击或缩放的每个区域,显示单击区域中的省份,然后显示带有区域的相同内容。
我正在使用Leaflet制作交互式地图。
我坚持如何将每个地区与他们的省联系起来。
有什么方法可以检测嵌套的多边形吗?
我需要数据库或服务器端分析吗?
答案 0 :(得分:0)
欢迎您!
您希望能够告诉给定父/容器多边形的子多边形(“嵌套” ”),以便当用户单击后者时,您只能显示前者
最简单的方法是在您的GeoJSON数据属性中嵌入每个要素的一些ID,并为每个子项为其容器父级的ID,和/或为每个父项为其子级的数组(列表)。
如果您的GeoJSON数据尚未包含此类关联,则可以对其进行一次重构以使其可用。无论是在GIS软件中,还是直接使用客户端库,您都有许多方法可以这样做。例如。看看http://turfjs.org/及其booleanContains
方法:
如果第二个几何完全包含在第一个几何中,则Boolean-contains返回True。两个几何的内部必须相交,并且次要几何的内部和边界(几何b)不得与主要几何的外部(几何a)相交。