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