Dne 2.2.2014 17:31, Petr Vejsada napsal:
Ahoj,
Dne Ne 2. února 2014 14:32:19, Marián Kyral napsal(a):
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).
Z RUIAN. A za ty tečny se omlouvám, myslel jsem úsečky, které spojují
protilehlé strany parcely a které procházejí bodem X. V podstatě by
výsledkem téměř vždy měla být jen jedna ulice a to ta, která protíná
úsečku nejblíže bodu X.
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
Tomu ještě rozumím ;-)
<->
<muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má
deiniční čára> limit 1;
Huh, cože?
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.
To by šlo.
--
Petr
_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-cz
_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-cz