[Talk-it] Nuova funzionalità per Wikipedia-tag-in-OSM (lavori in corso)

Cristian Consonni kikkocristian a gmail.com
Sab 11 Gen 2014 06:41:23 UTC


Il 10 gennaio 2014 00:26, Maurizio Napolitano <napoogle a gmail.com> ha scritto:
> 2014/1/9 Cristian Consonni <kikkocristian a gmail.com>:
> Se ho ben inteso usi spatialite perchè qui
> https://github.com/CristianCantoro/wikipedia-tags-in-osm/blob/master/osm_centroids.py
> alla riga 71 utilizzi il programma in C "spatialite_osm_raw"
> che ti serve per calcolarti le geometrie e trovare quindi i centroidi.
> GIusto?

No, =P.
Quella è una chiamata a sistema (vedi riga 74[1]) che importa i dati,
tramite spatialite_osm_raw, dal file OSM prodotto da osmfilter[2] (già
usato ora da Simone[3]) dentro un database Spatialite.

Pyspatialite mi serve perché se voglio fare delle queries spaziali
come [4] e [5] mi servono i binding python di Spatialite

Ecco, mi serve capire una cosa da Luca. Il problema è semplicemente
pyspatialite (ma a questo punto potresti installarlo dentro un
virtualenv quindi tenendo il tutto separato dal resto dell'ambiente
python della tua macchina) o tutto spatialite? Detto in altre parole,
hai spatialite_osm_raw sulla tua macchina?

> forse puoi sostituire il parsing usando il binding python di osmium
> (che è un caccia!)
> https://pypi.python.org/pypi/osmium/0.1a1-r10-79b0
> oppure con una chiamata a overpass-api
> e poi usando shapely per il calcolo del centroide

Ci sto guardando.

Voglio comunque fare notare che il motivo per cui uso spatialite per
calcolare i centroidi è che un modo molto più efficiente, dal punto di
vista della memoria, per calcolare i centroidi. Detto in altre parole
non possiamo caricare in RAM  (= dentro delle variabili nello script)
tutti i dati del file prodotto con osmfilter[2].

Grazie per le numerose segnalazioni di librerie che permettono di
calcolare i centroidi, ma il punto è farlo a partire da un file .osm e
(soprattutto) farlo senza che la RAM esploda.

C

[1] https://github.com/CristianCantoro/wikipedia-tags-in-osm/blob/master/osm_centroids.py#L74
[2] https://github.com/CristianCantoro/wikipedia-tags-in-osm/blob/master/osm_downloader.py#L83
[3] https://github.com/simone-f/wikipedia-tags-in-osm/blob/master/osm_downloader.py#L82
[4] https://github.com/CristianCantoro/wikipedia-tags-in-osm/blob/master/osm_centroids.py#L93
[5] https://github.com/CristianCantoro/wikipedia-tags-in-osm/blob/master/osm_centroids.py#L145



Maggiori informazioni sulla lista Talk-it