Book Image

Learning Geospatial Analysis with Python - Fourth Edition

By : Joel Lawhead
4 (1)
Book Image

Learning Geospatial Analysis with Python - Fourth Edition

4 (1)
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. In this special 10th anniversary edition, you'll embark on an exhilarating geospatial analysis adventure using Python. This fourth edition starts with the fundamental concepts, enhancing your expertise in geospatial analysis processes with the help of illustrations, basic formulas, and pseudocode for real-world applications. As you progress, you’ll explore the vast and intricate geospatial technology ecosystem, featuring thousands of software libraries and packages, each offering unique capabilities and insights. This book also explores practical Python GIS geospatial applications, remote sensing data, elevation data, and the dynamic world of geospatial modeling. It emphasizes the predictive and decision-making potential of geospatial technology, allowing you to visualize complex natural world concepts, such as environmental conservation, urban planning, and disaster management to make informed choices. You’ll also learn how to leverage Python to process real-time data and create valuable information products. By the end of this book, you'll have acquired the knowledge and techniques needed to build a complete geospatial application that can generate a report and can be further customized for different purposes.
Table of Contents (18 chapters)
1
Part 1:The History and the Present of the Industry
5
Part 2:Geospatial Analysis Concepts
11
Part 3:Practical Geospatial Processing Techniques

Performing GIS analysis faster with multiprocessing

Geospatial datasets are very large. Processing them can take time, which can be hours or sometimes even days. But there’s a way you can speed processing up for certain operations. Python’s built-in multiprocessing module can spawn multiple processes on your computer to take advantage of all of the available processors.

One operation that works really well with the multiprocessing module is geocoding. In this example, we’ll geocode a list of cities and split that processing across all of the processors on your machine. We’ll use the same geocoding technique as before, but this time, we’ll add the multiprocessing module to increase the potential for greater speed and scalability. The following code will geocode a list of cities simultaneously across multiple processors:

  1. First, we import the modules we need:
    from geopy.geocoders import Nominatim
  2. Next, we create our geocoder object, giving...