fix(tactical): implement scientific D8 hydrological flow routing for natural wadis and isolate from ridges

This commit is contained in:
Hamza-Ayed
2026-08-18 12:44:58 +03:00
parent c9b3249aa5
commit 13ff137359
2 changed files with 242 additions and 58 deletions
+6 -4
View File
@@ -585,15 +585,17 @@ export const TacticalDefenseView: React.FC = () => {
['get', 'layerType'],
'cliff', 3.5,
'road', 4.0,
'wadi', 3.0,
'wadi', 3.5,
'ridge', 2.5,
2.5
],
'line-dasharray': [
'match',
['get', 'layerType'],
'cliff', ['literal', [2, 1]],
'ridge', ['literal', [3, 1.5]],
'road', ['literal', [1, 0]],
'wadi', ['literal', [2, 1.5]],
'wadi', ['literal', [1, 0]],
['literal', [1, 0]]
]
}
@@ -835,9 +837,9 @@ export const TacticalDefenseView: React.FC = () => {
}
const filtered = terrainResult.spatialGeoJson.features.filter((f: any) => {
if (f.properties.category === 'peak' || f.properties.category === 'valley') return showPeaksAndValleys;
if (f.properties.category === 'peak' || f.properties.category === 'valley' || f.properties.layerType === 'ridge') return showPeaksAndValleys;
if (f.properties.layerType === 'slope-sector') return showSlopeSectors;
if (f.properties.layerType === 'wadi' || f.properties.layerType === 'ridge' || f.properties.layerType === 'cliff') return showNaturalObstacles;
if (f.properties.layerType === 'wadi') return showNaturalObstacles;
if (f.properties.layerType === 'road') return showRoadCorridors;
if (f.properties.layerType === 'urban') return showUrbanZones;
if (f.properties.layerType === 'hazard' || f.properties.layerType === 'cliff') return showHazardousGround;