[Talk-cz] Vizualizace aktivity v OSM

BH singularita na gmail.com
Úterý Říjen 7 10:57:16 UTC 2008


> Proc je potreba mit vsechny nody v pameti? Dve moznosti:
> 1. Vykresli se cela cesta i kdyz se v ni hybne treba jen jednim nodem? To

Ne, pokud se hybe nodem tak ne, ale pokud se pridavaji nebo ubiraji
nody nebo meni tagy tak jo.

> bych mozna takto nezeslozitoval... Jak to vypada kdyz se kresli jen
> modifikace nodu? Kdyz se totiz pridava way, tak by se rozsvitila, pokud se

Kdyz se to pusti jen na nody, tak to "sviti" o neco mene, ale ne zas o moc.

> jen upravi geometrie, rozsviti se skutecne jen ten nod. Chapu, ze by to
> svitilo mnohem mene, ale asi by vice odrazelo realitu. Nevyhoda: Neviditelne
> pracne zpresnovani tagu a uprava ways...

Mozna bych mohl vygenerovat dva obrazky zvlast, jeden pro nodes, jeden pro ways

> 2. Prochazet osm.xml 2x. V prvnim prubehu si poznamenat idcka nodu, ktere
> nalezi zmenenym ways a jez se maji vykreslit. V druhem uz probihat identicky
> jako u 1 s tim, ze se vykresli navic i ty s timestamp. Pokud budou kolizni
> vykreslit tou svetlejsi barvou. V teto variante budou mezivysledky asi dost
> male (vse se ihned kresli a pamatuji se jen IDcka nodu ze zmenenych ways),
> ale pro poradnou paranoiu se da pouzit sqlite jako zasobarna IDcek.

U nodu skladuju jako klic ID (zatim se do 32bitu vejde :) a jako
hodnotu prepocitane souradnice v obrazku (coz se narozdil od 2x double
vejde s prehledem do 32 bitu). Teoreticky min. 8 bajtu/nod, ale je to
nejaky overhead u pouzitych datovych struktur. Takze udelat to pro
planet by asi slo po mensi optimalizaci i na 4gb ram (neco sezere i
vystupni obrazek, ktery by mel byt pro planet asi velky, aby bylo neco
videt)
Moc bitu se uz usetrit neda, pro cely planet a vetsi obrazky se to u
obou k tem 32 bitm celkem dost blizi (takze 300M nodes=min 2.4gb ram)

> Nejhezci by bylo pri prvnim pruchodu udelat mezisoubor s nodama (napr.
> ID\tabLAT\tLON), ktery bude zarucene sesortovany podle ID a ten pak jenom
> mergovat se sesortovanym mezivysledkem nodu zmenenych ways (sort | uniq).
> Pak je pametova naroznost nulova pro libovolnou velikost dat. Pokud to
> vypada slozite tak z duvodu me snizene schopnosti se vyjadrovat :)

Pokud se to vejde do pameti, tak to bude asi lepsi nez to mit na
disku. Uvidime :)

> No a druha vec, kterou nechapu je pouziti PERLu :-) Ale to je ciste z
> duvodu, ze jsem do nej nemel nikdy silu proniknout (bohuzel jsem se drive
> naucil citelnejsi jazyky). Pro mensi znalce (jako ja), je pak nulova moznost
> do takoveho kodu prispet...

Za zaklad jsem vzal nejaky svuj starsi skript pracujici s OSM ....
ktery byl v perlu :)
Ma to asi 3kb, mozna o prepisu do c++, kde by sly nektere veci delat
asi precejen efektivneji.

Martin




Další informace o konferenci talk-cz