Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kiszűrt, de OSM-en meglévő házszámok megjelenítése #3073

Closed
urbalazs opened this issue Jun 12, 2023 · 36 comments
Closed

Kiszűrt, de OSM-en meglévő házszámok megjelenítése #3073

urbalazs opened this issue Jun 12, 2023 · 36 comments
Labels
confirmed Makes sense to implement/fix enhancement New feature or request needs testing Testing is needed before this can be closed

Comments

@urbalazs
Copy link
Collaborator

A gimmisn több mint 3 éves fennállása alatt sok házszámot kiszűrtünk az aktuális felmérések alapján. Az idő múlásával a valóság is változik, és előfordulhat, hogy egy korábban kiszűrt házszám mégis valóssá válik, és megjelenik az OSM-en. Jó lenne, ha ezt valahogy jelezné a program, hogy a szűrő felülvizsgálata szükséges. Ez az információ megjelenhetne a hiányzó házszámok táblázata alatt egy figyelmeztetésként, hasonlóan a sérült utcaleképezésekhez.

  1. használati eset: az utca páratlan oldalán 5 épület volt a személyes bejáráskor, és a tartományszűrűvel ki lett szűrve minden 9-nél nagyobb házszám. Időközben az utcát továbbépítették, és további épületeket húztak fel. Egy lelkes térképező felvitte az új házszámokat az OSM-re, de a tartományszűrő miatt ez számunkra láthatatlan, a korábban megadott szűrő valós házszámokat szűr ki.

  2. használati eset: egy sarokteleknek két házszáma van, de nagyon gyakran csak az egyiket táblázzák ki. Ilyenkor a másik számot kiszűrjük. Többször találkoztam viszont azzal, hogy évek múlva mégis kikerült a másik házszám is, amelyet mások felvittek OSM-re, így a korábbi szűrővel valós házszámot szűrünk ki.

  3. használati eset: egy ikerházon a hivatalos címzés 1/a és 1/b. A valóságban azonban 1 és 1/b volt kitáblázva, így az 1/a kiszűrésre került. Időközben a tulajdonosok lecserélték a táblákat, és a helyes 1/a és 1/b lett kitáblázva. Ekkor a korábban kiszűrt 1/a-val egy valós házszámot szűrünk ki a rendszerből.

@vasony
Copy link
Collaborator

vasony commented Jun 12, 2023

Támogatom!
De valami áttekinthető formában jelenjen meg. Jobb lenne neki egy külön oldal (is), ahol át lehet tekinteni az összeset.

De kérném, hogy a részleteket tegyük egy táblázatba, mondjuk pont olyanba mint a hiányzó házszámok, csak itt a hibás szűrő értékek és a kiszűrt házszámok szerepelnének.

@vmiklos
Copy link
Owner

vmiklos commented Jun 13, 2023

Első körben az működne, hogy marad a /missing-housenumbers/.../view-result oldal, de az utolsó oszlopban minden cellába a hiányzó házszámok után külön sorban mondjuk pirossal megjelennek a kiszűrt házszámok is? Ez lehet egy hidden <span>-ben, az oldal tetejére meg mehet egy link ami ki-be kapcsolja a láthatóságát, alapból rejtve.

Ha ez megvan, lehet gondolkodni a külön oldalon.

@vasony
Copy link
Collaborator

vasony commented Jun 13, 2023

De ne az összes kiszűrt házszámot jelenítse meg, csak azokat amik léteznek osm-ben.
Én nem keverném bele. Mi van ha az utcában nincs hiányzó házszám, csak kiszűrt házszám? Akkor üres lesz a hiányzó rész, félek elég bután fog kinézni. Ha már úgyis van listád a kiszűrtekről, akkor mi szól ellene, hogy külön táblázatba tegyük?

@vmiklos
Copy link
Owner

vmiklos commented Jun 14, 2023

Bocs, félreolvastam, először azt hittem, hogy az a cél, hogy a kiszűrt házszámok jelenjenek meg valahol, de most már látom, hogy az lenne a cél, hogy csak azok jelenjenek meg amik közben megjöttek OSM-re.

