Eine interaktive Webkarte zur Visualisierung des deutschen Agritech-Ökosystems mit Startups, Investoren, Forschungsinstituten und weiteren Akteuren.
- 📍 Interaktive Karte mit intelligenter Marker-Gruppierung
- 🔍 Erweiterte Filteroptionen nach Typ und Kategorie
- 📱 Responsive Design für alle Geräte
- 📊 Datentabelle mit Export-Funktionen
- 🎯 Detailansichten für einzelne Organisationen
- ⚡ Performance-optimiert für große Datensätze
- Frontend: Vanilla JavaScript (ES6+), CSS3, HTML5
- Kartenbibliothek: Leaflet.js mit Marker-Clustering
- Datenverarbeitung: PapaParse für CSV-Import
- Styling: Modern CSS mit Flexbox/Grid
- Accessibility: WCAG 2.1 konform
git clone https://git.informatik.uni-leipzig.de/ps83huvo/agtech-ecosystem-map.git
cd agtech-ecosystem-map# Python 3
python -m http.server 8000
# Node.js (wenn installiert)
npx serve .
# PHP
php -S localhost:8000http://localhost:8000
agtech-ecosystem-map/
├── index.html # Hauptdatei (refaktorierte Version)
├── agtech-ecosystem-data.csv # Organisationsdaten
├── script.js # JavaScript-Logik
├── style.css # Styling
└── README.md # Diese Datei
Die Anwendung erwartet eine CSV-Datei mit folgender Struktur:
OrganizationName;OrganizationType;FinalCategories;Headquarter;WebsiteUrl;AiSummary;Latitude;Longitude
Example Startup;Startup;Farm Management;Berlin;https://example.com;Kurzbeschreibung;52.5200;13.4050// In script.js - CONFIG-Objekt
const CONFIG = {
data: {
csvUrl: 'agtech-ecosystem-data.csv', // Pfad zu CSV-Datei
delimiter: ';' // CSV-Trennzeichen
},
map: {
center: [51.1657, 10.4515], // Karten-Zentrum (Deutschland)
zoom: { default: 6, mobile: 5 } // Zoom-Level
}
};Die Farbschemas für Organisationstypen und Kategorien können im COLOR_SCHEMES-Objekt angepasst werden:
const COLOR_SCHEMES = {
types: {
'Startup': '#00CD6C',
'Accelerator': '#F28522',
// ... weitere Typen
},
categories: {
'Farm Management, Sensorik und IoT': '#1a936f',
// ... weitere Kategorien
}
};- ✅ Touch-freundliche Bedienung
- ✅ Optimierte Performance auf mobilen Geräten
- ✅ Kollabierbare Filter-Panels
- ✅ Angepasste Marker-Größen
<iframe
src="pfad/zur/agtech-karte.html"
width="100%"
height="800px"
style="border: none;">
</iframe><div id="agtech-map-container"></div>
<script src="pfad/zu/agtech-app.js"></script>
<script>
const app = new AgTechMapApp({
container: '#agtech-map-container',
csvUrl: 'pfad/zu/daten.csv'
});
</script>- CORS-Header für CSV-Dateien aktivieren
- HTTPS empfohlen (für Geolocation-Features)
- Gzip-Kompression für bessere Performance
<Files "*.csv">
Header set Access-Control-Allow-Origin "*"
</Files>location ~ \.csv$ {
add_header Access-Control-Allow-Origin *;
}| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | ✅ Vollständig |
| Firefox | 88+ | ✅ Vollständig |
| Safari | 14+ | ✅ Vollständig |
| Edge | 90+ | ✅ Vollständig |
- First Load: < 3s
- Filter-Updates: < 300ms
- Memory Usage: < 100MB
- Mobile Performance: Optimiert für 3G-Verbindungen
// Debug-Modus aktivieren
const CONFIG = {
debug: true,
data: { csvUrl: './agtech-ecosystem-data.csv' }
};- Marker-Clustering ist standardmäßig aktiviert
- Virtual Scrolling ab 500+ Tabelleneinträgen
- Debounced Filter-Updates (300ms)
- Fork des Repositories
- Feature Branch erstellen (
git checkout -b feature/amazing-feature) - Commits mit aussagekräftigen Nachrichten
- Push zum Branch (
git push origin feature/amazing-feature) - Pull Request erstellen
- ES6+ JavaScript
- Semantic HTML
- CSS mit BEM-Methodologie
- JSDoc für Funktions-Dokumentation
MIT License - siehe LICENSE für Details.
- Karten-Daten: OpenStreetMap Contributors
- Icons: Leaflet.js
- CSV-Parser: PapaParse
- Entwicklung: ricardofauch
