April 2018
Beginner to intermediate
440 pages
11h 36m
English
This function uses spatial analysis to find all arenas that are contained by the state. The state is identified by the ID, and the URL component within which it will select all arenas whose geometry is within the state geometry:
@app.route('/nba/api/v0.1/state/<int:state_id>/contains', methods=['GET'])def get_state_arenas(state_id): state = session.query(State).get(state_id) shp = to_shape(state.geom) geojson = shapely.geometry.geo.mapping(shp) data = [{"type": "Feature", "properties":{"name":state.name}, "geometry":{"type":"MultiPolygon", "coordinates":[geojson]}, }] arenas = session.query(Arena).filter(state.geom.ST_Contains(arena.geom)) data_arenas =[{"type": "Feature", "properties":{"name":arena.name}, "geometry":{"type":"Point", ...