Daha çox

Osmozdan istifadə edərək pff sənədindən rahatlığı çıxarın


Bir pbf sənədindən bir az rahatlıq (atm) çıxarmaq istəyirəm. Budur nə tapdım.

osmoz - oxumaq-pbf myfile.pbf --tf qəbul-qovşaqlar rahatlığı = atm - yazmaq-xml atm.osm

Myfile.pbf, Paris sahəsi (Fransa) üçün bir sənəddir. 211Mo.
Atm.osm faylı 1.8Go hesab edir ki, həqiqətən Parisdəki ATM üçün həqiqətən böyükdür. Yəni atm çıxarmaq üçün yaxşı bir yoldurmu?
Həm də nadir hallarda rahatlıqla çalışdım və həmişə 1.8Go sənədidir.
Verilənlərin yaxşı olub olmadığını bilmək üçün atm.osm oxumağın bir yolu varmı?
Doğru yolda deyiləmsə, gələcəkdə bir verilənlər bazasına daxil etmək üçün məlumatları bankomatdan çıxarmaq istəyirəm.


Fərqli bir sorğu tapdım:

osmosis --read-pbf myfile.pbf --node-key-value keyValueList = "amenity.atm" --write-xml atm.osm

Bütün atm ilə 250ko xml sənədim var. Ümid edirəm digər peolple kömək edə bilər


Aşağıdakı sualları sınayın:

# bütün qovşaqları rahatlıq = atm və ya atm = bəli oxuyun, yolları və münasibətləri görməyin osmosis - oxuyun-xml data.osm --tf qəbuledin düyünləri amenity = atm --tf rədd yolları --tf rədd münasibətləri - yaz -xml amenity_atm_nodes.osm osmosis - oxu-xml data.osm --tf accept-düyünlər atm = yes --tf rədd yolları --tf rədd münasibətləri - yazmaq-xml atm_yes_nodes.osm # rahatlıqla bütün yolları oxumaq = atm və ya atm = bəli, yalnız əlaqəli qovşaqları saxlayın, əlaqələri görməyin osmosis --read-xml data.osm --tf accept-ways amenity = atm --used-node --tf rədd-Relations --write-xml amenity_atm_ways.osm osmosis - read-xml data.osm --tf accept-ways atm = yes --used-node --tf rədd-Relations --write-xml atm_yes_ways.osm # bütün münasibətləri rahatlıq = atm və ya atm = yes ilə oxuyun, yalnız əlaqəli yolları və qovşaqları saxlamaq - oxumaq-xml data.osm --tf qəbul əlaqələr amenity = atm - istifadə - yol --tf qəbul münasibətlər atm = bəli - istifadə-node - yazmaq-xml amenity_atm_relations. osm osmosis - oxumaq-xml data.osm --tf qəbul əlaqələr atm = bəli - istifadə yol --tf qəbul münasibətlər atm = bəli - istifadə node --write-xml atm_yes_relations.osm # bütün faylları birləşdirin osmosis --rx amenity_atm_nodes.osm --rx atm_yes_nodes.osm  --rx amenity_atm_ways.osm --rx atm_yes_ways.osm  --rx amenity_atm_relations_esations - .osm  --merge --merge --merge --merge --merge --wx atm.osm

Ancaq ikinci blok (yolları olan hissə) bir az çox məlumat çəkir. Nə etdiyimi səhv edirəm, bəlkə kimsə düzəldə bilər. Sintaksis isə sadəcə dəhşətlidir. Ayrıca, hər bir alt tapşırıq üçün təkrar-təkrar osmoz çağırmaq əvəzinə borular istifadə edərək işləri çox sürətləndirə bilərsiniz.

Alternativ olaraq, yalnız Overpass API istifadə etmək barədə düşünə bilərsiniz. Overpass API ilə etiket filtrləri qurmaq biraz daha asandır və bütün ərazini əvvəlcədən yükləməyinizə ehtiyac yoxdur. Budur üst keçid turbo ilə bağlı bir sorğu:

/ * Bu üst keçid-turbo sehrbazdır tərəfindən yaradılıb. Orijinal axtarış: “amenity = atm or atm = yes in Paris” * / [out: json] [timeout: 25]; // {{geocodeArea: Paris}} ->. searchArea; // nəticələr toplayın (// sorğu hissəsi: “amenity = atm” node ["amenity" = "atm"] (area.searchArea); way ["amenity" = "atm"] (area.searchArea); "amenity" = "atm"] (area.searchArea); // üçün sorğu hissəsi: “atm = yes” node ["atm" = "yes"] (area.searchArea); way ["atm" = "yes" ] (area.searchArea); ilişki ["atm" = "yes"] (area.searchArea);); // nəticələrin gövdəsini çap edir; >; skel qt;