Ahoj, Dne Ne 2. února 2014 14:32:19, Marián Kyral napsal(a):
> Ještě upozorním, že RUIAN data nejsou dostupná všude. Byl jsem nemile > překvapen, když jsem zjistil, že chybí kus Ostravy. To jsem nečekal :-D :-), i v Praze jsou díry > Ještě by se mi líbila jedna věc: Pokud kliknu na plochu, kde leží nějaká > komunikace, tak by se mohl zobrazit název této komunikace (pokud má - > třeba ulice). > > Teoreticky tuším, jak by se to dalo řešit: > 1) Pokud je parcela typu, který mne zajímá - silnice, ostatní > komunikace... tak: > 2) Najdu tečny s hranicí parcely na kterých daný bod leží. > 3) Vezmu kratší tečnu a hledám ulici, která tuto tečnu protíná. > 4) Pokud takováto ulice existuje, vrátím její název. Odkud chceš brát název ulice? Z OSM nebo RUIAN? No to je jedno, není třeba dělat tečny (tečna je přímka a tedy neexistuje kratší/delší tečna). Není problém najít nejbližší ulici (komunikaci) k bodu a třeba i takovou, která leží uvnitř plochy. Takže klik na bod, najdeme parcelu a nejbližší komunikaci, která zároveň leží (st_intersects) alespoň částí uvnitř parcely. Počet takových komunikací se bude limitně blížit jedné ;). Jestli ti jde jen o název ulice, tak stačí najít nejbližší ulici. Nejrychlejší hledání je asi select nazev from rn_ulice order by definicni_cara <-> <muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má deiniční čára> limit 1; > Může se stát, že těch ulic bude více - křižovatky "Y". Pak bych asi > nevrátil nic. Skoro vždy je něco nejbližší, s výjimkou, kdy je stejně daleko více než jedna ulice. Spíš nevracet nic, když to "nejbližší" bude třeba kilometr daleko. -- Petr _______________________________________________ Talk-cz mailing list [email protected] https://lists.openstreetmap.org/listinfo/talk-cz

