Distance and near

In the previous section, you had the database buffer a point and return the polygon. In this section, you will learn how to query the database for the distance between two points, and you will query the database and have it return records based on the distance from a specified point.

The PostGIS function for distance is ST_Distance(a,b). You can pass a and b as geometry or geography. As geography, the result will be returned in meters. The following code will get the distance between two points in the database:

cursor.execute("SELECT ST_Distance(a.location::geography,b.location::geography) FROM art_pieces a, art_pieces b where a.name='101' AND b.name='102'")dist=cursor.fetchall()dist

The previous code executes the SQL query ...

Get Mastering Geospatial Analysis with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.