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

Converting the spatial reference system and units


Fortunately, we already did this kind of operation before and now we are going to adapt it to our data model.

We will transform the coordinates of the geometries only when they are needed. To perform the transformation, we will create a new utility function, as follows:

  1. Open geo_functions.py in our utils folder and create a new function:

    def transform_geometry(geom, src_epsg=4326, dst_epsg=3395):
        """Transforms a single wkb geometry.
    
        :param geom: wkb geom.
        :param src_epsg: EPSG code for the source geometry.
        :param dst_epsg: EPSG code for the destination geometry.
        """
        ogr_geom = ogr.CreateGeometryFromWkb(geom)
        ogr_transformation = create_transform(src_epsg, dst_epsg)
        ogr_geom.Transform(ogr_transformation)
        return ogr_geom.ExportToWkb()

    It takes as arguments geometries in the WKB format, its EPSG code, and the EPSG code for the desired coordinate system for the output. It performs the transformation and returns...