美文网首页GIS相关Geomatics(GIS,GPS,RS,Surveying)
Mapnik 笔记一: 入门及python接口使用

Mapnik 笔记一: 入门及python接口使用

作者: brandonxiang | 来源:发表于2016-05-16 12:55 被阅读2132次

    mapnik 笔记一: 入门及python接口使用

    mapnik是个地图渲染的工具,底层C++,顶层有各种各样的API接口,包括pythonnode.js等。作为地图渲染引擎,有着举足轻重的地位。mapnik主要完成的是矢量数据转成栅格数据的过程。

    注意,没有测绘资质的单位,不能发布公开的电子地图。

    安装

    mac和ubuntu安装

    mac和ubuntu等系统的安装较为简单,不做赘述,详情参考

    windows安装

    Windows安装的详情参考,步骤如下:

    • 下载二进制文件
    • 解压到C:\mapnik-v2.2.0\\或自定义位置
    • C:\mapnik-v2.2.0\binC:\mapnik-v2.2.0\lib加入环境变量中
    • python接口配置,将C:\mapnik-v2.2.0\python\2.7\site-packages复制到对应python的Lib\site-packages
    • 注意将paths.py中的路径修改,由于原始路径适用

    注意,由于mapnik是32的dll文件,python也需要是32位,所以python的要求版本是32位2.7版。

    python接口使用

    你可以直接使用python进行矢量数据的样式控制,生成栅格瓦片地图,参考rundemo.py,该文件位于你的安装文件的demo中。参考在Windows 7 上安装 Mapnik

    基本操作

    文章搭建地图服务器(使用Mapnik)介绍了基本的Mapnik操作。相对来说,是一个很不错的基础操作。

    瓦片输出

    但是,既然如此,你还是不知道如何去做一个自己配色的地图。openstreetmap/mapnik-stylesheets提供了具体的generate_tiles.py,这个脚本就是一个对瓦片的范围,Zoom级别进行控制。主要函数render_tiles的如下:

    def render_tiles(bbox, mapfile, tile_dir, minZoom=1,maxZoom=18, name="unknown", num_threads=NUM_THREADS, tms_scheme=False):
    """
    bbox是指对应的限制区域,取决于你的地图范围
    mapfile是xml的地图文件,包含对应的shp文件和样式参数
    tile_dir是输出的瓦片文件数据
    minZoom是最小的Zoom级别
    maxZoom是最大的Zoom级别
    其它你自己研究吧
    """
    

    最重要的是xml的地图文件,这个文件格式很繁琐。该文件可以通过TillMill获得,这种方法相对简单。

    参考

    转载,请表明出处。总目录Awesome GIS

    相关文章

      网友评论

      • mj_selina:你好,请问bin和lib文件夹在哪里呢?我官方下载的mapnik里没有这两个文件夹啊???
        brandonxiang:我这是相对于旧版,新版的看官方文档比较好。
      • 王佳默_May:请问一下,mapnik用到的XML文件只能手写吗,有没有软件可以自动生成导出?拜托啦
        brandonxiang:@王佳默_May 我记得qgis有,别的软件也有
      • CFY:谢谢分享

      本文标题:Mapnik 笔记一: 入门及python接口使用

      本文链接:https://www.haomeiwen.com/subject/pljbrttx.html