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)

Geofencing with Plotly

Now that we have covered all of the components of geofencing, we can perform geofencing concepts in practice using our trajectory data. We will utilize the Plotly visualization library to animate trajectories and visualize our geofencing application. We will bring three polygons that denote different use cases: an airport, beach, and city center.

Masking

First, we need to create a mask where we store whether a certain point is inside the geofence or not. We first read the geofence_polygons from the dataset provided with Notebook. Upload it first in Google Colab:

geofence_polygons = gpd.read_file('geofence_polygons.gpkg')
geofence_polygons
Geofence polygons

Let's plot and overlay geofence_polygons...