Python与开源GIS:Mapnik概述


发布日期 : 2017-04-03 13:57:21 UTC

访问量: 319 次浏览

Python与开源GIS教程的内容,开发了单独的内容,请打开 https://www.osgeo.cn/pygis/ 查看。
本页面的内容不再更新。



Mapnik是一个强大的使用地理空间数据创建地图的强大工具包 ,
其核心是一个 C++ 的共享库提供空间数据访问和可视化的算法和模式,
特别是包含一些地理对象,如地图、层、数据源、特征和地理几何等。
它提供了一些功能,可以用来设计具有良好视觉效果的地图。
Mapnik会产生地图,地图对象是Mapnik的API的核心。
地图对象提供了生成图像输出格式的方法(通常是PNG或者是PDF)。

Mapnik的应用主要包括三个方面:它可以作为一个 C++ 代码的共享库;
它可以用来编写 Python 脚本;
还可以用来编写和处理 XML 配置文件。

Mapnik地图内部有很多图层,每一层都与数据源密切相关。
每种典型的数据源(例如,Shapefile数据源、in-memory数据源、
Raster数据源)都具有多种要素(如点、线、面等)。一个数据
源可以指示一个shapefile文件、空间数据库、光栅图像文件或
大量的其他空间数据源。在大多数情况下,建立一个数据源层是
很容易的。

理解 Mapnik 的工作机制必须注意,使用Mapnik来渲染地图时顺序
非常重要。它使用Painter算法来决定Z轴次序,即图层按一定顺序
描绘,“顶”层在其他层之上,最后描绘。

在每一层中,地理空间数据可视化的显示是通过一种叫做symbolizer
的东西控制的。虽然在Mapnik有许多不同类型的symbolizers可以利用,
但是我们这里感兴趣的是三种symbolizers。

一种样式定义了图层中对象是怎么渲染的。一种样式包含了一种或多种规则,
可以有选择性的限制其输出。过滤出数据源提供的对象的一个子集。例如
只显示那些具有特殊属性的对象。过滤式可以选择的--对于简单的地图通
常每层有一个规则,再没有其他的过滤器。每一个规则持有一个或者多个符号,
这是用于在实际输出时绘制几何图形的。根据符号类和设置几何图型可以以
很多种形式产生。

返回目录:Python与开源GIS