Két irányból lehet ezt megközelíteni: a szűrők meg a házszámok. Vagy az OSM-ben lévő házszámokon megyek végig és megnézem, hogy van-e olyan szűrő ami ezt próbálja meg kiszűrni (pedig nem kell, hiszen ott van az OSM-en) vagy a szűrőn megyek végig és azt nézem, hogy az egyes elemek olyat szűrnek-e ami már ott van az OSM-en.

Gondolom akkor hasznos egy ilyen lint kimenet ha könnyű rá reagálni, ez alapján alapvetően a szűrőkön kéne végigmenni és abból jelezni, hogy mi az ami már nem kell manapság.

Ebből a szempontból egy teljesen külön oldal (pl /missing-housenumbers/.../view-unnecessary-filters) lenne szerintem is jó.

Még egy nyitott kérdés, hogy a filtereknél kétfajta házszám leírás van: az invalid és a range. Az invalid az egyszerűbb, az egyetlen házszámot jelöl. Ha időközben az szerepel az OSM-ben, azért tudunk szólni. Mi legyen a range-ekkel? Azokat egyelőre ne vizsgáljuk?

@vasony
Copy link
Collaborator

vasony commented Jun 14, 2023

A range is kell, mert ha az utcát tovább építették akkor se tudjuk meg.

@vmiklos
Copy link
Owner

vmiklos commented Aug 18, 2023

Egy nagyon kezdetleges verzióm már van, itt csak azt nézem, hogy az invalid listából mi az amit használunk is az összehasonlítás során. Ilyesmit talál:

$ cargo run missing-housenumbers budapest_01
debug, Relation::get_ref_housenumbers: street name is 'Fő utca', 'invalid' list item '54' is not used

Ez biztató, a találat valós, itt az volt, hogy a referenciából tűnt el, már nem kell kiszűrni. Igyekszem használható állapotba hozni meg webes felületet alkotni hozzá, aztán majd jöhetnek a range-ek is. Lényeg, hogy ezt az egyet most ne javítsátok, hogy tudjak vele egyszerűen tesztelni. :)

@vasony
Copy link
Collaborator

vasony commented Aug 19, 2023

Ez is egy valós eset, hogy ref-ben nincs már, de az invalidokhoz még hozzá kell venni azt amit eredetileg kértünk, hogy az osm-en van, de kiszűrjük.

@vmiklos
Copy link
Owner

vmiklos commented Aug 19, 2023

Vicces módon az a könnyebb része :) Ilyesmiket találok:

$ cargo run missing-housenumbers budapest_01
debug, Relation::get_ref_housenumbers: street name is 'Fő utca', 'invalid' list item '54' is not used
debug, Relation::get_osm_housenumbers: street name is 'Attila út', 'invalid' list item '4' is not necessary
...

És a 4 tényleg benne van az invalid listában és tényleg szerepel az OSM-en is. Következő lépés valahogy ezeket nyilvántartani, talán ilyesmi, hogy 1) reláció neve 2) utca neve 3) típus (invalid, lesz majd range is) 4) házszám 5) oka (referenciából tűnt el, osmben jelent meg).

Utána már lehet tárolni, weben mutatni.

vmiklos added a commit that referenced this issue Aug 25, 2023
Addresses <#3073>.

Change-Id: Icce13dc67b3089704c63f293bb7e252a8fc4a0e3
vmiklos added a commit that referenced this issue Aug 25, 2023
Addresses <#3073>.

Change-Id: Icce13dc67b3089704c63f293bb7e252a8fc4a0e3
@vmiklos
Copy link
Owner

vmiklos commented Aug 25, 2023

Egyelőre így néz ki:

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_01/view-lints

Ez innen is linkelve van:

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_01/view-result a tetején van egy "view lints" link, a csekklista alatt.

A cron elvileg naponta frissíti, kézzel úgy lehet, hogy valamivel frissítitek a hiányzó házszámos cache-t (pl "update from osm" gomb), utána be kell tölteni a hiányzó házszámos oldalt (ez gyűjti össze a linteket), és utána már a view-lints mutatja.

Eddig 3 relációra próbáltam (bp01, bp11, bp12), mindegyiknél van bőven találat.

