Skip to Content
Mastering Geospatial Analysis with Python
book

Mastering Geospatial Analysis with Python

by Silas Toms, Paul Crickard, Eric van Rees
April 2018
Beginner to intermediate content levelBeginner to intermediate
440 pages
11h 36m
English
Packt Publishing
Content preview from Mastering Geospatial Analysis with Python

Nearest neighbor

Using a buffer, you can get all the incidents within a specified radius of the point of interest. But what if you only want the 5, 10, or 15 closest incidents? To do that, you can use the <-> operator or k-nearest neighbor.

You can use the following code to select the 15 closest points to a specified point, p:

p = Point([-106.578677,35.062485])cursor.execute("SELECT ST_AsGeoJSON(incidents.geom), ST_Distance(incidents.geom::geography,ST_GeometryFromText('{}')::geography) from incidents ORDER BY incidents.geom<->ST_GeometryFromText('{}') LIMIT 15".format(p.wkt,p.wkt))c=cursor.fetchall()for x in c:    layer=json.loads(x[0])    layergeojson=GeoJSON(data=layer)    map.add_layer(layergeojson)

The previous code creates a point using Shapely, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Geospatial Analysis with Python

Learning Geospatial Analysis with Python

Joel Lawhead

Publisher Resources

ISBN: 9781788293334Supplemental Content