GeoPandas制作交互式地图一、 命令介绍GeoPandas制作交互地图主要用explore命令,explore命令相当于matplotlib里的plot命令,使用它可以让geopandas的对象GeoSeries和GeoDataFrame绘制的图形嵌入到在线地图工具folium地图上,同时他们返回的都是folium地图对象。下面分别介绍GeoSeries.explore()和GeoDataFrame.explore()。GeoSeries.explore包含以下参数:color:绘图对象的颜色列表。m:已经生成的folium.Map对象。tiles:指定folium工具支持的地图底图,包括["OpenStreetMap", "Stamen Terrain", “Stamen Toner", “Stamen Watercolor" "CartoDB positron", “CartoDB dark_matter"]等等。attr:使用瓦片地图时需要指定该参数。width:生成的folium.Map宽度。height:生成的folium.Map高度。marker_type:标记类型字符串,可以是folium.Circle, folium.CircleMarker, folium.Marker ,默认是没有。marker_kwds:使用字典类型标记marker_type的半径,颜色等等。style_kwds:指定其他的样式给folium.Map通过函数,包括color、fillcolor、weight、opacity、fillOpacity等等。GeoDataFrame.explore()包含以下参数:column:需要绘制的数据,可以使用以下数据格式:dataframe column, numpy.array, or pandas.Series。cmap:颜色列表。可以是matplotlib.Colormap, branca.colormap or function。函数如下:def my_colormap(value): # scalar value defined in 'column'if value > 1:return "green"return "red"m:同GeoSeries.explore。tiles:同GeoSeries.explore。attr:同GeoSeries.explore。width:同GeoSeries.explore。height:同GeoSeries.explore。marker_type:同GeoSeries.explore。marker_kwds: 同GeoSeries.explore。style_kwds:同GeoSeries.explore。categorical:布尔类型(默认是False)。如果是False,cmap会显示数字型的,否则是显示分类型的。legend:bool类型,是否显示图例。scheme:choropleth地图分类类型,支持以下分类类型: 'BoxPlot', 'EqualInterval', 'FisherJenks', 'FisherJenksSampled', 'HeadTailBreaks', 'JenksCaspall', 'JenksCaspallForced', 'JenksCaspallSampled', 'MaxP', 'MaximumBreaks', 'NaturalBreaks', 'Quantiles', 'Percentiles', 'StdMean', 'UserDefined'。K:scheme对应的类别数。vmin:cmap对应的最小值,如果不指定的话就是column数据对应的最小值。vmax:cmap对应的最大值,如果不指定的话就是column数据对应的最大值。legend_kwds:图例设置。包含标题(caption:)字符类型,颜色条(colorbar:)布尔类型如果是True显示连续的颜色条,否则显示分类类型的颜色条。小标题(labels:)list类型。二、 利用GeoSeries.explore绘制台风路径图从网站https://tcdata.typhoon.org.cn/zjljsjj_zlhq.html下载2018年台风路径数据,并且整理成.csv文件格式的数据并保存,导入数据。import pandas as pddata=pd.read_csv("d:/rumbia.csv",encoding="gb18030")将dataframe格式的经纬度数据转换成GeoSeries的数据格式。import shapely.geometry as sgeoimport geopandas as gp#track=sgeo.LineString(zip(data.lat/10,data.lon/10))track=sgeo.LineString(zip(data.lon/10,data.lat/10))track_buffer=track.buffer(2)geos_track=gp.GeoSeries(track)geos_track_buffer=gp.GeoSeries(track_buffer)给台风路线图添加交互式folium底图。tiles = 'https://rt0.map.gtimg.com/tile?z={z}&x={x}&y={-y}'m=folium.Map(location=[30, 120],zoom_start=4,tiles=tiles, attr='腾讯地图')再添加台风路线图:mtf=geos_track.explore(color="red",m=m)mtfy=geos_track_buffer.explore(color="grey",m=mtf)mtfy.save("d:/rumbia.html") 2018年温比亚台风路径图(Rumbia)
本文出自快速备案,转载时请注明出处及相应链接。