可以用大叶在多边形上切孔吗?

时间:2019-11-11 16:00:13

标签: python-3.x folium

我正在Python 3中使用Folium在地图上绘制形状。 我想绘制一个多边形,然后使用另一个多边形在其中切出一个“孔”。

下面的代码一个在另一个上绘制两个多边形。有没有一种方法可以将它们组合在一起,以便仅绘制第一个多边形中未被第二个多边形覆盖的部分?

import folium

cornerA=[0, 0]
cornerB=[0, 1]
cornerC=[1, 1]
cornerD=[1, 0]

m = folium.Map(location=cornerA, tiles="OpenStreetMap", zoom_start=8)

border_1=[cornerA,cornerB,cornerC,cornerD]
folium.vector_layers.Polygon(border_1,color='red',fill_color='red',fill_opacity=0.5,weight=4).add_to(m)

cornerE=[0.25,0.25]
cornerF=[0.25,0.5]
cornerG=[0.5,0.5]
cornerH=[0.5,0.25]
border_2=[cornerE,cornerF,cornerG,cornerH]
folium.vector_layers.Polygon(border_2,color='blue',fill_color='blue',fill_opacity=0.5,weight=4).add_to(m)
m.save('My_map.html') 

一种解决方法是在每个角上明确地组合所需的多边形,但这并不实际。

m = folium.Map(location=cornerA, tiles="OpenStreetMap", zoom_start=8)
border_3=[cornerA,cornerE,cornerF,cornerG,cornerH,cornerE,cornerA,cornerB,cornerC,cornerD]
folium.vector_layers.Polygon(border_3,color='blue',fill_color='blue',fill_opacity=0.5,weight=4).add_to(m)
m.save('My_map.html') 

感谢您的帮助。 谢谢!

0 个答案:

没有答案