Besides integers, which use the converter int, floating point data can be converted using float, and URL data can be converted using path. Strings, which use the converter string, are the default. In this case, a float value is captured and used to compare against county geometry areas. As the SRID for this data is in WKID, the area is in an odd format, but this query will work:
@app.route('/nba/api/v0.1/county/query/size/<float:size>', methods=['GET'])
def get_county_size(size):
counties = session.query(County).filter(County.geom.ST_Area() > size).all()
data = [{"type": "Feature",
"properties":{"name":county.name,"id":county.id ,"state":county.state.name},
"geometry":{"type":"MultiPolygon",
"coordinates":[shapely.geometry.geo.mapping(to_shape(county.geom))["coordinates"]]},
} for county in counties]
return jsonify({"type": "FeatureCollection","features":data})
In this example, the value captured from the URL variable is compared to the county geometry using the ST_Area function, which borrows from PostGIS spatial SQL.
Read more about GeoAlchemy2 spatial functionality, and its use of spatial SQL, here: http://geoalchemy-2.readthedocs.io/en/latest/spatial_functions.html.