Zdravím,

mám problém s použitím poloautomatického importovače z katastrální
mapy. Zkoušel jsem to na ukázkovém území.

Výstup z kroku 2 se zdá být v pohodě (nějaké drobné chyby v
rozpoznávání, ale to se dalo čekat):
50.4860413,16.1035088,č.p.256
50.4861788,16.1038375,č.p.251
50.4863550,16.1043138,č.p.250
50.4862125,16.1050900,bez č.p./č.e.
...

Zde je mi zcela jasný princip ... stáhnou se příslušné dlaždice v PNG,
najdou se tam tečky, vyseknou popisky do malých bitmap, nechají
rozpoznat pomocí OCR a popisky spolu se souřadnicemi tečky se zapíší
do souboru.

Dále už se trochu ztrácím.

V kroku 3 (vytvoreni XML souboru, ktery definuje prirazeni mezi
katastralnim uzemim a obci / casti obce z databaze adresnich bodu)
jsem převzal XML z dokumentace. A k tomu se váže první dotaz. Kde
berete tyto informace? A k čemu je to dobré? Upozorňuji, že nejsem
zaměměřič, ale programátor, takže o struktuře území toho moc nevím, i
když jsem k této oblasti trochu přičichnul.

Moje představa je, že čísla domů jsou jedinečná v části obce (proto
např. v nahlížení do KN říkám obec, část obce, číslo budovy). Proto je
třeba nějak určit část obce, do které dané území patří. Jinak
číselníky částí obcí a jejich vztahy k obcím, okresům, krajům apod.
jsou na Českém Statistikém Úřadě. Ale nevím, zda je lze z licenčních
důvodů použít (ví to někdo?). Ruční vytváření XML pro každé
katastrální území, kterých jsou tisíce(?) je poněkud nepraktické a
hlavně hrozí chyby.

Pro pokus jsem vzal XML soubor z dokumentace cuzk-postup.txt.

A pak je třeba udělat merge. Odkud pochází databáze adres? To je
UIR-ADR? Z jakého původního zdroje pocházejí hranice katastrálních
území?

A co vlastně merge dělá? Moje představa je, že pro každý adresní bod z
toho CSV souboru vygenerovaném v jednom z předchozích kroků najde
katastrální území, jehož hranice je v souboru daném parametrem
territories. Pak

-addressesDB - XML soubor s databazi adres [2]
-territories - OSM soubor s definovanymi katasrtalnimi uzemimi
-addressPoints - CSV soubor z bodu 2)
-mappings       - XML soubor z bodu 3)

Takže jako první parametr jsem dal soubor address.xml.
U druhého parametru nevím. Zkoušel jsem
http://osm.templ.net/kucr.osm.bz2 a
http://lkabrt.aspone.cz/osm/kucr.zip.
Třetí parametr je asi jasný - ten CVS vygenerovaný z jednom z předchozím kroku.
Čtvrtý parametr - to je to XML převzaté pro pokus z dokumentace.

A po spuštění merge to dělá toto:
1) V případě použití http://osm.templ.net/kucr.osm.bz2 program skončí
výjimkou při Matching building definition points with addresses DB
...:

Neošetřená výjimka: System.InvalidOperationException: Posloupnost
neobsahuje žádné prvky.
   v System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   v CUZK.MergeDBWithPoints.AddressesFinder.Initialize(Dictionary`2
unassignedBuildngDefinitionPoints, Dictionary`2
unassignedAddressPoints)
   v CUZK.MergeDBWithPoints.AddressesFinder.FindAddressesAssignment()
   v CUZK.MergeDBWithPoints.Program.Main(String[] args)

2) V případě použití http://lkabrt.aspone.cz/osm/kucr.zip program
vytíží jedno jádro procesoru a nic ... tedy nechal jsem to pár desítek
minut (nebo mám čekat déle?). Poslední hláška je, že Loading
territories borders...

Další věc je, že ten XML soubor z kroku 2 definuje vztahy pomocí
názvů. Ale ty myslím nejsou jednoznačné. Přitom číselníky katastru i
Stat. úřadu používají pro označení obce, části obce, katastr. území
apod. také nějaká číselná IDčka (kupodivu dokonce stejná).


Rád bych pokračoval vývojem SW pro poloautomatické zpracování, protože
o lepším zdroji informací než je katastrální mapa nevím. Mám představu
nějaké GUI, kde půjdou obkreslovat budovy (s případným automatickým
návrhem), kontrolovat čísla domů apod. Ale napřed bych si rád ujasnil
současnou situaci a zorientoval se v problému.

Díky předem za odpovědi
Honza

_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-cz

Odpovedet emailem