OpenStreetMap

Semplificare la geometria dai nodi eccessivi su JOSM: il plugin SimplifyArea

Posted by DarkSwan_Import on 14 April 2013 in Italian (Italiano)

Lavorando sui file .shp convertiti in dati .osm per il progetto di import degli edifici del Veneto mi sono reso conto che spesso le geometrie contengono nodi eccessivi rispetto alla forma che vogliono rappresentare. Per descrivere un edificio dalla forma rettangolare bastano 4 nodi in totale ma come potete vedere vi sono edifici che presentano anche 6-8 nodi!

Nodi inutili

Certo, si possono eliminare manualmente, controllando ogni edificio uno ad uno ma il processo risulta lento e qualche nodo rindondante può scappare (e vi assicuro nessuno vorrebbe controllare 26457 nodi manualmente, ovvero il riquadro di Mirano :P ).

Di recente ho scoperto un plugin per JOSM, “SimplifyArea” o Semplifica Area in italiano, scaricabile da "Modifica->Preferenze->Configura le estensioni disponibili". Questo plugin analizza le geometrie del file eliminando i nodi consecutivi troppo simili, analizzati seguendo un set di regole scelte dall'utente. Le impostazioni di default del plugin sono già ottimali ma ho preferito ridurre il limite di angolo da 10° a 5° (impostabile sempre dal menù Preferenze) per preservare maggiormente l'informazione. Quando il file .osm è stato corretto di tutti i suoi errori e nodi duplicati tramite il validatore, basta selezionare tutto (CTRL+A) e premere Strumenti->Semplifica Area (CTRL+MAIUSC+Y).

I risultati sono eccellenti: la forma non viene minimamente intaccata e si risparmiano dal 1% al 5% dei nodi caricati ( si parla anche di 500-1500 nodi in meno da caricare!), senza dover controllare tutto a mano! Averlo scoperto prima! :/

La sua vera utilità sarà quando verrà applicato nel progetto di import dell'utilizzo del suolo nel Veneto: questi SHP sono molto grossi, con un numero enorme di nodi da controllare (per le zone di Belluno si parla anche di 150.000 nodi per singolo comune!).

In questo ambito il plugin permette una straordinaria riduzione di nodi: da test preliminari sui file, avendo già eliminato tutti i nodi duplicati e tutti gli errori presenti nel file .osm, è possibile risparmiare un 30-40% di nodi. Ecco alcuni esempi:

Caerano San Marco: 15.665 nodi (non semplificato) -> 8790 nodi (semplificato) [46% di nodi risparmiati]

Jesolo: 46.018 nodi (non semplificato) -> 29.416 (semplificato) [36% di nodi risparmiati]

Ovviamente tutta la procedura di import è ancora sotto discussione ma sicuramente questo plugin potrà aiutarci parecchio! :)

Comment from davideg on 15 April 2013 at 17:40

Quali reali vantaggi porta il risparmiare qualche nodo per ogni forma? applicandolo all'esempio descritto in figura. A parte la dimensione dello shape intendo (se che risparmi 30Mb, oggi giorno non è un problema).

Hide this comment

Comment from DarkSwan_Import on 15 April 2013 at 17:52

Ciao,

l'esempio della figura è solo per illustrare il problema (sono alcuni edifici del riquadro di Jesolo), diciamo che si evita di appesantire inutilmente il database OSM con nodi che non forniscono informazioni in più sull'edificio. Ho visto troppo spesso dati caricati pari pari, senza averli minimamente controllati e "preparati" per l'import nel database. Inoltre permette di avere una geometria più pulita per futuri editing sull'edificio. So che 5000-6000 nodi in più su un totale di 1866592164 (dato aggiornato ad oggi di tutti i nodi presenti sul planet.osm) non sia una grande cosa (è circa uno 0,0003%) ma questo non deve giustificare un caricamendo di questi dati inutili. In fin dei conti, in tutto il processo di conversione->controllo->tag dei dati del Veneto, tutta l'operazione di semplificazione mi richiede solo 2-3 minuti. :)

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

    [Text](URL)
  • Image

    ![Alt text](URL)

Login to leave a comment