[Talk-cz] Úvaha o poloze adresního bodu (co PŘESNĚ je definiční bod?)
Petr Vejsada
osm na propsychology.cz
Neděle Červen 29 10:58:26 UTC 2014
Ahoj,
právě mě přestává bavit přesouvat tisíce adresních bodů, které jsou posunuty o
3 domy vedle. Uvažuji o něčem, co by mělo mělo zbytek importu výrazně
urychlit.
Jak určíme, kde má v OSM být adresní bod? Návrh:
1.) vezmeme ho z OSM
- je do 0.5m od hranic stavebního objektu? Ano, OK, bereme z OSM, není co
řešit.
- nejsou hranice SO, leží adresa v OSM do 3m od definičního bodu SO? OK,
není co řešit
- není def. bod SO? Leží v OSM bod do 3m od souřadnic AM v RUIAN? OK,
není co řešit.
Pokud jsme neuspěli, pokračujeme
2.) Souřadnice AM z RUIAN
- jsou souřadnice AM v RUIAN do 0.5m od hranic SO? OK, bereme souřadnice
AM z RUIAN
- nejsou hranice SO, leží AM v RUIAN do 3m od definičního bodu SO? OK,
bereme souřadnice AM z RUIAN
Pokud jsme neuspěli, pokračujeme
3.) ST_Centroid hranic SO
- nachází se definiční bod SO uvnitř hranic SO či do 1m od hranic? (*viz
poznámka dole) OK, bereme ST_Centroid SO.
Pokud jsme neuspěli, pokračujeme
4.) Definiční bod SO
Pokud jsme neuspěli, bereme souřadnice z OSM. Pokud bod nemáme v OSM, máme
smůlu ;-). V RUIAN jsou AM, která nemají žádné souřadnice.
* poznámka: jak jsem psal, definiční bod SO může ležet jednotky či desítky km
od hranic stavebního objektu. Takových chyb je v RUIAN několik stovek včetně
oné rekordní 221km. Velmi podezřelých je pak asi 1500 (třeba definiční bod SO
je 100 metrů od hranic).
Potřebuji ovšem vědět, co je to definiční bod, tedy hlavně mě zajímá, zda
definiční bod správně musí ležet na povrchu polygonu hranic. Mějme budovu ve
tvaru U, pak ovšem ST_Centroid nebude ležet na povrchu polygonu.
http://postgis.refractions.net/docs/ST_Centroid.html - obrázek vlevo dole.
V tomto případě ST_Contains(hranice_SO,adresni_bod) vráti false. Takže asi
tolerovat nějakou vzdálenost definičního bodu SO od jeho hranic? Jakou?
Výsledkem tohoto postupu by mělo být, že jediná varování, která by měl řešit
člověk, by byla "AM blízko u sebe". Importoval bych už jen po celých
polygonech, tedy obcích (včetně obcí Plzeň, Jihlava a podobných velkých měst;
už jich moc nezbývá. Asi i Brno.)
Proč po jasných polygonech? Protože vše, co má nějaký addr: a po tomto procesu
zůstane uvnitř tohoto přesného polygonu, to bych zlikvidoval. Když se dívám na
ortofoto míst, která zbudou (to jsou ty hlášky "V OSM je nějaký bod s adresou
podezřele blízko"), pak v naprosté většině je to zbořeniště či dům, který i z
leteckého snímku vypadá, že se brzy rozpadne sám. V menšině jsou to domy,
svítící novotou a tak asi ještě nemají nové číslo.
Tímto postupem bychom se také vyhnuli reimportu - tedy kompletnímu smazání
všech adres a jejich novému vytvoření. Ten systém reimportu funguje, ale ještě
jsem ho naostro nepoužil.
Nakonec by zbyly oblasti, kde je velmi vysoký počet duchů uvnitř budovy,
tuším, že například Mníšek pod Brdy. V těchto případech by se asi vyplatilo
počkat, až budou duchové odstraněni, protože importem bychom si OSM spíš
zaplevelili.
Tento postup by se týkal i následných, tedy už probíhajících, aktualizací už
importovaných území. Pokud je item_timestamp AM v RUIAN novější než timestamp,
kdy jsme místo importovali, tak se zaktualizuje.
Tak co kdo na to?
--
Petr, pv na propsychology.cz
>p<
Další informace o konferenci talk-cz