diff --git a/api/app/services/__pycache__/buildings.cpython-313.pyc b/api/app/services/__pycache__/buildings.cpython-313.pyc index b02c19e..8a88241 100644 Binary files a/api/app/services/__pycache__/buildings.cpython-313.pyc and b/api/app/services/__pycache__/buildings.cpython-313.pyc differ diff --git a/api/app/services/buildings.py b/api/app/services/buildings.py index d65044c..3a5949d 100644 --- a/api/app/services/buildings.py +++ b/api/app/services/buildings.py @@ -100,7 +100,11 @@ def _query_by_bbox( ) ) AS feature FROM buildings - WHERE ST_Intersects(geom, ST_MakeEnvelope(:minlon, :minlat, :maxlon, :maxlat, 4326)) + WHERE geom && ST_MakeEnvelope(:minlon, :minlat, :maxlon, :maxlat, 4326) + AND ST_Intersects( + geom, + ST_MakeEnvelope(:minlon, :minlat, :maxlon, :maxlat, 4326) + ) LIMIT :limit """ ) diff --git a/db/sql/normalize_buildings.sql b/db/sql/normalize_buildings.sql index 84e4919..c91559d 100644 --- a/db/sql/normalize_buildings.sql +++ b/db/sql/normalize_buildings.sql @@ -18,7 +18,10 @@ WITH raw AS ( normalized AS ( SELECT osm_id, - ST_Multi(ST_CollectionExtract(ST_MakeValid(way), 3)) AS geom, + ST_SetSRID( + ST_Multi(ST_CollectionExtract(ST_MakeValid(way), 3)), + 4326 + ) AS geom, building_type, height_value, levels_value