Book Image

Geospatial Development By Example with Python

By : Pablo Carreira
5 (1)
Book Image

Geospatial Development By Example with Python

5 (1)
By: Pablo Carreira

Overview of this book

From Python programming good practices to the advanced use of analysis packages, this book teaches you how to write applications that will perform complex geoprocessing tasks that can be replicated and reused. Much more than simple scripts, you will write functions to import data, create Python classes that represent your features, and learn how to combine and filter them. With pluggable mechanisms, you will learn how to visualize data and the results of analysis in beautiful maps that can be batch-generated and embedded into documents or web pages. Finally, you will learn how to consume and process an enormous amount of data very efficiently by using advanced tools and modern computers’ parallel processing capabilities.
Table of Contents (17 chapters)
Geospatial Development By Example with Python
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using Python objects as a source of data


Tip

Mapnik for Windows does not come with the Python Datasource plugin and a workaround will be provided for Windows users; just follow the steps.

Data is represented internally on Mapnik by a Datasource object. This object is responsible for accessing the source of the data (for example, a file containing the data, a database, and so on) and transforming the features provided by this source of data into Feature objects. In turn, the Feature object contains a geometry and a number of properties (attributes). This organization is very similar to what we have seen in Chapter 4, Improving the App Search Capabilities, in the topic How geographic data is represented.

If we could hack into a Datasource and provide the features the way we want, we would be able to make Mapnik use Python objects that we provide as a source of data.

The advantage of using a Python object as a Datasource, instead of a file for example, is that we can perform any kind of transformation...