Standortanalyse
Vielen Dank für Ihre Anfrage!
Ihre Daten wurden erfolgreich übermittelt.
Ihr Standort:
E-Mail:
Wir werden Ihnen die Standortanalyse schnellstmöglich zusenden.
In der Zwischenzeit können Sie wichtige Umgebungsinformationen wie Ärzte, Schulen, Kitas etc. in der Nähe abfragen. Ebenfalls erhalten Sie weiter unten eine Aussage über die Luftqualität an Ihrem Standort.
In der Zwischenzeit können Sie wichtige Umgebungsinformationen wie Ärzte, Schulen, Kitas etc. in der Nähe abfragen. Ebenfalls erhalten Sie weiter unten eine Aussage über die Luftqualität an Ihrem Standort.
Luftqualität
Kohlenmonoxid (CO)
Lädt...
Stickstoffdioxid (NO₂)
Lädt...
Feinstaubbelastung PM2.5
Lädt...
Bodennahes Ozon (O₃)
Lädt...
Gesundheitsrisikobewertung:
Basierend auf den Luftqualitätsdaten:
Sehr gut
Gut
Moderat
Schlecht
Sehr schlecht
Bewertung wird ermittelt...
Sonnenstunden pro Jahr
Lädt...
Dieser Standort
1.550h
Deutschland ⌀
Weniger
Durchschnitt
Mehr
Vergleich zum bundesweiten Durchschnitt wird berechnet...
Niederschlagsmenge
Lädt...
Dieser Standort
700mm
Deutschland ⌀
Weniger
Durchschnitt
Mehr
Vergleich zum bundesweiten Durchschnitt wird berechnet...
Durchschnittstemperatur
Lädt...
Dieser Standort
9.6°C
Deutschland ⌀
Kälter
Durchschnitt
Wärmer
Vergleich zum bundesweiten Durchschnitt wird berechnet...
Umgebungsinformationen
Demografische Informationen
Lädt...
Einwohner
Lädt...
Durchschnittsalter
Lädt...
Durchschnittseinkommen
Lädt...
Arbeitslosenquote
Lädt...
Wohndichte pro km²
Lädt...
Migrationshintergrund
Immobilienwert-Prognose
Lädt...
Diese Prognose basiert auf aktuellen Daten und allgemeinen Trends. Für eine genaue Immobilienbewertung empfehlen wir eine detaillierte Einzelanalyse.
`;
pdfWindow.document.write(pdfContent);
pdfWindow.document.close();
}
function updateDemographicsDisplay(data) {
document.getElementById('population').textContent = data.population.toLocaleString();
document.getElementById('ageAverage').textContent = `${data.ageAverage} Jahre`;
document.getElementById('incomeAverage').textContent = `€ ${data.incomeAverage.toLocaleString()}`;
document.getElementById('unemploymentRate').textContent = `${data.unemploymentRate}%`;
document.getElementById('housingDensity').textContent = data.housingDensity.toLocaleString();
document.getElementById('migrationBackground').textContent = `${data.migrationBackground}%`;
}
function updateDemographicsDisplayFallback() {
const fallbackData = {
population: 45230,
ageAverage: 42.3,
incomeAverage: 3420,
unemploymentRate: 6.2,
housingDensity: 1250,
migrationBackground: 23.5
};
demographicData = fallbackData;
updateDemographicsDisplay(fallbackData);
setTimeout(calculateLocationRating, 2000);
}
// Location rating calculation
function calculateLocationRating() {
let totalScore = 0;
const factors = {};
// Air quality factor (30%)
const airQuality = weatherData.pollution?.list?.[0]?.main?.aqi || 2;
const airScore = Math.max(0, (6 - airQuality) * 20);
factors.luftqualität = { score: airScore, weight: 0.3 };
// Demographics factor (25%)
const unemployment = demographicData.unemploymentRate || 6.2;
const income = demographicData.incomeAverage || 3420;
const demoScore = Math.min(100, (100 - unemployment * 5) + (income / 100));
factors.demografie = { score: Math.max(0, demoScore), weight: 0.25 };
// Infrastructure factor (25%) - based on POI availability
const infraScore = 75; // Simulated based on available POIs
factors.infrastruktur = { score: infraScore, weight: 0.25 };
// Climate factor (20%)
const temp = weatherData.weather?.main?.temp || 15;
const climateScore = Math.max(0, 100 - Math.abs(temp - 18) * 5);
factors.klima = { score: climateScore, weight: 0.2 };
// Calculate weighted total
Object.values(factors).forEach(factor => {
totalScore += factor.score * factor.weight;
});
displayLocationRating(totalScore, factors);
}
function displayLocationRating(score, factors) {
const ratingElement = document.getElementById('overallRating');
const descriptionElement = document.getElementById('ratingDescription');
const factorsContainer = document.getElementById('ratingFactors');
// Determine rating class and text
let ratingClass, ratingText;
if (score >= 85) {
ratingClass = 'rating-excellent';
ratingText = 'Ausgezeichnet';
} else if (score >= 70) {
ratingClass = 'rating-good';
ratingText = 'Gut';
} else if (score >= 55) {
ratingClass = 'rating-average';
ratingText = 'Durchschnittlich';
} else if (score >= 40) {
ratingClass = 'rating-poor';
ratingText = 'Verbesserungswürdig';
} else {
ratingClass = 'rating-bad';
ratingText = 'Ungünstig';
}
ratingElement.textContent = `${Math.round(score)}/100`;
ratingElement.className = `rating-score ${ratingClass}`;
descriptionElement.textContent = `Ihr Standort erhält die Bewertung "${ratingText}" basierend auf einer umfassenden Analyse verschiedener Faktoren.`;
// Display individual factors
factorsContainer.innerHTML = '';
Object.entries(factors).forEach(([name, data]) => {
const factorDiv = document.createElement('div');
factorDiv.className = 'rating-factor';
const factorScore = Math.round(data.score);
let factorClass;
if (factorScore >= 80) factorClass = 'rating-excellent';
else if (factorScore >= 65) factorClass = 'rating-good';
else if (factorScore >= 50) factorClass = 'rating-average';
else if (factorScore >= 35) factorClass = 'rating-poor';
else factorClass = 'rating-bad';
factorDiv.innerHTML = `
${name.charAt(0).toUpperCase() + name.slice(1)}
${factorScore}/100
`;
factorsContainer.appendChild(factorDiv);
});
// Calculate property forecast after rating is displayed
setTimeout(calculatePropertyForecast, 500);
}
// Utility functions
function togglePrivacy() {
const content = document.getElementById('privacyContent');
content.style.display = content.style.display === 'block' ? 'none' : 'block';
}
function openAppointment() {
document.getElementById('appointmentLightbox').style.display = 'flex';
}
function closeAppointment() {
document.getElementById('appointmentLightbox').style.display = 'none';
}
// Close lightbox when clicking outside
document.getElementById('appointmentLightbox').addEventListener('click', function(e) {
if (e.target === this) {
closeAppointment();
}
});
Impressum