Ami még teendő / eldöntendő:

  • a "forrás" (invalid, range) és az "ok" (ref-ből törölve, osm-ben létrehozva) oszlopok értékei egyelőre nincsenek magyarítva, egyelőre csak nyersen azt mutatom amit sqlben tárolok
  • ez még csak az invalid listára vizsgál, a range vizsgálat is kell (ha mondjuk meg van adva, hogy 2-4 és az OSM-ben van 6)
    • maga a range megvan, de a 0-s és az üres utcanév szűrés még kell, l10n is
  • created-in-osm esetén OSM link:
    • range esetén
    • invalid esetén
    • deduplikálás, hogy csak a link miatt ne legyen több sor
  • update from osm link müködjön a lints oldalon (csak OSM-ből frissíti a házszámokat, a linteket nem generálja újra)
  • invalid esetén "törölve a referenciából" helyett "nem használt szűrő" legyen a szöveg, mert akkor is jelez ha az invalid kiszűrődik a range miatt
  • harmadik lint ok: tényleg nincs referenciában vagy csak a range kiszűri az invalid elemet (most mind a kettő "nincs a referenciában" okkal jelenik meg)

Ettől függetlenül ami már most megy azt lehet próbálgatni, konstruktív visszajelzés jöhet. :)

@vasony
Copy link
Collaborator

vasony commented Aug 27, 2023

  • "created in osm" szekcióra kellene majd link az osm objektumra, most pl. találtam egy hibás utcára címkézettet (tehát nem a filter rossz, hanem az osm), de egyszerűbb lenne kattintgatni

ez még csak az invalid listára vizsgál, a range vizsgálatát ki kell agyalni, hogy pontosan hogy legyen (mitől számít problémásnak egy range? ha mondjuk meg van adva, hogy 2-4 és az OSM-ben van 6?)

igen, attól biztosan. ha olyan szám szerepel, amit kiszűr a range

@vmiklos
Copy link
Owner

vmiklos commented Aug 29, 2023

Frissítettem az al-feladatos checkbox listát, ezek jó ötletek szerintem.

@vasony
Copy link
Collaborator

vasony commented Aug 29, 2023

a "frissítés osmből" random működik, még nem jöttem rá hogy mikor frissül, de nyomok a view-lint meg a sima hiányzó oldalon aztán egyszer csak kevesebb lesz a lista

@vmiklos
Copy link
Owner

vmiklos commented Aug 30, 2023

Haha, leírom, hogy most hogy frissül, de ezen valóban van mit reszelni. :)

  1. a lintes oldalról átmész a hiányzó házszámokra
  2. ott "frissítés osmből"
  3. megvárod míg lefut, akkor is ha akár u.azt az eredményt adja; mellékhatásként ez törli a régi linteket és rakja be az újakat
  4. vissza a lintes oldalra

Helyette a "frissítés osmből" link az működhetne a lintes oldalon (van link, de a 3. pontot nem csinálja meg).

@vmiklos
Copy link
Owner

vmiklos commented Sep 1, 2023

A #3248 után a lokalizációs rész megvan, a többi még mindig megoldandó.

@vmiklos
Copy link
Owner

vmiklos commented Sep 8, 2023

A range prototípus ilyesmiket talál:

$ cargo run missing-housenumbers budapest_11
debug, get_osm_housenumbers: street is 'Gazdagréti tér', range, housenumber is '7'
debug, get_osm_housenumbers: street is 'Nagyszőlős utca', range, housenumber is '47'
debug, get_osm_housenumbers: street is 'Bogdánfy utca', range, housenumber is '10/B'
debug, get_osm_housenumbers: street is 'Eszék utca', range, housenumber is '19'
...

Most csak az első négyet néztem meg kézzel, ez mind érvényes találatnak tűnik. Következő lépés ezeket is eltárolni, weben mutatni.

@vmiklos
Copy link
Owner

vmiklos commented Sep 9, 2023

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_11/view-lints még kicsit bénácska (0-s házszámok, üres utcanevek, lokalizáció), de alakulnak a range-ek is

@vmiklos
Copy link
Owner

vmiklos commented Sep 10, 2023

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_11/view-lints az üres, 0-s, csak-angol kiment most már jó.

@vasony
Copy link
Collaborator

vasony commented Sep 10, 2023

