首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mapnik和PostGIS创建maproxy OGC WMS服务的python脚本

使用Mapnik和PostGIS创建maproxy OGC WMS服务的python脚本
EN

Stack Overflow用户
提问于 2016-07-22 10:32:20
回答 2查看 732关注 0票数 0

是否有可能通过以下方式以编程方式创建一个新的OGC WMS (1.1/1/3)服务:

  1. Python
  2. MapProxy
  3. 马普尼克
  4. PostGIS/Postgres

任何脚本/要点或示例都会受到更多的赞赏。

干杯,M

EN

回答 2

Stack Overflow用户

发布于 2016-08-25 07:41:09

一般来说,一切都是关于配置文件的。我使用python脚本为Mapserver/Mapproxy设置自动创建新的WMS端点,该脚本也处理我的图像。

MapServer配置-模式:

代码语言:javascript
复制
MAP
  NAME "WMS Server"
  #IMAGECOLOR 255 255 255
  IMAGETYPE custom
  TRANSPARENT OFF
  CONFIG "MS_ERRORFILE" [error.txt]
  EXTENT [Extent]
  SIZE 800 600
  WEB
    METADATA
      "wms_title"           [title]
      "wms_srs"             [epsg]
      "wms_enable_request"  "*"
    END
  END
  PROJECTION
    "init=[epsg]"
  END

  INCLUDE [layer list]

  OUTPUTFORMAT
    NAME "custom"
    DRIVER "GDAL/GTiff"
    MIMETYPE "image/tiff"
    IMAGEMODE RGBA
    TRANSPARENT ON
    EXTENSION "tif"
    FORMATOPTION "GAMMA=1.0"
  END
END

Mapproxy配置-模式:

代码语言:javascript
复制
caches:
  [cache folder]:
    cache:
      directory_layout: tms
      type: file
    grids:
    - webmercator
    image:
      format: image/png
      mode: RGBA
      resampling_method: bilinear
      encoding_options:
        jpeg_quality: 100
      transparent: true
    meta_size:
    - 2
    - 2
    sources:
    - [source]
globals:
  cache:
    base_dir: [base dir]
    lock_dir: [lock dir]
    tile_lock_dir: [tile lock dir]
  image:
    paletted: false
grids:
  webmercator:
    base: GLOBAL_WEBMERCATOR
    num_levels: 22
layers:
- name: [layer name]
  sources:
  - [cache]
  title: [title]
services:
  demo: null
  wms:
    md:
      abstract: This is a minimal MapProxy example.
      title: MapProxy WMS Proxy
    srs:
    - [epsg]
sources:
  45_source:
    coverage:
      datasource: [coverage datasource]
      srs: [epsg]
    mapserver:
      binary: [mapserver binary]
      working_dir: /
    req:
      layers: [mapserver layer name]
      map: [mapserver mapfile]
      transparent: true
    supported_formats:
    - image/tiff
    supported_srs:
    - [epsg]
    type: mapserver

您所要做的就是将配置分成不同的部分,然后可以使用python脚本进行编辑。

票数 0
EN

Stack Overflow用户

发布于 2016-09-09 18:10:04

如果我们正在寻找将postgres中的数据发布到WMS,启用tilecache,并使用更高级的呈现引擎(如mapnik ),那么我想说,可能缺少一个组件是GIS服务器。

因此,如果我前面提到的您的需求是正确的,那么下面是系统设计的内容:

  1. 使用postgres/postgis作为数据库连接。
  2. 使用python编写自己的服务器端程序,为动态WMS创建服务定义文件(如果要使用MapServer,则为mapfile)。
  3. 然后,您的程序通过更改mapproxy中的配置文件(.yaml)来处理tilecache/tile种子。
  4. 然后将WMS升级为mapnik,用于呈现和公开输出。就像其他人提到的那样,每个步骤都有一个模板配置文件并进行参数替换是很容易的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38524212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档