zoukankan      html  css  js  c++  java
  • MapProxy的部署与TMS地图服务代理_做GIS梦的人

    从网上偶然看到,现在有一些专业的地图服务代理服务器,不仅可以本地缓存地图服务、地图瓦片,而且可以对地图服务进行重新投影切片等。瞬间得到一个启发,当前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文件夹,点进去可以看到都是缓存的瓦片
    缓存

    本文转自 https://blog.csdn.net/GISuuser/article/details/121394995,如有侵权,请联系删除。

  • 相关阅读:
    Python 语言规范(Google)
    Python 代码风格规范(Google)
    GBM,XGBoost,LightGBM
    面试编程总结
    MagicNotes:如何迈向工作的坦途
    番茄工作法:让时间变成你最好的朋友
    时间管理:如何高效地利用时间
    读点大脑科学,学会变得更聪明
    为什么我那么努力,吃了那么多苦,也没见那么优秀?(转自知乎)
    不要被懒惰夺走你的思考能力
  • 原文地址:https://www.cnblogs.com/hustshu/p/15576086.html
Copyright © 2011-2022 走看看