Download dei dati OpenStreetMap


43

Esiste un modo semplice per scaricare i dati da OpenStreetMap (OSM)?

Usando il Nord America come esempio, mi rendo conto che Cloudmade (Cloudmade non fornisce più download di OSM) e Geofabrik ( http://download.geofabrik.de/osm/north-america/ ) forniscono entrambi download, ma i file sono enormi (0,5 GB - 4 GB). Ho anche provato a utilizzare la barra degli strumenti QGIS-OSM, ma non ho avuto molta fortuna nel farlo, in quanto simile al sito Web OSM l'area che è possibile selezionare è molto piccola. La quantità di dati che voglio scaricare è a livello di città.

Infine, è facile utilizzare i dati OSM? Se scelgo di scaricare OpenStreetMap XML Datanon riesco ad aprire i file osm.xml usando QGIS (anche usando la funzione di importazione della barra degli strumenti QGIS-OSM). Mi chiedo se mi manca un modo più ovvio di gestire i dati.


Voglio solo sottolineare l'utilissimo clone StackExchange per assistenza con i problemi relativi a OSM! http://help.openstreetmap.org/


1
ma i file sono enormi ?? (0,5 GB - 4 GB) non nel mondo GIS - 5 TB + sta diventando normale
Mapperz

scusa, enorme per la mia macchina gracile. Non tanto 0,5 GB, ma 4 GB è ingestibile per me!
djq

L'ho esplorato un po 'di più, trovo che i dati forniti da Geofabrik siano più completi di cloudmade.
DJ

1
@Nathanus Confesso di essermi appena registrato ..... È vero, ma si sta davvero concentrando su ogni piccolo dettaglio dell'OSM, molti dei quali sono legati alla programmazione e non specifici di GIS. Se esistessero dei siti secondari di siti secondari sarebbe perfetto. I caratteri qui sono molto più nitidi!
djq,

1
@djq il sito di download di CloudMade sta restituendo un 404 ora - potrebbe essere stato interrotto ?
Stephen Lead,

Risposte:


33

JOSM

Forse la risposta più semplice ad entrambe le parti della tua domanda è usare JOSM. Java OpenStreetMap Editor . È facile scaricare dati e "usare" i dati.

Per il download, JOSM fornisce una semplice interfaccia che consente di selezionare un'area rettangolare da scaricare, tuttavia scarica questa tramite l'API di modifica. Ciò rifiuterà qualsiasi richiesta che sia troppo grande e, se è un po 'troppo grande, passerà molto tempo a pensarci. Generalmente un'intera città è troppo grande, ma potresti essere in grado di ottenere una buona quantità di dati richiedendo diverse aree rettangolari.

Per "usare" i dati JOSM ti consente di vedere i dati e di dare una buona occhiata in tutti i tag. La funzione di ricerca è abbastanza potente, che consente di selezionare elementi con tag particolari, ma oltre a ciò dipende davvero dal tipo di "utilizzo" che hai in mente. È possibile configurare il modo in cui JOSM visualizza i dati in una certa misura, ma per mappe carine è probabile che si desideri esaminare gli strumenti di rendering progettati per funzionare con i file OSM. Puoi anche guardare la conversione, ad esempio in shapefile , ma tieni a mente che i dati sono ... diversi ... rispetto a ciò a cui potresti essere abituato, quindi questa conversione è sempre un po 'smarrita.

A parte questo ... Sebbene sia un visualizzatore di dati ragionevolmente bello, lo scopo principale di JOSM è quello di essere un editor OpenStreetMap . Fai semplicemente clic su "carica" ​​per inviare le modifiche a OpenStreetMap (dovrai creare un account OpenStreetMap) Se non hai ancora provato la modifica di OpenStreetMap, dovresti davvero farlo . Chiunque abbia anche un interesse passeggero nelle mappe dovrebbe provarlo. Aggiungi il tuo ristorante locale alla mappa o qualcosa del genere. È l'unico modo per comprendere correttamente OpenStreetMap ed è divertente!

File più grandi

Cosa succede se una città è troppo grande per essere caricata in JOSM? Ci sono alcune altre opzioni (come segue) ma quando si ha a che fare con questa quantità di dati non si può sfuggire al fatto che sarà un po 'difficile "usare". Sei davvero fuori dal regno di piccoli strumenti GUI divertenti e in GIS di big data. La voce più semplice per questo (che non è poi così facile) sarebbe probabilmente quella di caricare un grande file .osm nel database PostGIS usando osm2pgsql , e quindi usare gli strumenti desktop GIS per visualizzarlo.

Estratti di città

Questo servizio download.bbbike.org offre download pronti per alcune città del mondo.

Osmosi

Se hai bisogno di una città diversa o di un riquadro di delimitazione diverso, devi ottenere uno dei download massicci che hai citato (un estratto del paese o l'intero pianeta ) e quindi estrarne un pezzo.

l'osmosi è lo strumento più utilizzato per questo. È uno strumento da riga di comando java che ti consente di estrarre un rettangolo di selezione sulla riga di comando unix con qualcosa del genere:

bzcat downloaded.osm.bz2 | osmosis\
  --read-xml enableDateParsing=no file=-\
  --bounding-box top=49.5138 left=10.9351 bottom=49.3866 right=11.201 --write-xml file=-\
  | bzip2 > extracted.osm.bz2

Questo mostra come evitare di riempire il disco con dati XML gonfiati decomprimendo un file .bz2, reindirizzando l'output in osmosi e quindi reindirizzando nuovamente l'XML risultante in un file compresso.

Quindi forse questo non si adatta alla tua definizione di "facile", ma l'osmosi è uno strumento utile per capire se sei interessato a manipolare file .osm di grandi dimensioni. Devi solo capire il comando giusto! (buon argomento per un'altra domanda immagino)


Ho usato JOSM - è molto bello. Tuttavia, sono interessato a grandi quantità di dati, di solito un'intera città che non posso fare al suo interno.
djq,

Ho esteso per risposta per entrare in alcune delle opzioni per lavorare con file più grandi. Purtroppo non è così facile, ma spero che sia d'aiuto.
Harry Wood

Grazie @ Harry. Ho finito per usare osmosissu Linux e ha funzionato bene. Attualmente voglio usare questa configurazione su Win 7 e sono entusiasta di vedere che c'è un .exebzcat. L'ultima volta che ho controllato non c'era. Sfortunatamente non sembra esserci un modo semplice di usare osm2pgsqlsu Windows, altrimenti sarebbe la mia scelta ideale.
djq

24

2
+1 Caspita che era prescient! Hai risposto a questa domanda 16 mesi prima ancora che apparisse :-).
whuber


