Book Image

Learning Geospatial Analysis with Python - Third Edition

By : Joel Lawhead
Book Image

Learning Geospatial Analysis with Python - Third Edition

By: Joel Lawhead

Overview of this book

Geospatial analysis is used in almost every domain you can think of, including defense, farming, and even medicine. With this systematic guide, you'll get started with geographic information system (GIS) and remote sensing analysis using the latest features in Python. This book will take you through GIS techniques, geodatabases, geospatial raster data, and much more using the latest built-in tools and libraries in Python 3.7. You'll learn everything you need to know about using software packages or APIs and generic algorithms that can be used for different situations. Furthermore, you'll learn how to apply simple Python GIS geospatial processes to a variety of problems, and work with remote sensing data. By the end of the book, you'll be able to build a generic corporate system, which can be implemented in any organization to manage customer support requests and field support personnel.
Table of Contents (15 chapters)
Free Chapter
1
Section 1: The History and the Present of the Industry
5
Section 2: Geospatial Analysis Concepts
10
Section 3: Practical Geospatial Processing Techniques

Installing third-party Python modules

Modules written in pure Python (using the standard library) will mostly run on any of the 20 platforms that the Python (https://www.python.org/) website mentions. Each time you add a third-party module that relies on bindings to external libraries in other languages, you reduce Python's inherent portability. You also add a layer of complexity to fundamentally change the code by adding another language into the mix. Pure Python keeps things simple. Also, Python bindings to external libraries tend to be automatically or semi-automatically generated.

These automatically generated bindings are very generic and esoteric, and they simply connect Python to a C/C++ API using the method names from that API, instead of following the best practices for Python. There are, of course, notable exceptions to this approach that are driven by project requirements...