intermediate transform
Browse files- map_tab/map_logic.py +12 -4
map_tab/map_logic.py
CHANGED
|
@@ -114,7 +114,7 @@ def make_map(city, show_grid, show_georef):
|
|
| 114 |
|
| 115 |
|
| 116 |
def _add_grid_overlay_plotly(fig, transformer):
|
| 117 |
-
"""Add grid overlay as filled polygons on the Plotly map."""
|
| 118 |
grid_values = []
|
| 119 |
|
| 120 |
for fname in os.listdir(OUTPUT_DIR):
|
|
@@ -164,9 +164,16 @@ def _add_grid_overlay_plotly(fig, transformer):
|
|
| 164 |
y0 = tile_ymin + r * CELL_SIZE_M
|
| 165 |
x1 = x0 + CELL_SIZE_M
|
| 166 |
y1 = y0 + CELL_SIZE_M
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
lons = [lon0, lon1, lon1, lon0, lon0]
|
| 171 |
lats = [lat0, lat0, lat1, lat1, lat0]
|
| 172 |
fig.add_trace(go.Scattermapbox(
|
|
@@ -179,3 +186,4 @@ def _add_grid_overlay_plotly(fig, transformer):
|
|
| 179 |
hoverinfo="text",
|
| 180 |
text=f"{val:.2f}"
|
| 181 |
))
|
|
|
|
|
|
| 114 |
|
| 115 |
|
| 116 |
def _add_grid_overlay_plotly(fig, transformer):
|
| 117 |
+
"""Add grid overlay as filled polygons on the Plotly map with intermediate EPSG:3857 transform."""
|
| 118 |
grid_values = []
|
| 119 |
|
| 120 |
for fname in os.listdir(OUTPUT_DIR):
|
|
|
|
| 164 |
y0 = tile_ymin + r * CELL_SIZE_M
|
| 165 |
x1 = x0 + CELL_SIZE_M
|
| 166 |
y1 = y0 + CELL_SIZE_M
|
| 167 |
+
|
| 168 |
+
# --- Intermediate transform to EPSG:3857 ---
|
| 169 |
+
transformer_3857 = pyproj.Transformer.from_crs(transformer.source_crs, "EPSG:3857", always_xy=True)
|
| 170 |
+
x0_3857, y0_3857 = transformer_3857.transform(x0, y0)
|
| 171 |
+
x1_3857, y1_3857 = transformer_3857.transform(x1, y1)
|
| 172 |
+
|
| 173 |
+
# --- Then transform from EPSG:3857 to EPSG:4326 for Plotly ---
|
| 174 |
+
lon0, lat0 = pyproj.Transformer.from_crs("EPSG:3857", "EPSG:4326", always_xy=True).transform(x0_3857, y0_3857)
|
| 175 |
+
lon1, lat1 = pyproj.Transformer.from_crs("EPSG:3857", "EPSG:4326", always_xy=True).transform(x1_3857, y1_3857)
|
| 176 |
+
|
| 177 |
lons = [lon0, lon1, lon1, lon0, lon0]
|
| 178 |
lats = [lat0, lat0, lat1, lat1, lat0]
|
| 179 |
fig.add_trace(go.Scattermapbox(
|
|
|
|
| 186 |
hoverinfo="text",
|
| 187 |
text=f"{val:.2f}"
|
| 188 |
))
|
| 189 |
+
|