[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