Python与开源GIS:Mapnik概述

Python与开源GIS

Python与开源GIS:Mapnik概述

2019-10-28 作者: xuzhiping 浏览: 2954 次

摘要: Python与开源GIS教程的内容,开发了单独的内容,请打开 https://www.osgeo.cn/pygis/ 查看。 本页面的内容不再更新。 Mapnik是一个强大的使用地理空间数据创建地图的强大工具包 ,其核心是一个 C++ 的共享....

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

随机推荐

Copyright © 2014-2019 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS