Release v2.2 - adres analyse skill
This commit is contained in:
@@ -38,13 +38,14 @@ Output is markdown formaat, direct naar stdout (voor Telegram) én wordt opgesla
|
||||
- **Fiets profiel:** `cycling-regular`, 30 minuten, groen op de kaart
|
||||
- **Metrics:** Oppervlakte (km²), reach factor, geografisch bereik
|
||||
- **Data bron:** ORS op `192.168.1.71:9080`
|
||||
- **Interactieve kaart:** Het script genereert automatisch een zelf-contained HTML kaart (Leaflet + OpenStreetMap) met beide isochronen en het adres als marker. Deze wordt opgeslagen in Obsidian naast het markdown rapport. In Obsidian verschijnt een link `[Bekijk interactieve isochroon kaart](huizenjacht/...html)` — klik erop om in je browser te openen, zoomen en pannen.
|
||||
|
||||
### 2. Voorzieningen in de buurt
|
||||
- **Bron:** lokale PostGIS database met geselecteerde POI's uit heel Nederland OSM extract
|
||||
- **Docker:** `postgis/postgis` op poort `5433`, database `adresanalyse`
|
||||
- **Import:** `import-osm.sh` downloadt `netherlands-latest.osm.pbf` en `osm-poi-import.py` importeert alleen `shop=supermarket` en `amenity=school`
|
||||
- **Routeverrijking:** ORS Matrix voor `driving-car` en `cycling-regular`
|
||||
- **Output:** top 5 supermarkten en top 5 scholen in rapport + markers op Folium kaart
|
||||
- **Output:** top 5 supermarkten en top 5 scholen in rapport
|
||||
|
||||
### 3. (Toekomstige onderdelen)
|
||||
- OV bereikbaarheid
|
||||
@@ -84,19 +85,16 @@ curl -s -X POST "http://192.168.1.71:9080/ors/v2/isochrones/driving-car" \
|
||||
- Response bevat GeoJSON FeatureCollection met polygon geometrie
|
||||
- GeoJSON wordt opgeslagen in `/tmp/isochroon_{timestamp}.geojson`
|
||||
|
||||
### Stap 3: Kaart genereren (optioneel)
|
||||
Gebruik script: `scripts/generate-map.py`
|
||||
### Stap 3: Interactieve kaart + screenshot genereren (automatisch)
|
||||
Het script genereert twee bestanden:
|
||||
1. **HTML kaart** (Leaflet + OpenStreetMap) met inline GeoJSON — opgeslagen in Obsidian als `.html`. In Obsidian verschijnt een link om de kaart in de browser te openen voor zoomen/pannen.
|
||||
2. **JPEG screenshot** van de kaart — direct gebase64-embed in het markdown rapport. Je ziet de kaart direct in Obsidian zonder te klikken.
|
||||
|
||||
```bash
|
||||
python3 scripts/generate-map.py "Griendvelden 14, Best" /root/adres-analyse/kaart.html
|
||||
```
|
||||
Vereisten voor screenshot:
|
||||
- `playwright` (`pip install playwright; playwright install chromium`)
|
||||
- `Pillow` (`pip install Pillow`)
|
||||
|
||||
Voor Telegram delivery:
|
||||
1. Open HTML in browser: `browser_navigate` naar `file:///root/adres-analyse/kaart.html`
|
||||
2. Screenshot maken: `browser_vision` met vraag over kaart inhoud
|
||||
3. Screenshot pad gebruiken in MEDIA: directive voor Telegram
|
||||
|
||||
**Vereisten:** `pip install folium shapely`
|
||||
Als playwright niet geïnstalleerd is, wordt de screenshot overgeslagen met een waarschuwing; de rest van het rapport werkt gewoon.
|
||||
|
||||
## Pitfalls
|
||||
|
||||
@@ -108,11 +106,11 @@ Voor Telegram delivery:
|
||||
|
||||
4. **Oppervlakte conversie**: ORS geeft area in m², niet km². Deel door 1_000_000 voor km² of 10_000 voor hectare.
|
||||
|
||||
5. **Folium installatie**: `pip install folium shapely` nodig voor kaartgeneratie (niet voor basis rapport).
|
||||
5. **PNG screenshot vereist playwright + Pillow**: De base64-afbeelding in het markdown wordt gegenereerd met een headless Chromium via Playwright. Zonder deze dependencies wordt de screenshot overgeslagen (het rapport blijft werken). Installeer met: `pip install playwright Pillow && playwright install chromium`.
|
||||
|
||||
6. **Telegram media**: HTML-kaarten werken niet direct in Telegram - maak PNG screenshots via browser tools.
|
||||
6. **Base64-afbeelding maakt markdown groter**: De JPEG is ~80-120KB base64. Dit is acceptabel voor een enkel rapport, maar het markdown bestand wordt merkbaar groter dan tekst-alleen.
|
||||
|
||||
7. **Rapport zonder kaart**: Het rapport.py script genereert alleen tekst. Voor visuele kaart: gebruik apart folium script + browser screenshot workflow.
|
||||
7. **Obsidian HTML links**: Obsidian opent `.html` bestanden in de systeembrowser (niet in de Obsidian viewer). De link werkt alleen als het HTML bestand in dezelfde vault staat.
|
||||
|
||||
8. **Obsidian API**: Vereist dat Obsidian draait met Local REST API plugin ingeschakeld. Token en host staan in script. Bestandsnaam wordt gegenereerd met timestamp om collisions te voorkomen.
|
||||
|
||||
@@ -143,8 +141,21 @@ Gegenereerd: 19-06-2026 18:42
|
||||
**Reach factor:** 0.091
|
||||
**Bereik:** 51.378°-51.679°N, 5.128°-5.530°E
|
||||
|
||||
💾 Data opgeslagen: `/tmp/isochroon_20260619_184239.geojson`
|
||||
🚲 **Bereikbaarheid (Fiets 30 min)**
|
||||
**Oppervlakte:** 145.9 km²
|
||||
**Reach factor:** 0.826
|
||||
**Bereik:** 51.440°-51.570°N, 5.251°-5.486°E
|
||||
|
||||
🏙️ **Voorzieningen dichtbij**
|
||||
...
|
||||
|
||||
🗺️ **[Bekijk interactieve isochroon kaart](huizenjacht/Griendvelden-14-5685JL-Best_20260622_111308.html)**
|
||||
|
||||
**🗺️ Isochroon kaart (auto + fiets):**
|
||||

|
||||
|
||||
💾 Ruwe isochroondata: `/tmp/isochronen_20260622_111308.geojson`
|
||||
|
||||
---
|
||||
_Onderdeel 1/?: Isochroon bereikbaarheid_
|
||||
_Onderdelen: geocoding, isochronen, voorzieningen_
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user