feat(map): wire TerraMind Buildings + Prithvi-Live layers to map
Browse files
web/sveltekit/src/lib/components/map/MapLegend.svelte
CHANGED
|
@@ -50,13 +50,13 @@
|
|
| 50 |
{ label: 'NYCHA developments', source: 'NYC OD phvi-damg', tier: 'empirical', wired: true },
|
| 51 |
{ label: 'DOE schools', source: 'NYC DOE Locations', tier: 'empirical', wired: true },
|
| 52 |
{ label: 'DOH hospitals', source: 'NYS DOH vn5v-hh5r', tier: 'empirical', wired: true },
|
| 53 |
-
{ label: 'TerraMind Buildings (current)', source: 'msradam/TerraMind-NYC-Adapters', tier: 'synthetic', wired:
|
| 54 |
],
|
| 55 |
touchstone: [
|
| 56 |
{ label: '311 flood complaints', source: 'NYC 311', tier: 'proxy', wired: false },
|
| 57 |
{ label: 'FloodNet sensors', source: 'FloodNet NYC', tier: 'proxy', wired: true },
|
| 58 |
{ label: 'TerraMind LULC (current)', source: 'msradam/TerraMind-NYC-Adapters', tier: 'synthetic', wired: true },
|
| 59 |
-
{ label: 'Prithvi-NYC-Pluvial flood pred.', source: 'msradam/Prithvi-EO-2.0-NYC-Pluvial', tier: 'modeled', wired:
|
| 60 |
],
|
| 61 |
lodestone: [], // intentional — surfaced as the explicit absence row
|
| 62 |
capstone: [], // not a map layer; surfaced as "not a map layer"
|
|
|
|
| 50 |
{ label: 'NYCHA developments', source: 'NYC OD phvi-damg', tier: 'empirical', wired: true },
|
| 51 |
{ label: 'DOE schools', source: 'NYC DOE Locations', tier: 'empirical', wired: true },
|
| 52 |
{ label: 'DOH hospitals', source: 'NYS DOH vn5v-hh5r', tier: 'empirical', wired: true },
|
| 53 |
+
{ label: 'TerraMind Buildings (current)', source: 'msradam/TerraMind-NYC-Adapters', tier: 'synthetic', wired: true },
|
| 54 |
],
|
| 55 |
touchstone: [
|
| 56 |
{ label: '311 flood complaints', source: 'NYC 311', tier: 'proxy', wired: false },
|
| 57 |
{ label: 'FloodNet sensors', source: 'FloodNet NYC', tier: 'proxy', wired: true },
|
| 58 |
{ label: 'TerraMind LULC (current)', source: 'msradam/TerraMind-NYC-Adapters', tier: 'synthetic', wired: true },
|
| 59 |
+
{ label: 'Prithvi-NYC-Pluvial flood pred.', source: 'msradam/Prithvi-EO-2.0-NYC-Pluvial', tier: 'modeled', wired: true },
|
| 60 |
],
|
| 61 |
lodestone: [], // intentional — surfaced as the explicit absence row
|
| 62 |
capstone: [], // not a map layer; surfaced as "not a map layer"
|
web/sveltekit/src/lib/components/map/RipMap.svelte
CHANGED
|
@@ -27,20 +27,15 @@
|
|
| 27 |
* not gated by `activeLayers`. */
|
| 28 |
registerPoints?: GeoJSON.FeatureCollection;
|
| 29 |
registerPolygons?: GeoJSON.FeatureCollection;
|
| 30 |
-
/** TerraMind-
|
| 31 |
-
*
|
| 32 |
-
*
|
| 33 |
-
* `state.terramind.polygons_geojson`. Categorical fill by per-feature
|
| 34 |
-
* `fill_color`; synthetic tier; controlled by the SYN master toggle. */
|
| 35 |
terramindLulc?: GeoJSON.FeatureCollection;
|
| 36 |
-
/** TerraMind
|
| 37 |
-
*
|
| 38 |
-
* Red fill; modeled tier; controlled by SYN master toggle. */
|
| 39 |
terramindBuildings?: GeoJSON.FeatureCollection;
|
| 40 |
-
/** Prithvi-NYC-Pluvial
|
| 41 |
-
*
|
| 42 |
-
* `state.prithvi_live.polygons_geojson`. Blue fill; modeled tier;
|
| 43 |
-
* controlled by MOD master toggle. */
|
| 44 |
prithviLive?: GeoJSON.FeatureCollection;
|
| 45 |
/** USGS Ida 2021 high-water mark points. Empirical tier; amber fill.
|
| 46 |
* Controlled by EMP master toggle. */
|
|
@@ -227,28 +222,24 @@
|
|
| 227 |
paint: { 'line-color': ['get', 'fill_color'], 'line-width': 0.75, 'line-opacity': 0.45, 'line-dasharray': [3, 2] }
|
| 228 |
});
|
| 229 |
|
| 230 |
-
// TerraMind
|
| 231 |
-
// _PALETTE entry for "building" in app/context/_polygonize.py),
|
| 232 |
-
// sharper outline so individual structures read distinctly.
|
| 233 |
map.addLayer({
|
| 234 |
id: 'terramind-buildings-fill', type: 'fill', source: 'terramind-buildings',
|
| 235 |
-
paint: { 'fill-color': '#
|
| 236 |
});
|
| 237 |
map.addLayer({
|
| 238 |
id: 'terramind-buildings-line', type: 'line', source: 'terramind-buildings',
|
| 239 |
-
paint: { 'line-color': '#
|
| 240 |
});
|
| 241 |
|
| 242 |
-
// Prithvi-NYC-Pluvial
|
| 243 |
-
// Blue fill, slightly higher opacity than the modeled DEP layer so
|
| 244 |
-
// the live signal reads as the dominant flood overlay.
|
| 245 |
map.addLayer({
|
| 246 |
id: 'prithvi-live-fill', type: 'fill', source: 'prithvi-live',
|
| 247 |
-
paint: { 'fill-color': '#
|
| 248 |
});
|
| 249 |
map.addLayer({
|
| 250 |
id: 'prithvi-live-line', type: 'line', source: 'prithvi-live',
|
| 251 |
-
paint: { 'line-color': '#
|
| 252 |
});
|
| 253 |
|
| 254 |
// Register-asset polygons (NYCHA developments only). Fill graded
|
|
|
|
| 27 |
* not gated by `activeLayers`. */
|
| 28 |
registerPoints?: GeoJSON.FeatureCollection;
|
| 29 |
registerPolygons?: GeoJSON.FeatureCollection;
|
| 30 |
+
/** TerraMind-synthesis LULC polygons from the SSE final payload
|
| 31 |
+
* (terramind.polygons_geojson). Categorical fill by `fill_color`
|
| 32 |
+
* property; synthetic tier; controlled by the SYN master toggle. */
|
|
|
|
|
|
|
| 33 |
terramindLulc?: GeoJSON.FeatureCollection;
|
| 34 |
+
/** TerraMind Buildings LoRA polygons (terramind_buildings.polygons_geojson).
|
| 35 |
+
* Synthetic tier; purple outline to distinguish from LULC fill. */
|
|
|
|
| 36 |
terramindBuildings?: GeoJSON.FeatureCollection;
|
| 37 |
+
/** Prithvi-NYC-Pluvial flood prediction polygons (prithvi_live.polygons_geojson).
|
| 38 |
+
* Modeled tier; teal fill at low opacity. */
|
|
|
|
|
|
|
| 39 |
prithviLive?: GeoJSON.FeatureCollection;
|
| 40 |
/** USGS Ida 2021 high-water mark points. Empirical tier; amber fill.
|
| 41 |
* Controlled by EMP master toggle. */
|
|
|
|
| 222 |
paint: { 'line-color': ['get', 'fill_color'], 'line-width': 0.75, 'line-opacity': 0.45, 'line-dasharray': [3, 2] }
|
| 223 |
});
|
| 224 |
|
| 225 |
+
// TerraMind Buildings LoRA — purple outline, synthetic tier.
|
|
|
|
|
|
|
| 226 |
map.addLayer({
|
| 227 |
id: 'terramind-buildings-fill', type: 'fill', source: 'terramind-buildings',
|
| 228 |
+
paint: { 'fill-color': '#7C3AED', 'fill-opacity': 0.15 }
|
| 229 |
});
|
| 230 |
map.addLayer({
|
| 231 |
id: 'terramind-buildings-line', type: 'line', source: 'terramind-buildings',
|
| 232 |
+
paint: { 'line-color': '#7C3AED', 'line-width': 1.0, 'line-opacity': 0.6, 'line-dasharray': [2, 2] }
|
| 233 |
});
|
| 234 |
|
| 235 |
+
// Prithvi-NYC-Pluvial flood prediction — teal fill, modeled tier.
|
|
|
|
|
|
|
| 236 |
map.addLayer({
|
| 237 |
id: 'prithvi-live-fill', type: 'fill', source: 'prithvi-live',
|
| 238 |
+
paint: { 'fill-color': '#0D9488', 'fill-opacity': 0.20 }
|
| 239 |
});
|
| 240 |
map.addLayer({
|
| 241 |
id: 'prithvi-live-line', type: 'line', source: 'prithvi-live',
|
| 242 |
+
paint: { 'line-color': '#0D9488', 'line-width': 1.0, 'line-opacity': 0.55 }
|
| 243 |
});
|
| 244 |
|
| 245 |
// Register-asset polygons (NYCHA developments only). Fill graded
|
web/sveltekit/src/lib/components/map/baseStyle.ts
CHANGED
|
@@ -5,6 +5,10 @@
|
|
| 5 |
export const POSITRON_NO_LABELS =
|
| 6 |
'https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json';
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
/** Voyager fallback (also auth-free, slightly more editorial). */
|
| 9 |
export const VOYAGER =
|
| 10 |
'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json';
|
|
|
|
| 5 |
export const POSITRON_NO_LABELS =
|
| 6 |
'https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json';
|
| 7 |
|
| 8 |
+
/** Carto Positron with labels. */
|
| 9 |
+
export const POSITRON =
|
| 10 |
+
'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json';
|
| 11 |
+
|
| 12 |
/** Voyager fallback (also auth-free, slightly more editorial). */
|
| 13 |
export const VOYAGER =
|
| 14 |
'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json';
|