PointInfo JOSM plugin - zobrazení informací z RUIAN

5 zpráv
Zpět na přehled

PointInfo JOSM plugin - zobrazení informací z RUIAN

5 zpráv MP 2 účastníků 6 min čtení
  1. Marián Kyral mkyral na email.cz #m43b364
    Ahoj, dokončil jsem první, testovací verzi. http://www.kyralovi.cz/tmp/josm/pointinfo_beta.png Ke stažení zde: http://www.kyralovi.cz/tmp/josm/pointinfo.jar Zdrojové kódy: https://github.com/mkyral/josm-pointInfo Umí to v podstatě vše, co jsem chtěl. Zatím se mi nedaří přinutit okno "Connecting server" aby po skončení zmizelo. Takže pořád vespod straší. Taky jsem zatím neřešil kompletní překlad do češtiny - stejný problém jako u Tracer Pluginu. Je možné, že bude problém s čísly orientačními v případě, že jich je na jedné budově více. Prosím o otestování a nahlášení problémových míst. 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 Plugin by měl být lehce rozšiřitelný o další moduly. Jako vstup jsou LatLon souřadnice, jako výstup se očekává html text. Co dělá modul uvnitř, odkud stahuje a jak je zpracuje je jeho věc. Jediné co bude potřeba, je dopsat nějakou konfigurační stránku, kde si budu uživatel vybrat, o které moduly má zájem. 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. Omlouvám se, pokud není geometrické názvosloví správně, už je to pár let, co jsem ze školy. Snad je to pochopitelné. Bohužel vůbec netuším, jak tohle udělat s daty v RUIAN databázi. Uvítám jakýkoli tip jak na to. Díky, Marián
  2. Petr Vejsada osm na propsychology.cz #m3b7064
    Ahoj,
    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.
  3. Marián Kyral mkyral na email.cz #m840b86
    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).
    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.
  4. Petr Vejsada osm na propsychology.cz #m7422f8
    <-> <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/
  5. Marián Kyral mkyral na email.cz #m5ffe71
    <-> <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/
    OK. Tak to by bylo k tomu záhadnému operátoru "<->". A teď ještě "typu geometry point a stejného SRID, jako má deiniční čára" Typ geometry point je 'POINT( lon lat)' ? A jak zjistím, jaké SRID má ta čára? Koukal jsem na definici na SRID na wiki, ale moc jsem to nepobral. Ještě upozorňuji, že PostGis vůbec, ale vůbec a opravdu ani trochu neznám. Nějaký tip na jednoduchý dokument vysvětlující základy? Co jsem zatím našel moc užitečné nebylo :-( Marián
Napsat odpověď e-mailem… Odpovědět

Otevře váš e-mailový klient. Odpovědi pak sledujte zde na webu.