..

Kā iegūt noteiktus datus no Openstreetmap datubāzes

Openstreetmap nav tikai bezmaksas karte, kuru jebkurš var papildināt. Tā principā ir tieši datubāze. Ļoti daudz objektu nemaz nav attēloti uz Openstreetmap.org vietnē redzamās kartes – tā ir tikai tāda kā demo versija, ko iespējams veidot no šiem datiem.
Rakstā apskatīšu konkrētu piemēru – iegūsim GPS ierīcē lietojamu telšu kempinga punktu failu Igaunijai. Raksts apskata MacOS, taču līdzīgs būs process arī uz Linux, tikai Brew (vai Macports/Fink) vietā tur izmantotu apt-get vai līdzīgi.

Priekšnoteikums

Jau iepriekšējos rakstos esmu minējis, ka uz MacOS ieteicams uzinstalēt Homebrew. Ja to esi izdarījis, nekas šajā punktā nav jādara. Ja nē – dari šādi, no AppStore uzinstalē Xcode, un pēc tam, MacOS terminal logā ielīmē šo rindu:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Tas uzinstalēs sistēmu, kas ļauj ātri instalēt jaunas komandrindas programmas, nemācoties kompilēt un saprast visādas sarežģītas lietas.

Instalējam programmas

Osmosis ļauj apstrādāt Openstreetmap datubāzu datus.

brew install osmosis

GPSbabel programma ļauj datus konvertēt visādos formātos.

brew install gpsbabel

Apstrādājam datus

Tad ielādējam OSM datubāzes failu vajadzīgajai valstij vai reģionam no Geofabrik. Rezultātā mums ir fails “estonia.osm“. No tā mēs izfiltrēsim ārā tikai datus, kas atzīmēti kā “tourism=camp_site” un saglabāsim jaunā OSM failā “rmk.osm“, ar šo komandu:

osmosis -q --rx estonia.osm --tf accept-nodes tourism=camp_site --tf reject-ways --tf reject-relations --wx rmk.osm

Tālāk atliek šos datus konvertēt uz GPS ierīcei saprotamu formātu GPX. To daram ar GPSbabel:

gpsbabel -i osm -f rmk.osm -o gpx -F rmk.gpx

Beigās esam ieguvuši failu “rmk.gpx“, kuru var lietot telefonos, GPS ierīcēs vai tamlīdzīgi. Pārbaudīt vai faila saturs ir pareizs, varam ar GPSvisualizer.net, kur tas tiks attēlots uz kartes.

Te arī rezultāts:

rmk

Protams, Igaunijā RMK kempinga vietu ir vairāk, un tieši tāpēc jebkurš var iet un atzīmēt redaktorā trūkstošās vietas, lai datubāze nākotnē ir vēl pilnīgāka.