Book Image

Geospatial Data Science Quick Start Guide

By : Abdishakur Hassan, Jayakrishnan Vijayaraghavan
Book Image

Geospatial Data Science Quick Start Guide

By: Abdishakur Hassan, Jayakrishnan Vijayaraghavan

Overview of this book

Data scientists, who have access to vast data streams, are a bit myopic when it comes to intrinsic and extrinsic location-based data and are missing out on the intelligence it can provide to their models. This book demonstrates effective techniques for using the power of data science and geospatial intelligence to build effective, intelligent data models that make use of location-based data to give useful predictions and analyses. This book begins with a quick overview of the fundamentals of location-based data and how techniques such as Exploratory Data Analysis can be applied to it. We then delve into spatial operations such as computing distances, areas, extents, centroids, buffer polygons, intersecting geometries, geocoding, and more, which adds additional context to location data. Moving ahead, you will learn how to quickly build and deploy a geo-fencing system using Python. Lastly, you will learn how to leverage geospatial analysis techniques in popular recommendation systems such as collaborative filtering and location-based recommendations, and more. By the end of the book, you will be a rockstar when it comes to performing geospatial analysis with ease.
Table of Contents (9 chapters)

Shortest path analyses on the road network graph

In this section, we will be performing some of the analyses that we did earlier on the new graph, such as the following:

  • Dijkstra's shortest path analysis
  • Dijkstra's shortest path cost
  • Single-source Dijkstra's path length

Dijkstra's shortest path analysis

We have waited so long to perform the shortest path analysis on our graph. So, without further ado, let's run the shortest path algorithm on our graph, optimizing for time. To run the shortest path algorithm, we need to know the source node ID and target node ID. Here, our node IDs are coordinates. Right now, let's pick the node IDs randomly:

nodelist = list(G.nodes())
import random
random.seed...