Oggi vorremmo parlare dei vantaggi derivanti dalla combinazione di dati spaziali provenienti da varie fonti di dati aperti. Considereremo ad esempio il seguente compito: valutare se un determinato immobile si trova in un’area “verde”. Senza ulteriori indugi, mettiamoci al lavoro!
PS Di seguito consideriamo un semplice metodo di calcolo basato solo su dati aperti, che copre la maggior parte (vorrei credere a tutte) delle città. Ecco perché qui sotto non vedrai descrizioni di approcci di apprendimento automatico formati su tali dati, che difficilmente saranno disponibili gratuitamente.
Approccio 1. Il più accurato, ma non per i pigri
Immaginiamo che un simile compito di valutazione sia avvenuto per un immobile nella città di Berlino al “Berlino, Neustädtische Kirchstrasse 4–7”. Il compito non è stato assegnato a un programmatore a tempo pieno, ma, supponiamo, a una persona che non sa programmare, ma diligente e pronta a imparare qualcosa di nuovo. Dopo aver cercato su Internet, l’“esperto nella valutazione del verde dell’area” ha già scaricato QGIS e ha imparato a utilizzare il modulo Quick Map Services. I prossimi passi possono essere ovvi, ma di gran lunga non sono facili: è necessario capire in quale formato i dati spaziali sono rappresentati nei sistemi informativi geografici (GIS) (vettoriale e raster), quindi imparare a creare tali oggetti e confrontare tra loro (per calcolare le aree).
Nonostante il fatto che insieme alle azioni sopra descritte sia necessario colmare molte altre lacune di conoscenza (ad esempio, cos’è un sistema di riferimento di coordinate e cosa sono), il processo che richiede più tempo potrebbe essere la creazione di oggetti: la vettorizzazione. E mentre le operazioni GIS saranno sempre più facili da eseguire con conoscenza ed esperienza, la vettorizzazione è difficile da automatizzare (è quasi sempre così).
Allora, cosa può fare il nostro specialista? Possono scaricare i dati di Google Satellite tramite il modulo Quick Map Services ed etichettare manualmente i dati, disegnando le geometrie degli oggetti stessi. In questo caso, i parchi e tutto ciò che gli somiglia. Quindi potrà posizionare un buffer di 2.000 metri attorno (ad esempio) alla proprietà per calcolarne l’area. Quindi seleziona le proprietà che si trovano nella stessa area, assegnale come spazi verdi e calcola la loro area. Il rapporto “area delle aree verdi del quartiere/area del quartiere” sarà il valore che cerchiamo.
Una precisazione importante è suggerire che il nostro specialista vive a Berlino e conosce bene la zona investigata. Pertanto, gli oggetti selezionati manualmente dall’immagine possono essere considerati come una combinazione di rilevamento del terreno insieme alla mappatura manuale di immagini satellitari.
Professionisti: Stima abbastanza accurata e obiettiva. Il rapporto calcolato caratterizza pienamente il “verde del quartiere”. Il nostro specialista riceverà sicuramente un bonus.
Contro: L’approccio proposto richiede molti passaggi manuali. Questo lavoro non può essere svolto rapidamente (mi ci sono volute 4 ore in totale). Inoltre dobbiamo ripetere molte delle stesse azioni: tale lavoro può far sì che il nostro specialista lavori per un paio di settimane e vada in un’azienda dove non gli faranno contare le zone verdi in questo modo.
Approccio 2. Davvero economico
Sicuramente stiamo parlando di OpenStreetMap… Nel frattempo il nostro eroe ha capito che l’IT in generale è molto più interessante del settore immobiliare e ha iniziato a imparare il linguaggio di programmazione Python (ovviamente). Lui/lei ha acquisito familiarità con il osmnx modulo e geopanda libreria per elaborare dati spaziali e formoso libreria per elaborare geometrie. Con questo trio è possibile effettuare una valutazione procedurale del verde di un’area. È necessario eseguire i seguenti passaggi:
- Crea un poligono attorno al punto (proprietà): il confine dell’area da analizzare
- Interroga i dati OSM che si trovano in questo poligono (per interrogarlo, è necessario capire il file sistema di etichettatura di cui dispone OSM)
- Calcola le aree in corrispondenza del poligono e ottieni le geometrie dei parchi e delle aree verdi secondo OSM
Questo approccio è molto più veloce poiché non richiede la creazione manuale dei poligoni. In effetti, altre persone hanno già creato questi poligoni per noi: questo è ciò che rende eccezionale OSM. Tuttavia, OSM presenta degli svantaggi: i dati potrebbero essere imprecisi. Inoltre, anche se i poligoni vengono visualizzati correttamente dagli utenti, c’è sempre la possibilità che si calcoli erroneamente l’insieme di tag per una query e si perdano alcuni dati importanti (Figura 2).
E ci sono molte di queste zone. La Figura 2 mostra solo una piccola frazione. Tuttavia, anche questo approccio ci consente di valutare in modo rapido e approssimativo, ma comunque oggettivo, il verde dell’area.
Professionisti: Veloce e facile da valutare. Nonostante le inesattezze, i dati OSM possono essere utilizzati nella maggior parte dei casi
Contro: Errore di stima elevato se i dati di origine non sono corretti o se l’insieme di tag da interrogare non è sufficientemente dettagliato
Approccio 3. Immagini Landsat come fonte di dati oggettivi
Oh, quanto è stato detto e scritto su Landsat. E anche sulle applicazioni basate sull’indice di vegetazione calcolato NDVI. Se sei interessato, ti suggeriamo di controllare i seguenti materiali:
Riassumere:
- Landsat è un satellite che sorvola la Terra e acquisisce immagini con una risoluzione spaziale abbastanza elevata (da 15-30 nello spettro ottico a 100 metri nello spettro del lontano infrarosso)
- L’indice della differenza di vegetazione normalizzata (NDVI) è un indice di vegetazione che può essere calcolato da un’immagine scattata da Landsat. NDVI assume valori da -1 a 1, dove -1 significa che in un dato pixel non c’è assolutamente nulla di verde (ad esempio acqua), e 1 significa che l’area nel pixel è molto verde – è ad esempio una foresta.
Quindi, possiamo ottenere un’immagine Landsat (può essere scaricata da Qui — cercare il prodotto “Landsat 8–9 OLI/TIRS C2 L2”) per l’area selezionata e calcolare l’NDVI. Quindi variando la soglia possiamo segmentare l’immagine in due classi: 0 — area non verde e 1 — area verde. Possiamo variare la soglia come vogliamo (Figura 3), ma onestamente non sappiamo con certezza quale soglia di binarizzazione funzionerebbe meglio. Inoltre, questa “soglia ottimale” sarà diversa per ogni nuova immagine ottenuta da Landsat: sia per un nuovo territorio che per un diverso indice datetime.
Professionisti: L’approccio fornisce informazioni aggiornate sul fatto che un’area sia verde
Contro: Scegliere il valore di soglia ottimale è complicato: non è chiaro quale valore scegliere per separare la vegetazione dalla non vegetazione in base alla soglia. Ci sono fontiovviamente dove è possibile trovare informazioni sulle soglie proposte, ad esempio da 0,35 in su. Bisogna però tenere presente che questo valore di soglia ottimale può cambiare da immagine a immagine, da stagione a stagione, ecc.
Approccio 4. Aree secondo Landsat, soglie secondo OpenStreetMap
Una soluzione ragionevole al problema della definizione della soglia potrebbe essere quella di utilizzare i dati OSM. Anche se i dati OSM potrebbero presentare artefatti o mancare alcuni oggetti del mondo reale, in generale forniscono un quadro completo di dove si trovano gli oggetti (parchi, piazze, edifici). Sovrapponiamo quindi la mappatura della geometria ottenuta dai dati OSM e NDVI, quindi costruiamo un istogramma (Figura 4).
La linea nera nella figura mostra un valore che può essere utilizzato come soglia. Successivamente è possibile arricchire i dati OSM con ulteriori poligoni ottenuti mediante vettorizzazione automatica della matrice Landsat. Pertanto, tutto ciò che si trova a destra della soglia calcolata si trasforma in “zone verdi”. Grazie a questo approccio, i confini vengono estesi (Figura 5).
Invece di una conclusione
Ci sarà una foto…
Come si può vedere, il terzo approccio con l’adeguamento dei confini degli oggetti utilizzando i dati Landsat si è rivelato il più vicino al benchmark (vettorializzazione manuale). Anche i valori calcolati dell’area confermano tale affermazione:
- (Benchmark) Vettorializzazione manuale: 25%
- Calcolo con dati OSM: 17 %
- Calcolo basato su dati OSM e NDVI Landsat perfezionati: 28 %
Come possiamo vedere, la nostra stima, sebbene leggermente sopravvalutata, è ancora molto più vicina ai valori reali rispetto al calcolo secondo i dati OSM. Inoltre, il nostro approccio ha individuato aree verdi che non avevamo esplorato durante la vettorizzazione manuale: i cimiteri del nord. Se li escludiamo dall’analisi, le aree calcolate saranno molto più vicine al benchmark.
PS Sulla base di questa idea, abbiamo lasciato i seguenti artefatti:
- https://github.com/red5ai/estaty — Libreria Python open source per l’elaborazione di dati spaziali e la preparazione di algoritmi MVP per l’analisi immobiliare. La libreria è piuttosto nuova, ma abbiamo intenzione di svilupparla e migliorarla
- http://api.greendex.wiredhut.com/ — servizio per il calcolo dell’indice “verde” e uno strumento interno (estensione per fogli di calcolo Google), in modo da poter lavorare comodamente con gli algoritmi di cui sopra sia tramite API che tramite formule in tabelle (per chi non sa codificare). Questa versione utilizza un calcolo semplificato senza utilizzare i satelliti Landsat
La storia della combinazione dei dati OSM e Landsat è stata raccontata da Michail Sarafanov E La squadra di Wiredhut
Fonte: towardsdatascience.com