A geospatial query

By adding one more URL component, the API is spatially enabled. Passing an arena ID and adding "/intersect" will use spatial queries to find data describing the requested NBA Arena. In this view function, the County and District tables are queried using an intersect filter (that is, the county containing the arena is identified using a point in polygon function). The underlying state is retrieved using a table relation between the county and the state. All of the geometry and the selected fields are returned:

@app.route('/nba/api/v0.1/arena/<int:arena_id>/intersect', methods=['GET'])def arena_intersect(arena_id):  arena = session.query(Arena).get(arena_id)  county = session.query(County).filter(County.geom.ST_Intersects

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.