OpenStreetMap logo OpenStreetMap

Cascafico's Diary

Recent diary entries

CAP (postcodes) of Italy

Posted by Cascafico on 29 August 2018 in English. Last updated on 30 September 2020.

Abstract

Codici di Avviamento Postale (postcodes) are propriety of Poste Italiane S.p.A. Sometimes OSM mappers who love the completeness of data cannot get this codes from open sources.
The below procedure is a simple workaround, taking advantage of iPA (Public Administration index) OpenData which lists widespread public offices in Italy.

Getting data

Go to iPA site and download “Amministrazioni” file. Here you can read when it was last updated.

Filtering data

On downloaded file, run:
$> awk –field-separator=”\t” ‘{ print $3”,”$6 }’ amministrazioni.txt | sort -u > CAP.csv
The command above takes TAB-separated columns 3 and 6 (municipality and postcode), sorting uniques and writes a comma-separated file.

Alternatively, you can switch columns for postcode sorting:
$> awk –field-separator=”\t” ‘{ print $6”,”$3 }’ amministrazioni.txt | sort -u > CAP.csv

Multi postcode municipalities:

Some cities have more than one postcode: it could be someway useful listing public office addresses (column 10) to approximately identify the area:
$> awk –field-separator=”\t” ‘{ print $3”,”$6”,”$10 }’ amministrazioni.txt | sort -u > CAP.csv

Take a look

To count extracted postcodes, simply:
$> wc -l CAP.csv
8638 cap.csv

For an overview of firsts and lasts codes:
$> head -3 CAP.csv && echo “…” && tail -3 CAP.csv
Abano Terme,35031
Abbadia Cerreto,26834
Abbadia Lariana,23821

Zumpano,87040
Zungoli,83030
Zungri,89867

Download

Please, find in CSVs repo processed files.

Strade d'Italia

Posted by Cascafico on 21 June 2018 in Italian (Italiano). Last updated on 25 March 2019.

Qualcuno in ML si era chiesto come rappresentare la diffusione dei vari odonimi nazionali. Il metodo grezzo sarebbe scaricare qualche Gbyte di pbf da Geofabrik ed utilizzare osmconvert e osmfilter. Ma per perché trasferire inutilmente il 99% dei dati? Facciamo invece lavorare overpass-turbo per noi :-)

I file che troverete citati di seguito sono disponibili in github come pure lo script bash ItalyNames.sh che li genera.

Codice ISTAT

E’ noto che ogni comune italiano non può avere lo stesso odonimo per strade diverse, per cui la query se eseguita per ogni comune, ci permetterà di isolare solo la prima occorrenza del nome. Come individuare univocamente un comune? Il codice ISTAT assegnato al tag ref:ISTAT ci viene in aiuto. Facciamoci un’idea di quanti comuni abbiamo e qual’è il loro codice: query codici ISTAT comuni italiani

Sintetizzo l’output del file municipality_codes (7955 linee) con le prime e le ultime:
001001
001002
001003

111105
111106
111107

Adesso sappiamo che è numerico, composto da 6 cifre e che l’Italia ne ha oltre 7955; internet ci viene in aiuto rivelandoci che le prime 3 sono il codice provincia. Se poi ci viene la cursiosità di sapere quante sono, sul municipality_codes ottenuto sopra eseguimo un:
pi@raspberrypi:~ cat municipality_codes | cut -c 1-3 | sort -u | wc -l
109

Per i nostri scopi creiamo anche la lista delle provincie province_codes:
pi@raspberrypi:~ cat municipality_codes | cut -c 1-3 | sort -u > province_codes

Con municipality_codes potremmo già eseguire in loop una query overpass che estrarrebbe tutto, ma sia per limitare le richieste al server, sia per rendere futuri aggiornamenti dei nomi più gestibili, rompiamo ulteriormente municipality_codes generando un file per ogni provincia con la lista dei codici ISTAT dei suoi comuni; otteniamo per esempio il file “100”: pi@raspberrypi:~ cat 100
100002
100004
100003
100006
100001
100007
100005

Script di query overpass-turbo