a Gazdagréti tér 7 vagy 6 szor szerepel a listában és másiknál is van duplázódás. Gondolom azért, mert több objektum is van a 7-es számon. Ha lesz mellette osm link akkor már kevésbé lesz zavaró, viszont a további utcáknál is csak 1 előfordulást linkelünk, nem az összeset.

egyébként nagyon jók a találatok, már egy elírt utcán találtam vele

vmiklos added a commit that referenced this issue Sep 11, 2023
It's enough to show one occurrence, which is consistent with the
additional streets output.

Related to <#3073>.

Change-Id: I670bcbe99f5b15dbf84fb8ca590afec7cd12e92b
vmiklos added a commit that referenced this issue Sep 11, 2023
It's enough to show one occurrence, which is consistent with the
additional streets output.

Related to <#3073>.

Change-Id: I670bcbe99f5b15dbf84fb8ca590afec7cd12e92b
@vmiklos
Copy link
Owner

vmiklos commented Sep 11, 2023

a további utcáknál is csak 1 előfordulást linkelünk, nem az összeset.

Ja nem volt szándékos a dolog, csak így sikerült :) A duplikátumokat most már szűröm sql insert időben (tehát ahol újragenerálódik, ott már jó lesz).

vmiklos added a commit that referenced this issue Sep 14, 2023
…s json is outdated

This means /missing-housenumbers/.../view-result and
/missing-housenumbers/.../view-lints is now updated similarly: a
change to data/relation-....yaml will automatically trigger an
update of the lints, no need to work things around by:

1) updating from OSM

2) visiting the /view-result page

3) visiting the new /view-lints page

anymore.

Related to <#3073>.

Change-Id: I50ea26be8d9004e9d6f04e0e1d407507b040cb11
vmiklos added a commit that referenced this issue Sep 14, 2023
…s json is outdated

This means /missing-housenumbers/.../view-result and
/missing-housenumbers/.../view-lints is now updated similarly: a
change to data/relation-....yaml will automatically trigger an
update of the lints, no need to work things around by:

1) updating from OSM

2) visiting the /view-result page

3) visiting the new /view-lints page

anymore.

Related to <#3073>.

Change-Id: I50ea26be8d9004e9d6f04e0e1d407507b040cb11
@vmiklos
Copy link
Owner

vmiklos commented Sep 14, 2023

^ filter/egyéb forrás után változtatás után most automatikus a lintek számítása

vmiklos added a commit that referenced this issue Sep 15, 2023
Related to <#3073>.

Change-Id: I2a325737a78e66c416c8d30714235f087087dc8f
vmiklos added a commit that referenced this issue Sep 15, 2023
Related to <#3073>.

Change-Id: I2a325737a78e66c416c8d30714235f087087dc8f
@vmiklos
Copy link
Owner

vmiklos commented Sep 15, 2023

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_11/view-lints

A range esetén már vannak OSM linkek is. Most egyelőre hagytam, hogy mutassa az összeset, de ha nagyon zavar, vissza lehet térni ahhoz, hogy egyszerre csak egyet mutasson.

@vasony
Copy link
Collaborator

vasony commented Sep 16, 2023

az igazi az lenne, ha felgrouppolnád házszámra és a linkek egymás mellett lennének, mint itt.

https://data2.openstreetmap.hu/utcanev.php?utcanevek=Balatonalm%C3%A1di

Gazdagréti tér 7 w26014201, n268405583, n6389118392

Ha nem akarsz vele kínlódni, akkor térjünk vissza az 1 szám 1 sorhoz.

@vmiklos vmiklos added the confirmed Makes sense to implement/fix label Sep 16, 2023
@vmiklos
Copy link
Owner

vmiklos commented Sep 16, 2023

OK, fenti pipa-listába felvettem.

@vmiklos
Copy link
Owner

vmiklos commented Oct 2, 2023

#3337 után a deduplikálás most már jó lesz (generáláskor, tehát csak arra jó ami most lesz újra-generálva)

invalid esetén osm link még mindig TODO

@vasony
Copy link
Collaborator

vasony commented Oct 2, 2023

