MapProxy的部署与TMS地图服务代理

从网上偶然看到,现在有一些专业的地图服务代理服务器,不仅可以本地缓存地图服务、地图瓦片,而且可以对地图服务进行重新投影切片等。瞬间得到一个启发,当前google在线地图不能使用的情况下,是否可以架设一个地图代理服务器,供自己内部使用呢?

地图代理服务,自己开发起来也简单,但是短时间内实现缓存、重投影等多重功能,还是不太可能的。这里就以MapProxy为例,简单介绍一下如何部署和实现代理。

参考网址

环境

  • windows 10
  • Python 3.9.5

部署

MapProxy在windows上的部署还是非常方便的,直接使用pip安装,电脑上只要有python环境就行。

# 安装 MapProxy
pip install MapProxy

# 由于PROJ通常在Windows系统上不可用,因此还需要安装Python包 `pyproj`
pip install pyproj

# 验证安装版本
mapproxy-util --version

# 创建MapProxy的配置文件:
mapproxy-util create -t base-config mymapproxy
#这句命令会创建一个名叫mymapproxy的文件夹,里面包含一个最小的示例配置(mapproxy.yaml 和 seed.yaml),以及两个完成的示例配置文件(full_example.yaml and full_seed_example.yaml)。

cd mymapproxy
mapproxy-util serve-develop mapproxy.yaml   #默认端口8080

# 指定端口启动
mapproxy-util serve-develop mapproxy.yaml  -b 0.0.0.0:8011

浏览器访问http://localhost:8080/#/ 就可以进入页面,如果想看代理的服务,直接点击demo

测试入口

测试代理地图服务

MapProxy支持对WMS、WMS-C、WTMS、TMS等服务的代理,所有的都只需要你在yml文件里配置,上手还是比较快的,对不懂开发人是很友好的。我的测试配置如下mapproxy.yaml

services:
  demo:
  tms:
    use_grid_names: true
    # origin for /tiles service
    origin: 'nw'
  kml:
      use_grid_names: true
  wmts:
  wms:
    md:
      title: MapProxy WMS Proxy
      abstract: This is a minimal MapProxy example.

layers:
  - name: osm_utm
    title: 智图测试
    sources: [osm_cache_tile]
caches:
  osm_cache_tile:
    grids: [osm_grid]
    # true会禁用本地缓存
    disable_storage: false
    # a tile source you want to reproject
    sources: [osm_source]

sources:
  osm_source:
    type: tile
    grid: osm_grid
    url:  https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/%(z)s/%(y)s/%(x)s   
grids:
    webmercator:
        base: GLOBAL_WEBMERCATOR
    osm_grid:
        base: GLOBAL_MERCATOR
        srs: 'EPSG:3857'
        origin: nw

globals:

这里一定要注意

对于TMS服务的url,一定是%(z)s/%(y)s/%(x)s这种格式的,不能是{z}/{y}/{x}

预览效果图

代理效果

查看本地mapproxy.yaml所在同级目录下,出现了一个cache_data文件夹,点进去可以看到都是缓存的瓦片
缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值