See full entry

Il comune di Milano ha pubblicato un dataset delle piste ciclabili. Facciamo una umap per capire la situazione rispetto ad osm.

  • facciamo il login con le credenziali OSM
  • selezioniamo “creare una mappa”
  • importiamo il dataset (nel nostro caso geojson) con il bottone e dx “importa dati”; se il nostro file non ha una estensione esplicita, dobbiamo informare umap di cosa si tratta con “scegli il formato dati”; se va tutto bene ci troviamo il layer delle ciclabili nel colore di default (blu).
  • otteniamo i dati al volo tramite overpass-turbo: questa è la query per Milano che estrae le ciclabili da OSM, per altri comuni basta sostituire la geocodeArea in alto.
  • su overpass-turbo salviamo da qualche parte la stringa che genera i dati della query: export>query, clicchiamo sul “compact” e copiamo il link
  • per importare i dati della query in umap è necessario creare un nuovo layer ed aprire il form a destra su “dati remoti”; qui incolleremo la stringa appena copiata; scegliamo il formato dati “osm”; mettiamo in ON le opzioni “dinamico” e “richiesta proxy”
  • salviamo la mappa e dopo alcuni secondi (dipende da traffico su overpass-turbo) dovremmo vedere anche il layer dei dati estratti da OSM.

Questa è la procedura di base, dopicichè si tratta di aggiustare lo sfondo (ho scelto il monocromatico), i colori dei layer e le eventuali etichette che appaiono passando il mouse sopra ed al click.

Elevations mass editing

Posted by Cascafico on 13 March 2018 in Italian (Italiano). Last updated on 14 March 2018.

Update: comments pointed out that such edits are against the code of conduct, even if not automated. I leave this post just as personal hint on queries and regexp’s.


It happens there’s a lot of OSM tags “ele”=” m" that can't be processed by useful queries like [find volcanoes between 1000 and 2500 meters high](http://overpass-turbo.eu/s/wXw)

