[osm-hu] viszonylag nagy mennyisegu szerkesztesi elozmeny history dump nelkul
Levente Juhász
jlevente89 at gmail.com
2015. Május. 29., P, 17:37:13 UTC
Ez remek, Imre! Nagyon koszi a leirast. Tiszta minden, es ugy tunik, hogy a
napi valtozasok + az OPL pont az, amire szuksegem volt!
On Thu, May 28, 2015 at 10:49 AM Imre Samu <pella.samu at gmail.com> wrote:
> Szia Levente,
>
>
> > Amire szeretnek, az egy bizonyos szamu felhasznalo (par 100)
> szerkesztesi elozmenye mondjuk 2014 ota.
> > Gyakorlatilag a modositott/torolt/letrehozott node-ok koordinatait
> szeretnem csak megkapni.
>
> *Amivel én elsőként próbálkoznék:*
>
> - A változásoknak van napi összesítése is.
> http://planet.openstreetmap.org/replication/day/
> ( http://wiki.openstreetmap.org/wiki/Planet.osm/diffs
> kb. napi 40-80 Mb tömörítve, és ami még fontos, hogy full history és
> nem delta. )
>
> - ciklusban .. egyenként letölteném .. pl. .. 2014.01.01 - től [
> 475.osc.gz ... 978.osc.gz ]
>
> - osc -> opl konverzió az osmium -al, ekkor 1 sorba kerül minden xml és
> egyszerűen feldolgozható soronként..
> itt van sok példa:
> "6.4.3 OPL ("Object Per Line") Format"
>
>
> *http://osmcode.org/libosmium/manual/libosmium-manual.html
> <http://osmcode.org/libosmium/manual/libosmium-manual.html>*
> - a szükséges felhasználókat kiszűrném pl. grep -el, awk-val vagy egy
> egyszerű python script-el.
>
>
>
> *Megjegyzések:*
> -osmchange-nél: csak a node-oknál van koordináta .. és van ahol cimke is
> van ..
> - ( OSC-és) OPL-nél : törlést/létrehozást/módosítást a verzióból és a
> láthatóságból lehet meghatározni:
> v5 dD => 5.verzió és törölt => törölt
> v1 dV => 1.verzió és látható => emiatt létrehozás.
> v2 dV => 2.verzió és látható => emiatt módosítás .
> -Ha a módosított way és a realationok koordinátája is kell (főleg
> olyankor amikor csak a <tag(key/value)> változott, és a node nem)
> akkor egy második körös feldolgozás is kellhet.
> Ezt csak azért irom, mert sokaknak a poligonnal körbekeritett POI ( ami
> igazából "area" - zárt "way" ) is node,
> -Én néha találok olyat, hogy egy osm "uid"-nek változik az osm "user"
> neve, emiatt én "uid" -re szűrnék mindenképpen.
> -A feladatot jól lehet párhuzamosítani, akár több gépen, akár több
> terminál ablakban futtatni ..
>
>
>
> -*-
> *kiegészítő megjegyzés az OSC-> OPL konverzióhoz*
> pl. ebből az osc-ből
> <modify>
> <node id="173746803" version="5" timestamp="2015-05-28T03:04:05Z"
> uid="115918" user="Timothy Smith" changeset="31519768" lat="31.5582113"
> lon="-110.346617$
> </modify>
> <delete>
> <node id="173746816" version="5" timestamp="2015-05-28T03:04:12Z"
> uid="115918" user="Timothy Smith" changeset="31519768" lat="31.558153"
> lon="-110.3480276$
> </delete>
> ez az OPL lesz ( ezt már szerintem bárki fel tudja dolgozni egy egyszerű
> scripttel )
>
> n173746803 v5 dV c31519768 t2015-05-28T03:04:05Z i115918
> uTimothy%0020Smith T x-110.3466176 y31.5582113
> n173746816 v5 dD c31519768 t2015-05-28T03:04:12Z i115918
> uTimothy%0020Smith T x-110.3480276 y31.5581530
>
>
>
> *-*- *
> *mintakód 1 napi osc feldolgozásra *
>
> # wget-es letöltés
> wget http://planet.openstreetmap.org/replication/day/000/000/988.osc.gz
> # kitömörítés
> zcat 988.osc.gz > 988.osc
> # OSC -> OPL konvertálás, de csak a "node"-okra ..
> osmium cat 988.osc --object-type=node -f opl > 988_node.opl
> # 3 OSM uid-re szűrés - grep-el : uid in (605010,50299,82783) ; az
> elválasztó space-ek előtte és utánna - fontosak!
> cat 988_node.opl | egrep '( i605010 | i50299 | i82783 )' >
> 988_node_filtered.opl
> # koordínáták kivágása ..
> cat 988_node_filtered.opl | cut -d' ' -f9-10
>
>
>
>
> Feldolgozási alternatívaként még szóba jöhet sok minden más is :
> - node-osmium ( Javascript library for libosmium) ,
> - pyosmium ( Python bindings for libosmium )
> - go ...
> - ...
>
> És akár még a PostgreSQL -es megoldás is működhet a full history dump-al ,
> csak előtte jól meg kell szűrni az adatokat ..
>
> Ha kell segítség jelezz ..
>
> üdv,
> Imre
>
>
>
> 2015. május 27. 23:06 Levente Juhász írta, <jlevente89 at gmail.com>:
>
>> Sziasztok,
>>
>> Egy kis segitsegre lenne szuksegem. Amire szeretnek, az egy bizonyos
>> szamu felhasznalo (par 100) szerkesztesi elozmenye mondjuk 2014 ota.
>> Gyakorlatilag a modositott/torolt/letrehozott node-ok koordinatait
>> szeretnem csak megkapni.
>>
>> Nem ferek hozza olyan hardware-hez, amivel hatekonyan dolgozhatnek a full
>> history dump-pal (igazabol a 44GB pbf meret riaszt meg. Mennyi lehet az egy
>> Postgre adatbazisba illesztve? 1TB?)
>> Sajnos nem egy osszefuggo regiorol/orszagrol van szo, hanem az egesz
>> vilagbol kellenenek a szerkesztesek, igy a history dump kivagasa sem opcio.
>> Meg amugy is eleg nagy pazarlasnak tunik a full history mivel eleg keves
>> felhasznalorol van szo.
>>
>> Tobb megoldas is eszembe jutott, de egyik sem tunik igazan jonak.
>>
>> 1) Overpass API: itt lehetne felhasznalora is keresni, plusz szurni a 2
>> celdatumra, viszont csak azokat az objektumokat kapnam meg, amiket ezek a
>> felhasznalok szerkesztettek utoljara, tehat kiesne egy csomo node.
>> 2) changesets-latest.osm a planet.osm.org-rol jonak tunt elsore, viszont
>> ez csak a Changeset XML-t tartalmazza gyakorlatilag, nekem meg Osmchange
>> XML kellene a <create>, <modify> ... tagekkel.
>>
>> Egy masik megoldas, ami ezeken felul felmerult bennem, hogy az API
>> v06-rol levadaszom a szukseges changeseteket, mivel az changeset id-kat mar
>> ismerem. Az egyetlen problemam ezzel, hogy kb 150 ezer darabrol lenne szo.
>> Hacsak nem muszaj, nem terhelnem ezzel az API-t (mivel ezen mennek a
>> szerkesztesek is). Ez tuti mukodne, csak nem vagyok benne biztos, hogy jo
>> otlet leterhelni az API-t ezzel.
>>
>> Esetleg osmiummal vegig lehetne menni a history fajlon es csak a
>> szukseges felhasznalo szerkeszteseit kiemelni? Nem tudom, hogy ez
>> mukodhet-e. Ha igen, akkor ez nem lenne eroforrasigenyes, csak lassu
>> gondolom. Nem hasznaltam meg az osmiumot. Velemeny/tapasztalat errol?
>>
>> Lenyeg a lenyeg. Ha valakinek esetleg eszebe jutna valami okos, hatekony
>> otlet, azt szivesen vennem.
>>
>> Udv,
>> Levente
>>
>> --
>> Magyar OSM Levelezőlista - openstreetmap-hungary at googlegroups.com
>> leiratkozás: openstreetmap-hungary+unsubscribe at googlegroups.com
>> ---
>> Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok
>> „openstreetmap-hungary” csoportjára.
>> Az erről a csoportról és az ahhoz kapcsolódó e-mailekről való
>> leiratkozáshoz küldjön egy e-amailt a(z)
>> openstreetmap-hungary+unsubscribe at googlegroups.com címre.
>> További lehetőségekért látogasson el ide:
>> https://groups.google.com/d/optout.
>>
>
> --
> Magyar OSM Levelezőlista - openstreetmap-hungary at googlegroups.com
> leiratkozás: openstreetmap-hungary+unsubscribe at googlegroups.com
> ---
> Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok
> „openstreetmap-hungary” témájára.
> A témáról való leiratkozáshoz látogasson el a következő címre:
> https://groups.google.com/d/topic/openstreetmap-hungary/TjXQcdYiTx4/unsubscribe
> .
> Az erről a csoportról és minden témájáról való leiratkozáshoz küldjön egy
> levelet a következő címre:
> openstreetmap-hungary+unsubscribe at googlegroups.com.
> További lehetőségekért látogasson el ide:
> https://groups.google.com/d/optout.
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.openstreetmap.org/pipermail/talk-hu/attachments/20150529/50252532/attachment.htm>
További információk a(z) Talk-hu levelezőlistáról