Solo una nota al riguardo: funziona con l'attuale versione di QGIS che sto utilizzando (1.7), ma consente di scaricare solo aree molto piccole.
djq,

citazione dal blog Mapperz "I dati sono stati scaricati direttamente dai server Open Street Map [dati più aggiornati]. ** Esistono limiti di area controllati dai server OpenStreetMap, il plug-in ti avviserà di questo problema se necessario"
Mapperz

@celenius: il limite di dimensione è lì perché questo servizio Web OSM è destinato a scopi di mappatura (ad esempio, il download di piccole aree, la loro modifica e il caricamento di nuovo). Usarlo solo per scopi di sola lettura è generalmente disapprovato perché grava sull'infrastruttura OSM già sovraccarica.
Igor Brejc,

15

La semplice risposta è no, non esiste un modo semplice e veloce per farlo. Se vuoi dati a livello di città per tutto il Nord America, sarà un file enorme. Se si desidera un'area più piccola, CloudMade esegue lo stato in base ai file di stato. Puoi vedere le mie note sul processo su http://ian01.geog.psu.edu/geoserver_docs/data/openstreetmap/osm.html ma non mi sono divertito molto. Ho iniziato a guardare l'osmosi (http://wiki.openstreetmap.org/wiki/Osmosis) ma ho esaurito il tempo prima che riuscissi a fare molto, ma potrebbe essere una soluzione al tuo problema.

Per quanto riguarda l'uso dei dati OSM, puoi scegliere il loro approccio non standand / neogeogrpahy e usare mapnik ecc. Oppure importare i dati in PostGIS e farli funzionare in alcuni strumenti GIS adeguati.


6

Facendo eco al suggerimento di @Iiant, se stai cercando solo dati statunitensi, perché non considerare di scaricare un livello stato per stato per la tua particolare area di interesse da Cloudmade ? E se la tua area di interesse è un può essere solo un paio di dati dello stato, il modo più semplice di utilizzare i dati sarebbe quello di scaricare gli estratti del file di forma ( esempio dello Stato dell'Oregon ) che puoi usare praticamente in qualsiasi programma GIS comune.


Aggiornamento: Cloudmade è scomparso da tempo, ma al giorno d'oggi il servizio di download di geofabrik offre download statali per gli Stati Uniti qui: download.geofabrik.de/north-america.html
Harry Wood,

4

Probabilmente il modo più semplice e pulito per scaricare i dati OSM per un'area della mappa arbitraria sarebbe usare uno dei server OSMXAPI . L'API OSMXAPI deve essere utilizzata per l' accesso in sola lettura al geo. dati (a differenza dell'API OSM primaria che è orientata alla modifica ). Consente inoltre il download di aree più grandi rispetto all'API primaria.

Uno dei modi per accedere a OSMXAPI è utilizzare la scheda Esporta su http://www.openstreetmap.org/ (scegliere il pulsante di opzione "Dati XML OpenStreetMap" ).


Hai un server consigliato? Ne ho provati alcuni e ho riscontrato errori di timeout (credo). Da allora lavoro con una copia dell'intero globo su un computer locale.
djq,


1
OSMXAPI è sempre stato un po 'strano e al giorno d'oggi non esiste più come servizio in esecuzione da nessuna parte. Più vicino equivalente è il più potente Overpass_API , ma c'è un paio di altri siti web che fanno troppo si extract.bbbike.org e export.hotosm.org
Harry Legno

3

La società WeoGeo ora consente il download gratuito dei dati OpenStreetMap. È possibile disegnare uno schema dell'area per cui si desidera disporre dei dati e viene generato un file.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.