fix: Verhindere doppeltes Puffern von Leitungen durch Bereinigung und Puffer-Ausschluss
Deploy Bürgerwind / deploy (push) Successful in 17s Details

This commit is contained in:
Johannes Baumeister 2026-05-29 11:18:11 +02:00
parent afe9c398aa
commit 4d111f83df
1 changed files with 6 additions and 5 deletions

11
app.js
View File

@ -1035,7 +1035,7 @@ document.addEventListener('DOMContentLoaded', async () => {
layerControl.addOverlay(layer, layerName); layerControl.addOverlay(layer, layerName);
// NEU: 50m Puffer für Freileitungen // NEU: 50m Puffer für Freileitungen
if (layerName.toLowerCase().includes('freileitung')) { if (layerName.toLowerCase().includes('freileitung') && !layerName.toLowerCase().includes('puffer')) {
try { try {
const bufferedGeojson = turf.buffer(geojson, 0.05, {units: 'kilometers'}); const bufferedGeojson = turf.buffer(geojson, 0.05, {units: 'kilometers'});
const bufferLayer = L.geoJSON(bufferedGeojson, { const bufferLayer = L.geoJSON(bufferedGeojson, {
@ -1214,9 +1214,10 @@ document.addEventListener('DOMContentLoaded', async () => {
console.log(`Leitungsverläufe API: ${data.features ? data.features.length : 0} Features erhalten.`); console.log(`Leitungsverläufe API: ${data.features ? data.features.length : 0} Features erhalten.`);
// Alte lokale Layer aufräumen // Alte lokale Layer aufräumen
const localLtgKeys = Object.keys(overlays).filter(k => const localLtgKeys = Object.keys(overlays).filter(k => {
(k.toLowerCase().includes('freileitung') || k.toLowerCase().includes('wasserstoff') || k.toLowerCase().includes('leitung')) && !k.includes('(db)') const low = k.toLowerCase();
); return low.includes('freileitung') || low.includes('wasserstoff') || low === 'leitung' || low.startsWith('leitung ');
});
localLtgKeys.forEach(key => { localLtgKeys.forEach(key => {
console.log(`Entferne lokalen Leitungs-Layer "${key}" (wird durch DB ersetzt).`); console.log(`Entferne lokalen Leitungs-Layer "${key}" (wird durch DB ersetzt).`);
if (state.map.hasLayer(overlays[key])) { if (state.map.hasLayer(overlays[key])) {
@ -2496,7 +2497,7 @@ function loadBakedLayers(bakedLayers, state, overlays, layerControl, statusEl) {
state.bakedData[name] = entry; state.bakedData[name] = entry;
// NEU: 50m Puffer für Freileitungen (Standalone Mode) // NEU: 50m Puffer für Freileitungen (Standalone Mode)
if (name.toLowerCase().includes('freileitung')) { if (name.toLowerCase().includes('freileitung') && !name.toLowerCase().includes('puffer')) {
try { try {
const bufferedGeojson = turf.buffer(entry.data, 0.05, {units: 'kilometers'}); const bufferedGeojson = turf.buffer(entry.data, 0.05, {units: 'kilometers'});
const bufferLayer = L.geoJSON(bufferedGeojson, { const bufferLayer = L.geoJSON(bufferedGeojson, {