Book Image

Mastering Geospatial Analysis with Python

By : Silas Toms, Paul Crickard, Eric van Rees
Book Image

Mastering Geospatial Analysis with Python

By: Silas Toms, Paul Crickard, Eric van Rees

Overview of this book

Python comes with a host of open source libraries and tools that help you work on professional geoprocessing tasks without investing in expensive tools. This book will introduce Python developers, both new and experienced, to a variety of new code libraries that have been developed to perform geospatial analysis, statistical analysis, and data management. This book will use examples and code snippets that will help explain how Python 3 differs from Python 2, and how these new code libraries can be used to solve age-old problems in geospatial analysis. You will begin by understanding what geoprocessing is and explore the tools and libraries that Python 3 offers. You will then learn to use Python code libraries to read and write geospatial data. You will then learn to perform geospatial queries within databases and learn PyQGIS to automate analysis within the QGIS mapping suite. Moving forward, you will explore the newly released ArcGIS API for Python and ArcGIS Online to perform geospatial analysis and create ArcGIS Online web maps. Further, you will deep dive into Python Geospatial web frameworks and learn to create a geospatial REST API.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
7
Geoprocessing with Geodatabases
Index

Shapely and Fiona


The Shapely and Fiona libraries have been introduced in Chapter 2Introduction to Geospatial Code Libraries, in the sections Shapely and Fiona. It makes sense to cover both of them together, as Shapely depends on other libraries for reading and writing files and Fiona fits the bill. As we'll see in the examples, we can use Fiona to open and read files and then pass geometry data to Shapely objects.

Shapely objects and classes

The Shapely library is used for creating and manipulating 2D vector data without the need for a spatial database. Not only does it do away with a database, it also does away with projections and data formats, focusing on geometry only. The strength of Shapely is that it uses easily-readable syntax to create a variety of geometries that can be used for geometric operations.

With the aid of other Python packages, these geometries and the results of geometric operations can be written to a vector file format and projected if necessary—we'll cover examples...