以上是常用的一些参数,而最常用的莫过于 location 、 zoom_start 和 tiles 等。
内建地图样式还有一下几种:
-
“OpenStreetMap”
-
“Mapbox Bright”(Limited levels of zoom forfree tiles)
-
“Mapbox Control Room”(Limited levels of zoom forfree tiles)
-
“Stamen”(Terrain, Toner, andWatercolor)
-
“Cloudmade”(Must passAPI key)
-
“Mapbox”(Must passAPI key)
-
“CartoDB”(positron anddark_matter)
我们简单试下 location 和 zoo_start 参数:
importfolium
m = folium.Map([ 40.002694, 116.322373],
zoom_start= 15,
control_scale= True
)
m
可以看到 清华大学校区
清华大学校区
以上对 Map 的参数进行了简单的介绍,接下来,我们就来看看地图底图样式的选取情况吧~
- 内建地图底图样式
我们看到 folium 其实有好几种内建地图底图样式,其中部分需要去申请 key ,由于我这边没有申请成功就不做演示了。
“OpenStreetMap”
“Mapbox Bright” (Limited levels of zoom for free tiles)
“Mapbox Control Room” (Limited levels of zoom for free tiles)
“Stamen” (Terrain, Toner, and Watercolor)
“Cloudmade” (Must pass API key)
“Mapbox” (Must pass API key)
“CartoDB” (positron and dark_matter)
地势地形底图
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘Stamen Terrain’,
zoom_start= 15,
control_scale= True
)
m
黑白无标记底图
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘Stamen Toner’,
zoom_start= 15,
control_scale= True
)
m
水墨画底图
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘Stamen Watercolor’,
zoom_start= 15,
control_scale= True
)
m
以上就是内建地图底图样式的一些展示,部分需要key的大家可以去这个网站申请:
http://openwhatevermap.xyz/(可惜我上不去)
另外,在这里也可以找到一些地图底图
http://leaflet-extras.github.io/leaflet-providers/preview/
我后续也会去研究这些地图底图样式,试着分享更多有趣的地图分享给大家。
当然了,国内咱们用的较多的地图是高德、百度和腾讯地图等,接下来我们就来玩玩!
- 多种第三方地图底图样式
这里我将演示高德地图、智图GeoQ和腾讯地图等
4.1. 高德地图
高德地图的 中英文地图、卫星影像图、街道图与常规图
中英文地图
folium.Map([ 40.002694, 116.322373],
tiles= ‘https://webrd02.is.autonavi.com/appmaptile?lang=zh_en&size=1&scale=1&style=8&x={x}&y={y}&z={z}’,
attr= ‘高德-中英文对照’,
zoom_start= 15,
)
纯英文地图
folium.Map([ 40.002694, 116.322373],
tiles= ‘https://webrd02.is.autonavi.com/appmaptile?lang=en&size=1&scale=1&style=8&x={x}&y={y}&z={z}’,
attr= ‘高德-纯英文对照’,
zoom_start= 15,
)
卫星影像图
tiles = ‘https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}’
folium.Map([ 40.002694, 116.322373],
tiles= tiles,
attr= ‘高德-卫星影像图’,
zoom_start= 15,
)
街道图
folium.Map([ 40.002694, 116.322373],
tiles= ‘https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8<ype=11’,
attr= ‘高德-街道路网图’,
zoom_start= 10,
)
常规图
folium.Map([ 40.002694, 116.322373],
tiles= ‘https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7’,
attr= ‘高德-常规图’,
zoom_start= 15,
)
4.2. 智图GeoQ
反正我觉得这个蛮好的,用起来简单
多种风格地图,即拿即用
彩色版
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}’,
attr= ‘彩色版’,
zoom_start= 15,
)
m
暖色版
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}’,
attr= ‘暖色版’,
zoom_start= 15,
)
m
灰色版
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}’,
attr= ‘灰色版’,
zoom_start= 15,
)
m
蓝黑版
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}’,
attr= ‘蓝黑版’,
zoom_start= 15,
)
m
英文版
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunityENG/MapServer/tile/{z}/{y}/{x}’,
attr= ‘英文版’,
zoom_start= 15,
)
m
中国行政区划边界
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://thematic.geoq.cn/arcgis/rest/services/ThematicMaps/administrative_division_boundaryandlabel/MapServer/tile/{z}/{y}/{x}’,
attr= ‘中国行政区划边界’,
)
m
水系专题
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://thematic.geoq.cn/arcgis/rest/services/ThematicMaps/WorldHydroMap/MapServer/tile/{z}/{y}/{x}’,
attr= ‘水系专题’,
)
m
街道网图
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://thematic.geoq.cn/arcgis/rest/services/StreetThematicMaps/Gray_OnlySymbol/MapServer/tile/{z}/{y}/{x}’,
attr= ‘街道网图’,
)
m
暖色街道网图
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://thematic.geoq.cn/arcgis/rest/services/StreetThematicMaps/Warm_OnlySymbol/MapServer/tile/{z}/{y}/{x}’,
attr= ‘暖色-街道网图’,
)
m
4.3. 腾讯地图tiles = ‘https://rt0.map.gtimg.com/tile?z={z}&x={x}&y={-y}’
folium.Map([ 39.904989, 116.405285],
tiles= tiles,
attr= ‘腾讯地图’
)
4.4. 天地图
https://www.tianditu.gov.cn/
需要注册一个key
天地图影像
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-影像’
)
m
天地图影像注记
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-影像标注’
)
m
天地图矢量
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-矢量’,
zoom_start= 10,
)
m
天地图矢量注记
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-矢量注记’
)
m
天地图地形
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-地形’,
zoom_start= 3,
)
m
天地图地形注记
m = folium.Map([ 40.002694, 116.322373],
tiles= ‘http://t7.tianditu.gov.cn/cta_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cta&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=’,
attr= ‘天地图-地形标记’,
zoom_start= 3,
)
m
百度地图我这边测试失败了,暂时没有找到合适的替换方案。
- 补充
其实,我们还可以找更多的 地图底图瓦片URL来进行替换,多样化我们的地图绘制。
另外,大家在用经纬度坐标点进行地图绘制的时候,比如标记点、绘制区域、热力图绘制等等, 需要考虑经纬度坐标是哪个地图系下面的,然后再用对应地图系的相关底图进行绘制才准确