唯杰地图 logo唯杰地图
VJMAP
EN

02_tiles_and_images.py

vjmap-service/examples/python/02_tiles_and_images.py 1.2 KB41 行
原文
"""示例 2:构造瓦片/WMS/缩略图 URL,并抓一张缩略图保存到本地。

用法:
    python 02_tiles_and_images.py [mapid] [version]
"""
from __future__ import annotations

import sys
from pathlib import Path

from _common import make_client, sample_mapid, sample_version


def main() -> None:
    svc = make_client()
    mapid = sys.argv[1] if len(sys.argv) > 1 else sample_mapid()
    version = sys.argv[2] if len(sys.argv) > 2 else sample_version()

    print(f"== 地图 {mapid}/{version} ==")

    raster = svc.raster_tile_url(mapid, version=version, layer="0")
    print("raster tile URL:\n ", raster)

    vector = svc.vector_tile_url(mapid, version=version)
    print("vector tile URL:\n ", vector)

    wms = svc.wms_tile_url(mapid, version=version, width=512, height=512)
    print("WMS tile URL:\n ", wms)

    thumb_url = svc.thumbnail_url(mapid, version=version, width=256, height=256)
    print("thumbnail URL:\n ", thumb_url)

    out = Path(__file__).with_name(f"_thumb_{mapid}_{version}.png")
    data = svc.thumbnail_bytes(mapid, version=version, width=256, height=256)
    out.write_bytes(data)
    print(f"缩略图已保存:{out.name}  ({len(data)} bytes)")


if __name__ == "__main__":
    main()