def _get_intersecting_projects(search_polygon: Polygon, author_id: int):
""" executes a database query to get the intersecting projects created by the author if provided """
query = db.session.query(Project.id,
Project.status,
Project.default_locale,
Project.geometry.ST_AsGeoJSON().label('geometry')) \
.filter(ST_Intersects(Project.geometry,
ST_MakeEnvelope(search_polygon.bounds[0],
search_polygon.bounds[1],
search_polygon.bounds[2],
search_polygon.bounds[3], 4326)))
if author_id:
query = query.filter(Project.author_id == author_id)
return query.all()
评论列表
文章目录