How I remove unit of measure:

  • download faulty data with this generic overpass-turbo query
  • from export menu, “download/copy as raw OSM data”

  • load resulting .osm file in Notepad++ (or whatever regexp editor)
  • find&replace (CTRL+h) twice with the following fields:
    find: k=”ele” v=”(\d+(.\d+)) m” will find for example “450.5 m”
    replace: k=”ele” v=”$1” will replace “450.5”
    find: k=”ele” v=”(\d+) m” will find for example “450 m”
    replace: k=”ele” v=”$1” will replace “450”
  • load in JOSM modified .osm file
  • select all (CTRL+a) and add a fake tag (ie: pippo=pluto) to every node and remove it (just a shortcut to add “modify” tag to elements, otherwise you won’t be able to upload anything

Remember to add proper changeset comment.

Civici da Telegram

Posted by Cascafico on 22 February 2018 in Italian (Italiano). Last updated on 23 February 2018.

Piersoft ha formito un prototipo a “Roma Capitale” per la rilevazione di punti di interesse (PDI) via bot Telegram.

La umap contiene in basso a sinistra il collegamento per scaricare i dati raccolti in formato csv.

I dati sono di pubblico dominio (CC0); tra varie categorie di PDI ci sono anche i numeri civici; i campi oltre al numero inserito dal rilevatore, contengono la data del sopralluogo ed il geocoding (via Nominatim) della strada; per importarli in Openstreetmap è necessario convertirli per esempio con csv2osm. Nel caso volessimo importare i civici in OSM avendo cura di:

  1. filtrare il .csv per “categoria”=”Civico” perl -i -ne ‘print if /,Civico/’ map_data.txt

  2. aggiungere lo header del .csv modificato, lasciando solo i campi utli del .csv:
    lat, lon,,,survey:date,,,source,,,,description,addr:housenumber

  3. adattare i valid_tags del .py
    valid_tags = [‘addr:housenumber’, ‘survey:date’, ‘source’, ‘description’]

  4. eseguire la conversione: python csv2osm.py map_data.txt > civici.osm

Importato in JOSM il file civici.osm, eliminare errori di battitura o civici non validi, cercandoli (CTRL+F) con la stringa:

“addr:housenumber”=[0-9]*[a-z] or “addr:housenumber”=[0-9]*

avendo cura di abilitare “espressione regolare” tra i checkbox a sinistra.

In alternativa, per evitare questo lavoro di editing, credo sia possibile installare in JOSM il plugin per importare i file csv, ma la mia release è piuttosto vecchiotta e non accetta funzioni aggiuntive.

Ovviamente resta il problema della “conflation”, ovvero di importare solo i civici che non sono stati già mappati, nonchè addr:streetname.

Routing QA [eng]

Posted by Cascafico on 29 November 2017 in Italian (Italiano).

Mini abstract

Quoting OSM wiki about routing

“Checking your fix. After you have fixed an error on the map you will need to wait until the revised version of the map propagates into the routing engine you are using. This delay will depend for each engine…”,

…one of the problems in Qualty Assurance (QA) is the lag between OSM editing and update of routing databases. As far as I know, implementation takes some hours in Grasshopper and 24+ in Mapzen and OSMRM.

Hence, in trying to solve a routing problen (ie: for an interchange) testing can only be done well beyond editing time :-(

Let’s see how we can bypass this delay using an homemade router.

Choosing a router

Routino looks simple, functional and flexible. I picked out this SW because it works flawlessly even on a small device like my OrangeePi: as an example, you can route in Friuli Venezia Giulia with this live instance, updated daily. For larger areas we’d soon experience performance problems; so let’s leave global routinig up to above mentioned services and focus on a kind of patchwork on-demand…

Automating patch generation

User should be able to choose the area to debug: to achieve this (and due to my zero experience in html/perl scripts) I create a Telegram bot named Routino Patcher and a bash script to manage content.

What happens is:

See full entry

Location: Baldasseria Media, Udine, Friuli-Venezia Giulia, 33100, Italia

Routing QA

Posted by Cascafico on 3 October 2017 in Italian (Italiano). Last updated on 19 October 2017.

Mini abstract

Come riportato nella wiki sul routing. “Checking your fix. After you have fixed an error on the map you will need to wait until the revised version of the map propagates into the routing engine you are using. This delay will depend for each engine…”, uno dei problemi della Qualty Assurance (QA) è il tempo che intercorre tra la modifica OSM e l’integrazione nei database di routing. Per quel che ho visto, Grasshopper è più rapido ad aggiornarsi di Mapzen ed OSMRM, ma si tratta sempre di alcune ore per il primo e più di un giorno per gli altri.

Se trovo un problema di routing ad uno svincolo e cerco di risolverlo, il riscontro va ben oltre il tempo di editing, Vediamo quindi se possiamo ovviare a questo ritardo, in modo casalingo…

Individuiamo un router

Routino sembra essere semplice, funzionale e flessibile. La mia scelta è caduta su questo SW, perchè funziona agilmente anche sul mio OrangePi, con il quale posso fare routing sui dati per il Friuli Venezia Giulia. Per aree più estese si incontrerebbero presto i limiti hardware di questa macchinetta, per cui lasciamo il routing mondiale ai servizi sopraccitati e dedichiamoci a come generare al volo una sorta di patchwork on-demand…

Automatizziamo la compilazione

L’utilizzatore deve poter scegliere la zona geografica che vuole controllare; all’uopo (non avendo conoscenze di programmazione html5) ho creato un bot Telegram che ho chiamato RoutinoBot ed un bash script che ne gestisce i dati ottenuti. Quello che succede è:

See full entry

OSM Analytic Tracker (OSMAT)

Posted by Cascafico on 18 September 2017 in Italian (Italiano). Last updated on 25 March 2019.

Mini-abstract

Tracking vandalisms is often not an easy task. To accomplish this activity I hardly find useful digging in the history of OSM changesets.

Instead OSMAT features a clean list of create/modifiy/deletes and tag changes; the latter one is particularly useful to track “advanced vandalism”.

OSMAT focuses on fast detection, so don’t expect to configure it on a national base, since rows will start to scroll too fast for spotting problems. For the same reason, OSMAT relies on minimal base of mappers and (quoting its wiki) “Improve[s] team spirit of a regional OSM team/task-force”.

The following installation procedure has been brought live on a OrangePi PC single-board computer. Here you can find a regional live instance for Friuli Venezia Giulia Italy.

Docker installation

OSMAT deployment is Docker based, so refer to Davide’s Docker installation
UPDATE: as from 2019-03-20 installation command quoted at the above link doesn’t work anymore for my debian jessie armhf. Please, use the following:
$ sudo curl -sSL https://github.com/moby/moby/raw/v1.13.1/hack/install.sh | sh

OSMAT download

Then download OSMAT sources:
$ git clone https://github.com/MichaelVL/osm-analytic-tracker.git

Check docker service

$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Active: active (running) since Sat 2017-09-16 11:40:37 CEST; 2 days ago

OSMAT configure

Once you got docker up and running (I had to upgrade linux kernel > 3.10 for my Jessie Orange Pi) and before compiling container, you have to configure active region.

Default available regions are the ones defined by Geofabrik. For instance, navigate to nord-est, take note of .poly link (nowadays is https://download.geofabrik.de/europe/italy/nord-est.poly) and edit configuration file:

See full entry

Controllare una rete di sentieri

Posted by Cascafico on 16 June 2017 in Italian (Italiano). Last updated on 19 June 2017.

A seguito dell’accordo di collaborazione tra Club Alpino Italiano e Wikimedia Italia, si cercherà di fare un po’ di ordine nella rete delle relazioni sentieri CAI in modo che possa anche essere facilmente aggiornata. All’uopo è stata creata la pagina wiki OSM CAI che elenca nel dettaglio gli attributi che gli elementi escursionistici devono/possono avere.

Quello che segue è il metodo che sto applicando per il controllo delle relazioni CAI, applicato al settore 7 del Friuli Venezia Giulia. Lo strumento principale usato è overpass-turbo. L’identificativo numerico “@id” della relazione ci servirà per isolare facilmente tutti gli elementi che compongono il sentiero.

Situazione sopralluoghi

Intanto un’occhiata all’area geografica coinvolta: inquadriamo l’area che contiene i nostri sentieri ed eseguiamo questa query che evidenzia su mappa le relazioni del settore 7XX operate dal CAI che sono state etichettate con sopralluogo (survey:date=2017).

Poi ne generiamo
una lista:
@id @type name ref 1867679 relation 725 725
1867680 relation 749
[…]
7272887 relation 752
7276582 relation 746 746

Analogamente generiamo la lista delle relazioni senza survey:
@id @type name ref
126402 relation 727 727
1121382 relation 761a 761a
[…]
141593 relation 702
380612 relation sentiero C.A.I. 727 727
419017 relation 727A 727A

Non c’è molta uniformità nell’uso di “name” e “ref”, ma possiamo tralasciare.

Controlli OSM

Prendiamo per esempio la prima relazione senza sopralluogo del sentiero 702 con @id=141593 e controlliamola con due utili servizi online:
- OSM Relation Analyzer per vedere eventuali interruzioni del percorso, composizione dei tratti ecc.
- Waymarked trails per vedere la simbologia utilizzata, il profilo altimetrico ed una sitesi delle etichette.

See full entry

Location: Madonna delle Grazie, Fornalis, Cividale del Friuli, Udine / Udin / Videm, Friuli-Venezia Giulia, 33043, Italia

Problema: la locale sede del CAI ha molte foto georeferenziate dei segnavia sentieri e vuole inserire le informazioni in Openstreetmap.

  1. installare exiftool sudo apt-get install exiftool

  2. creare il file csv da importare su umap con exiftool exiftool -filename -gpslatitude -gpslongitude -n -csv segnavia.csv

  3. mandare in qualche server i file delle foto; per esempio: sftp -P <porta di solito 22> www-data@pippo.zapto.org:/var/www/osm/cai/files «< $’put /root/Desktop/cai/out.csv’

  4. caricare come layer csv in umap e customizzare per un Level0 l’inserimento come nodi OSM

Preparare un import di toponimi

Posted by Cascafico on 11 May 2017 in Italian (Italiano). Last updated on 15 May 2017.

Intro

La regione Friuli Venezia Giulia apre i dati dei toponimi orografici, una tabella di circa 8.000 nodi in cui appaiono i campi latitudine, longitudine, toponimo, comune di appartenenza.

Il problema è preparare un import nel DB Openstreetmap nel quale si suppone gran parte di tali toponimi siano già esistenti.

Metodo

Eseguire un geocoding su OSM e filtrare la tabella mantenendo le righe che non contengono corrispondenze.

Strumenti

  • csvgeocode permette di ottenere le coordinate a partire dal nome, gestendo la consultazione di Nominatim (server dei nomi di Openstreetmap) per ogni riga di una tabella csv. Istalliamo: > sudo apt-get install npm
    > sudo npm install -g csvgeocode
    e, per alcuni sistemi,
    > sudo ln -s /usr/bin/nodejs /usr/bin/node

  • Nominatim la cui API restituisce le coordinate geografiche in base alla eventuale corrispondenza del nome.

Dati

La tabella toponimi_orografici.csv potrebbe per esempio contenere:

lat,lon,toponimo,comune
46.594043,12.784886,Bosco Suttul,Forni Avoltri
46.591637,12.787770,Buialecis,Forni Avoltri
46.590845,12.792660,Buialecis,Forni Avoltri
[…]

Avremo cura di rinominare le intestazioni relative alle coordinate, perchè non siano riscritte da csvgeocode:

xlat,xlon,toponimo,comune
46.594043,12.784886,Bosco Suttul,Forni Avoltri
46.591637,12.787770,Buialecis,Forni Avoltri
46.590845,12.792660,Buialecis,Forni Avoltri
[…]

Riga di comando

csvgeocode toponimi_orografici.csv out.csv \ –handler osm \
– delay 1000 \
–verbose \ –url “http://nominatim.openstreetmap.org/search?q={{toponimo}},{{comune}}&format=json&viewvbox=12.3,46.68,13.95,45.54”

”–handler osm” definisce il servizio di ricerca Nominatim, che prevede la possibilità di inserire oltre alla query anche dei parametri di ricerca; nell’esempio sopra, il comune e la bounding box della regione.
“–delay 1000” definisce il ritardo tra le richieste, secondo la policy per Nominatim

Risultati

Otteniamo la tabella out.csv:

See full entry

Trasporti urbani di Gorizia

Posted by Cascafico on 12 July 2016 in Italian (Italiano). Last updated on 21 July 2016.

Riprendo ancora questo tema.

Raccolta dei dati

Fermate (GTFS stops.txt)

Query ovepass per la “Rete del Trasporto Pubblico Urbano di Gorizia” dell’operatore “APT”

Viaggi (GTFS trips.txt)

Devo estrarre la sequenza di fermate per ogni linea.
1: Sant’andrea - Montesanto
1: Montesanto - Sant’Andrea

eccetera.

Per la linea from=Montesanto ottengo la sequenza
ref 07002 07040 …
07032 07035 CIP05 07213

devo verificare in OSM perchè sembra che si tratti del viaggio opposto (infatti la fermata iniziale 07002 è a Sant’Andrea. Da invertire l’ordine nella relazione.

Sistemato, posso elaborare con spreasheet…

trip_id,arrival_time,departure_time,stop_id,stop_sequence
61,,,07213,1
61,,,CIP05,2
61,,,07035,3
61,,,07032,4

61,,,07038,16
61,,,07039,17
61,,,07040,18
61,,,07002,19

Be’ qua il lavoro comincia a farsi tosto e noioso… Perché non provare gtfs-editor? É open source, le procedure sono guidate e mi permette di creare da mappa, con un riscontro decisamente più immediato.

gtfs-editor

  • Tengo utile la query che mi elenca le fermate e le relative coordinate
  • creo un Agenzia ed una route con un paio di fermate cliccate a caso sulla mappa
  • esporto un gtfs giusto per avere un template dove inserire le vere fermate della query
  • adatto gli header del CSV ed importo il gtfs modificato. A questo punto ho tutte le fermate sulla mappa
  • rinuncio alla query delle relazioni OSM, a favore del clicca su mappa la sequenza (trip)
Location: Case dell'Eremita, Gorizia, Friuli-Venezia Giulia, 34170, Italia

Transit APT

Posted by Cascafico on 28 June 2016 in Italian (Italiano). Last updated on 5 July 2016.

Inizio a compilare i file GTFS per l’Azienda Provinciale Trasporti (APT - Gorizia) con qualcosa di semplice: i collegamenti aeroportuali.

Fonte il volantino dell’azienda dei Collegamenti Aeroporto Estate 2016, dove non viene definita nessuna licenza all’uso (o almeno non ne ho intravisto la definizione)-

Inserito alcune fermate e creo relazioni con JOSM; un utile strumento per verificare questa attività è overpass: questa query evidenzia la linea ref=1 della network=”Rete del Trasporto Pubblico Urbano di Gorizia”.

Poi comincio a raccogliere i dati per il file stops.txt con la seguente Overpass query

MI vengono restituite le seguenti linee:

ref:apt,name,@lat,@lon
20605,Grignano Miramare,45.7068082,13.7159159
20608,Piazza della Libertà,45.6571277,13.7722080
01629,capolinea APT,45.8207708,13.4838185
20106,Duino Centro,45.7733263,13.6044971
12029,Monfalcone,45.8086023,13.5326253
20110,Sistiana,45.7713633,13.6373722

Standardizzo lo header con
stop_id,stop_name,stop_lat,stop_lon
compilando quindi il file stops.txt

Il tag OSM “ref:apt” (che diventa GTFS “stop_id”) sembra univoco per tutta APT; TODO: verificare le altre sue linee, per non avere duplicati.

Inserisco le date di inizio e fine validità in calendar.txt dai dati APT

Per i codici dei viaggi riporto quelli APT (anche questi sembrano univoci) compilando “trip_id” di trips.txt

Per i codici delle linee riporto quelli APT, compilando la colonna “route_short_name” di routes.txt

Transit a Udine

Posted by Cascafico on 6 June 2016 in Italian (Italiano). Last updated on 22 June 2016.

Note per la creazione di un feed GTFS che mi servità per “alimentare” un’istanza di Open Trip Planner

Osservo la struttura dei file template da preparare; inizio dalle fermate (stops.txt):

  • stop_id,stop_name,stop_desc,stop_lat,stop_lon,stop_url,location_type,parent_station
  • S1,Mission St. & Silver Ave.,The stop is located at the southwest corner of the intersection.,37.728631,-122.431282,,,

Creo una query overpass per estrarre i dati delle fermate della linea 4 nel formato standard come quello sopra (poi dovrò anche rinominare i nomi dei campi della prima riga).

Ottengo:

  • ref,name,@lat,@lon header che modifico in…
  • stop_id,stop_name,stop_lat,stop_lon
  • 391,Roma / Torino,46.0487494,13.1928968
  • 389,Roma / Novara,46.0474911,13.1972403
  • 391,Roma / Torino,46.0485943,13.1937346
  • 381,Via Lignano / Santa Caterina,46.0457494,13.1972616

Purtroppo ad Udine il riferimento (in OSM tag “ref”) delle fermate ai due lati della strada è unico ed il GTFS non accetta duplicati come il qui sopra “391”.

Soluzione 1: ricorro ad excel “rimuovi duplicati” oppure a linux “sort uniq” e rinuncio alle coordinate di una delle due fermate.

Soluzione 2; ricorro ad un foglio elettronico, ordino per fermata, inserisco una nuova fermata dove applico la formula =SE(B1=B2;CONCATENA(B2;”a”);B2)

in questo modo ottengo, per esempio:

111,111,Via Cividale / Albona,46.0690524,13.2474479 111a,111,Via Cividale / Albona,46.0690138,13.2470564

Poi compilo i file “required”, secondo le direttive

See full entry

Visto che l’Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane ha da tempo liberato i dati anagrafici delle biblioteche, o pensato di importarli in Openstreetmap.

Le etichette utili sono:

  • codice-isil
  • denominazione
  • indirizzo
  • cap
  • comune
  • latitude
  • longitude
  • telefono
  • fax
  • email
  • url

Come spesso accade, la qualità del dataset non è di un livello compatibile con Openstreetmap, in quanto le coordinate geografiche sono imprecise (da pochi a centinaia di metri). Ho creato una umap perchè intendo importare tramite un processo manuale assistito.

La umap ha due strati con i quali si interagisce tramite dei pop-up.

Farmacie in Friuli Venezia Giulia

Posted by Cascafico on 19 November 2015 in Italian (Italiano). Last updated on 26 January 2016.

Il Ministero della Salute ha aperto i dati delle farmacie italiane

Problemi:

  • indirizzi non standardizzati (C. Battisti, Battisti Cesare, P.zza Liberta’, Papa Giovanni XXIII, ecc)

  • coordinate raramente corrette, frutto di geocoding non precisato

Soluzioni attuate (per il Friuli Venezia Giulia):

  • (eliminazione virgola dal campo INDIRIZZO)

  • filtro del csv originale per DESCRIZIONEREGIONE e DATAFINEVALIDITA

  • eliminazione duplicati per CODICEIDENTIFICATIVOFARMACIA

  • standardizzazione con direttive ISTAT (Cesare Battisti, Piazzale Libertà, papa Giovanni Ventitreesimo, ecc)

  • prerequisito per il geocoding preciso: [numeri civici regionali importati] (osm.wiki/Friuli_Venezia_Giulia/Import_Civici_FVG)
  • geocoding con csvgeocode (grazie Napo), risultato in tabella

Quality Assurance:

  • creazione della umap farmacie FVG con layer “geocoded”, alimentato dalla relativa tabella e “preesistenti”, alimentato query overpass amenity=pharmacy nei confini regionali

  • creazione popup per facilitare il copincolla sugli editor OSM (ie: JOSM)

Inserimento in OSM

  • csv > Qgis > shp

  • JOSM plugin “open data” per leggere shp

  • adattare i tag (ie: PARTITAIVA > ref:vatin)

  • conflation in JOSM

in alternativa, se le farmacie mancanti non sono molte:

  • umap individuare le palette blu (geocoded) senza il pallino verde (preeesistenti in OSM) ed aprire l’area inquardrata in iD oppure JOSM (espandere menu a sinistra)

TODO

  • per risultato univoco del geocoding, inserire nella ricerca anche il CAP (o più lento, DESCRIZIONEPROVINCIA); verificare nominatim

Serverino TMS FVG

Posted by Cascafico on 27 April 2012 in Italian (Italiano).

Ciao forum! Lascio per qualche settimana un server TMS per alcune zone del Friuli. E’ un android di fascia bassa: lasciate qualche commento sulle prestazioni.

Di default sovrappone il mio rendering ed addende varie (tra cui Corine landcover) ai dati OSM con rendering Mapnik; la numerazione delle tile è Openlayers, per cui non va bene per chi usa JOSM. Prossimamente, se le prestazioni sono decenti, produrrò anche la numerazione per JOSM e copertura San Daniele, Cordoipo, Palmanova, Risorgive.

Udine - Cividale

Location: Borgo Poscolle, Udine, Friuli-Venezia Giulia, 33100, Italia

Start!

Posted by Cascafico on 10 February 2011 in Italian (Italiano).

Oggi ho iniziato a mappare! Dopo infruttuosi tentativi via Portlatch a causa di una connessione non molto veloce, ho scoperto JOSM e debbo dire che l'applicativo è molto ben studiato per la collaborazione. Avevo una certa esperienza in altro applicatvo GIS sviluppato in Java, OpenJump e JOSM è altettanto efficiente.

Location: Borgo di Ponte, Cividale del Friuli, Udine, Friuli-Venezia Giulia, 33043, Italia