invalid: ['3', '12', '13', '15', 45a', '45b', '63b']
ranges:
  - {start: '5', end: '19'}

a 3 duplán szűrődik ki, így azt mondja rá hogy

Hadak útja érvénytelen házszámok 3 törölve a referenciából  

@vmiklos
Copy link
Owner

vmiklos commented Oct 3, 2023

Hm, igazából jó, hogy ezt jelezzük, 5-19 miatt a 3 valóban felesleges, nem?

Inkább az okot kéne kevésbé félrevezetően fogalmazni. "törölve a referenciából" helyett mondjuk "nem használt szűrő"?

@vasony
Copy link
Collaborator

vasony commented Oct 4, 2023

igen, a jelzés ok, a szöveg lehetne amit írtál

@vmiklos
Copy link
Owner

vmiklos commented Oct 4, 2023

#3340 után már ez a szöveg.

@vasony
Copy link
Collaborator

vasony commented Oct 4, 2023

A kettőt esetet nem tudjuk megkülönböztetni? Hogy tényleg nincs a referenciában, vagy csak a szűrő nem jó?

@vmiklos
Copy link
Owner

vmiklos commented Oct 5, 2023

Megnézem mit tehetek.

@vmiklos
Copy link
Owner

vmiklos commented Oct 9, 2023

#3356 után a fenti bp11 és Hadak útja 3 példa már "out of range" típussal lesz jelentve, a többi marad a "deleted from reference":

https://osm-gimmisn.vmiklos.hu/osm/missing-housenumbers/budapest_11/view-lints

@vmiklos
Copy link
Owner

vmiklos commented Oct 10, 2023

A bp11 véletlenül housenumber-letters: true, és a fenti csak azzal ment. #3359 után az alapértelmezett beállításokkal is megtaláljuk ezeket az out of range invalid elemeket.

@vasony
Copy link
Collaborator

vasony commented Oct 11, 2023

Az alábbit nem látom a listában:

Fardrusz utca 11/b:
https://www.openstreetmap.org/way/252396568

Fadrusz utca:
invalid: ['11', '11b']

@vmiklos
Copy link
Owner

vmiklos commented Oct 11, 2023

Gondolom valami 11/b vs 11b dolog lesz. Elég macera, mert az összehasonlításnál a tartományok alapján való kiszűrés meg az egységes formátumra hozás az egy lépés, itt meg ki kéne jelezni, hogy valami tartományon kívül van (tehát nem lehet eldobni), de az egységes formátumra hozást, meg a "-" menti darabolást akarjuk. (Ez utóbbi amúgy működik). Majd keresgélek. Addig is a #3364 után created-in-osm + invalid kombóra most már vannak osm linkek.

vmiklos added a commit that referenced this issue Oct 13, 2023
…for invalids

There were two problems here:

1) OSM data is in 42/A format already, so 42a for an invalid item won't
   work for contains().

2) The check_housenumber_letters case in normalize() didn't annote the
   result with osm type/ID, so we couldn't link the object, while that
   should be always possible in the created-in-osm case.

Addresses <#3073 (comment)>.

Change-Id: I0a4e2b7665d768ef4ca5834b3823de35cb57de7f
vmiklos added a commit that referenced this issue Oct 13, 2023
…for invalids

There were two problems here:

1) OSM data is in 42/A format already, so 42a for an invalid item won't
   work for contains().

2) The check_housenumber_letters case in normalize() didn't annote the
   result with osm type/ID, so we couldn't link the object, while that
   should be always possible in the created-in-osm case.

Addresses <#3073 (comment)>.

Change-Id: I0a4e2b7665d768ef4ca5834b3823de35cb57de7f
@vmiklos
Copy link
Owner

vmiklos commented Oct 13, 2023

@vmiklos vmiklos added the needs testing Testing is needed before this can be closed label Oct 13, 2023
@vasony
Copy link
Collaborator

vasony commented Oct 14, 2023

Szerintem funkcionalitásban most teljes, hibát jelenleg nem tudok így zárható.
Ha később lesz valami hiba, akkor külön jegyet nyitunk rá.

@vasony vasony closed this as completed Oct 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed Makes sense to implement/fix enhancement New feature or request needs testing Testing is needed before this can be closed
Projects
None yet
Development

No branches or pull requests

3 participants