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
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.
Může se stát, že těch ulic bude více - křižovatky "Y". Pak bych asi nevrátil nic.
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
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.
Může se stát, že těch ulic bude více - křižovatky "Y". Pak bych asi nevrátil nic.
Ahoj,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.
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).
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 Talk-cz na openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-cz
<-> <muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má deiniční čára> limit 1;Huh, cože?
<-> <muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má deiniční čára> limit 1;Huh, cože?
<-> <muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má deiniční čára> limit 1;Huh, cože?To je finta Postgisu. Normálně nemůže existovat index, ve kterém bys hledal podle vzdálenosti od určitého bodu či jiné geometrie, protože ten bod není v době vytváření indexu znám. Tohle to umí i tak http://boundlessgeo.com/2011/09/indexed-nearest-neighbour-search-in-postgis/
Dne Ne 2. února 2014 18:30:04, Marián Kyral napsal(a):<-> <muj_bod_kam_jsem:kliknul typu geometry point a stejného SRID, jako má deiniční čára> limit 1;Huh, cože?To je finta Postgisu. Normálně nemůže existovat index, ve kterém bys hledal podle vzdálenosti od určitého bodu či jiné geometrie, protože ten bod není v době vytváření indexu znám. Tohle to umí i tak http://boundlessgeo.com/2011/09/indexed-nearest-neighbour-search-in-postgis/
-- Petr _______________________________________________ Talk-cz mailing list Talk-cz na openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-cz
Otevře váš e-mailový klient. Odpovědi pak sledujte zde na webu.