Skip to content

TileMap can crawl tiles based on bbox and add those tiles as basemap to matplotlib figures or write tile maps to disk into xyz format.

Notifications You must be signed in to change notification settings

wenke727/TileMap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TileMap

TileMap can crawl tiles based on bbox and add those tiles as basemap to matplotlib figures or write tile maps to disk into geospatial raster files. Bounding boxes can be passed in both GCJ02/WGS84 (EPSG:4326) and Spheric Mercator (EPSG:3857).

地图样式

安装

sh install.sh

调用说明

下载瓦片

from tilemap import TileMap, providers

# 定义瓦片提供服务商信息,以及瓦片存储位置
tile = TileMap(provider=providers.Amap.Normal, cache_folder='./tiles)

# 需要获取瓦片额范围
west, south, east, north = (
    113.93329,22.57102,
    113.94413,22.58131
)

# zoom 下载瓦片的级别,ll 表示 [west, south, east, north] 输入为经纬度
tile.bounds2img(west, south, east, north, zoom=18, ll=True)

背景瓦片绘制

  • 单通道
from tilemap import vis_geodata, providers

_, ax = vis_geodata(gdf, df, figsize=(6,6), alpha=.4, color='red', attribution=False, reset_extent=False)
ax.axis('off')
  • 双通道:高德卫星影像 + 高德地图标识
fig, ax = vis_geodata(df, figsize=(6,6), alpha=.4, color='red', attribution=False, reset_extent=False)
add_basemap(ax, provider=providers.Amap.Normal, attribution=False)
ax.axis('off')

瓦片定义

定义文件 ./tilemap/_providers.py, 目前配置了三个瓦片源: OpenStreetMap, 高德卫星瓦片,高德基础地图

providers = Bunch(
    OpenStreetMap = Bunch(
        Mapnik = TileProvider(
            url = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
            sys='wgs',
            subdomains = 'abc',
            max_zoom = 18,
            attribution = '(C) OpenStreetMap contributors',
            name = 'OpenStreetMap.Mapnik'
        )
    ),
    Amap = Bunch(
        Satellite = TileProvider(
            # &size=1&scale=1
            url = 'http://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
            sys='gcj',
            max_zoom = 18,
            subdomains = '1234',
            attribution = '(C) AutoNavi',
            describe='style=6为影像图, style=7为矢量路网, style=8为影像路网',
            name = 'Amap.Satellite'
        ),
        Normal = TileProvider(
            url = 'http://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}',
            sys='gcj',
            max_zoom = 18,
            subdomains = '1234',
            attribution = '(C) AutoNavi',
            describe='style=6为影像图, style=7为矢量路网, style=8为影像路网',
            name = 'Amap.Normal'
        )
        
    )
)

About

TileMap can crawl tiles based on bbox and add those tiles as basemap to matplotlib figures or write tile maps to disk into xyz format.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published