Book Image

Geospatial Analysis with SQL

By : Bonny P McClain
Book Image

Geospatial Analysis with SQL

By: Bonny P McClain

Overview of this book

Geospatial analysis is industry agnostic and a powerful tool for answering location questions. Combined with the power of SQL, developers and analysts worldwide rely on database integration to solve real-world spatial problems. This book introduces skills to help you detect and quantify patterns in datasets through data exploration, visualization, data engineering, and the application of analysis and spatial techniques. You will begin by exploring the fundamentals of geospatial analysis where you’ll learn about the importance of geospatial analysis and how location information enhances data exploration. Walter Tobler’s second law of geography states, “the phenomenon external to a geographic area of interest affects what goes on inside.” This quote will be the framework of the geospatial questions we will explore. You’ll then observe the framework of geospatial analysis using SQL while learning to create spatial databases and SQL queries and functions. By the end of this book, you will have an expanded toolbox of analytic skills such as PostGIS and QGIS to explore data questions and analysis of spatial information.
Table of Contents (13 chapters)
Free Chapter
Section 1: Getting Started with Geospatial Analytics
Section 2: SQL for Spatial Analytics

Connecting to databases and executing SQL queries

There is an ST_ spatial prefix, which stands for Spatial Type, on all evolving PostGIS functions.

This evolution is aligned with the ISO standard SQL-MM defining the spatial type and associated routines. In this case, MM stands for multimedia.

This is all you need to know about it because all prior formats have been deprecated (and are tolerated but not supported). Not all of the functions will automatically spatially index but fortunately for us, the most popular ones do. The && operator in Figure 3.3 selects bounding boxes that overlap or touch. The operator is an index-only query.

Now run the following code and notice how many rows are returned. The output for Figure 3.3 yields 2,790 rows that meet the criteria of having extremely low-income units.

SELECT * FROM ch3."Affordable_Housing_Production_by_Building" borough
JOIN ch3."DOHMH_Indoor_Environmental_Complaints" Incident_Address_Borough...