Exhaustive hardening of DB loading and geometry creation to fix map rendering
Deploy Bürgerwind / deploy (push) Successful in 16s
Details
Deploy Bürgerwind / deploy (push) Successful in 16s
Details
This commit is contained in:
parent
4fe64857d9
commit
5db86d82c3
35
app.js
35
app.js
|
|
@ -232,7 +232,12 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
try {
|
try {
|
||||||
const blf = transform(blfCoords);
|
const blf = transform(blfCoords);
|
||||||
const ksf = transform(ksfCoords);
|
const ksf = transform(ksfCoords);
|
||||||
const mf = turf.featureCollection(mfParts.map(part => transform(part)));
|
|
||||||
|
// Create the feature collection of polygons
|
||||||
|
const mf = {
|
||||||
|
type: "FeatureCollection",
|
||||||
|
features: mfParts.map(part => transform(part))
|
||||||
|
};
|
||||||
|
|
||||||
return { sweptArea, techDist, techDistSmall, loadRadius, foundation, blf, ksf, mf, totalHeight, utmCoords };
|
return { sweptArea, techDist, techDistSmall, loadRadius, foundation, blf, ksf, mf, totalHeight, utmCoords };
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
@ -1924,15 +1929,20 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
console.log(`Lade WEAs aus Datenbank für Projekt: ${projekt_id}...`);
|
console.log(`Lade WEAs aus Datenbank für Projekt: ${projekt_id}...`);
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`/api/wea/${projekt_id}`);
|
const response = await fetch(`/api/wea/${projekt_id}`);
|
||||||
if (response.ok) {
|
if (!response.ok) {
|
||||||
|
throw new Error(`HTTP-Fehler! Status: ${response.status}`);
|
||||||
|
}
|
||||||
const dbTurbines = await response.json();
|
const dbTurbines = await response.json();
|
||||||
console.log(`Datenbank-Response: ${dbTurbines.length} WEAs erhalten.`);
|
console.log(`Datenbank-Response: ${dbTurbines.length} WEAs erhalten.`);
|
||||||
|
|
||||||
if (dbTurbines.length > 0) {
|
if (dbTurbines.length > 0) {
|
||||||
// Clear existing turbines
|
// Clear existing turbines safely
|
||||||
state.turbines.forEach(t => {
|
state.turbines.forEach(t => {
|
||||||
|
try {
|
||||||
if (t.layers && t.variant && variantLayers[t.variant]) {
|
if (t.layers && t.variant && variantLayers[t.variant]) {
|
||||||
Object.values(t.layers).forEach(l => variantLayers[t.variant].removeLayer(l));
|
Object.values(t.layers).forEach(l => variantLayers[t.variant].removeLayer(l));
|
||||||
}
|
}
|
||||||
|
} catch (e) {}
|
||||||
});
|
});
|
||||||
state.turbines = [];
|
state.turbines = [];
|
||||||
|
|
||||||
|
|
@ -1941,9 +1951,8 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
const latlng = L.latLng(t.lat, t.lng);
|
const latlng = L.latLng(t.lat, t.lng);
|
||||||
const variant = t.variant || 'A';
|
const variant = t.variant || 'A';
|
||||||
|
|
||||||
// Check if variant layer exists
|
|
||||||
if (!variantLayers[variant]) {
|
if (!variantLayers[variant]) {
|
||||||
console.warn(`WEA ${t.nr} hat ungültige Variante: ${variant}. Überspringe.`);
|
console.warn(`Ungültige Variante: ${variant}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1951,24 +1960,22 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
nr: t.nr,
|
nr: t.nr,
|
||||||
hersteller: t.hersteller,
|
hersteller: t.hersteller,
|
||||||
type: t.type,
|
type: t.type,
|
||||||
rd: t.rd,
|
rd: parseFloat(t.rd) || 160,
|
||||||
hh: t.hh,
|
hh: parseFloat(t.hh) || 165,
|
||||||
ksfAngle: t.ksfangle ?? t.ksfAngle ?? 0,
|
ksfAngle: parseFloat(t.ksfangle ?? t.ksfAngle ?? 0),
|
||||||
variant: variant
|
variant: variant
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(`Fehler beim Laden von WEA ${t.nr}:`, e);
|
console.error(`Fehler bei WEA ${t.nr}:`, e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
statusEl.innerText = `${dbTurbines.length} WEAs aus Datenbank geladen.`;
|
statusEl.innerText = `${dbTurbines.length} WEAs aus Datenbank geladen.`;
|
||||||
} else {
|
} else {
|
||||||
console.log("Datenbank ist leer für dieses Projekt.");
|
console.log("Datenbank ist leer.");
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.error("Fehler beim API-Aufruf:", response.status);
|
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Netzwerkfehler beim Laden aus der DB:", err);
|
console.error("GLOBALER FEHLER beim Laden aus der DB:", err);
|
||||||
|
if (statusEl) statusEl.innerText = "Fehler beim Laden der Standorte.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue