我需要使用鼠标绘制多边形并在Google地图上标记特定区域.目的是在Google地图上标记一个区域,然后显示该区域的酒店和景点.用户将在创建它们时在Google地图上标记酒店,以便数据库具有纬度和经度.
如何绘制多边形并用颜色填充背景以在Google地图中标记区域?我已经阅读了API手册"如何绘制多边形?"基本上你需要标记多个点,然后将它们组合成一个多边形.但我需要使用鼠标拖动来完成此操作,就像绘制一个形状一样.请帮助我如何实现这一目标.
我有一些 GPS 数据,其中每个点都有一个值(就像空气质量一样)。我可以绘制这些点,例如用大叶,并将值映射到圆的大小,如下所示:
import pandas, numpy, folium
lat = numpy.random.uniform(45, 45.01, 250)
lon = numpy.random.uniform(3, 3.02, 250)
value = numpy.random.uniform(0,50,250)
df = pandas.DataFrame({'lat': lat, 'lon': lon, 'value': value})
mymap = folium.Map(location = [lat.mean(), lon.mean()], tiles="OpenStreetMap", zoom_start=14)
for elt in list(zip(df.lat, df.lon, df.value)):
folium.Circle(elt[:2], color="blue", radius=elt[2]).add_to(mymap)
mymap.save('mymap.html')
Run Code Online (Sandbox Code Playgroud)
我想处理这些数据,对其进行插值并创建一个 shapefile 作为输出,其中插值的多边形包含平均值并显示高值和低值区域(右侧的假图片)。当然,多边形的限制将通过插值自动生成。
我怎样才能实现这个目标?因为我尝试过在 folium 中使用 HeatMap 工具,但它的设计目的是插值点的密度,而不是与每个点关联的值!我希望它不会太复杂。谢谢,注意:我使用 folium,但我对其他 python 库没问题。