diff --git a/app/infra/db/postgresql/sensor_placement.py b/app/infra/db/postgresql/sensor_placement.py index 32fdecf..31903ae 100644 --- a/app/infra/db/postgresql/sensor_placement.py +++ b/app/infra/db/postgresql/sensor_placement.py @@ -130,18 +130,17 @@ def get_sensor_placement_nodes( ) AS incident_pipes GROUP BY node_id ) - SELECT j.node_id, + SELECT g.id AS node_id, ipd.max_pipe_diameter, - j.elevation, - ST_X(g.geom) AS project_x, - ST_Y(g.geom) AS project_y, - ST_X(ST_Transform(g.geom, 3857)) AS map_x, - ST_Y(ST_Transform(g.geom, 3857)) AS map_y - FROM network.junctions AS j - JOIN gis.node_geometries AS g ON g.node_id = j.node_id - LEFT JOIN incident_pipe_diameters AS ipd ON ipd.node_id = j.node_id - WHERE j.node_id = ANY(%s) - ORDER BY j.node_id + g.elevation, + g.x AS project_x, + g.y AS project_y, + ST_X(g.geom) AS map_x, + ST_Y(g.geom) AS map_y + FROM gis.junctions AS g + LEFT JOIN incident_pipe_diameters AS ipd ON ipd.node_id = g.id + WHERE g.id = ANY(%s) + ORDER BY g.id """, (node_ids, node_ids, node_ids), ) diff --git a/tests/unit/test_sensor_placement_service.py b/tests/unit/test_sensor_placement_service.py index b94b2a2..7ddcf59 100644 --- a/tests/unit/test_sensor_placement_service.py +++ b/tests/unit/test_sensor_placement_service.py @@ -122,7 +122,7 @@ def test_list_sensor_placements_batches_node_lookup(monkeypatch): assert [len(run["sensor_points"]) for run in runs] == [2, 2] -def test_sensor_nodes_query_uses_new_network_and_gis_schemas(monkeypatch): +def test_sensor_nodes_query_uses_published_junction_coordinates(monkeypatch): cursor = _mock_project_cursor(monkeypatch) cursor.fetchall.return_value = [] @@ -131,8 +131,11 @@ def test_sensor_nodes_query_uses_new_network_and_gis_schemas(monkeypatch): query = cursor.execute.call_args.args[0] assert "network.pipes" in query assert "network.links" in query - assert "gis.node_geometries" in query - assert "ST_Transform(g.geom, 3857)" in query + assert "FROM gis.junctions AS g" in query + assert "g.x AS project_x" in query + assert "ST_X(g.geom) AS map_x" in query + assert "gis.node_geometries" not in query + assert "ST_Transform" not in query assert "l.start_node_id = ANY(%s)" in query assert "l.end_node_id = ANY(%s)" in query assert "CROSS JOIN LATERAL" not in query