< Hungary

Hungary/osm-gimmisn

Az osm-gimmisn használata

Hiányzó házszámok naprakész listája

Videó: osm-gimmisn alapú házszám szerkesztés (TODO: tükrözni máshova is)

A weboldalon ötleteket találsz, hogy hol érdemes házszámokat felmérni. A főoldalnak a következő oszlopai vannak:

1) Hiányzó házszám kereső.

2) Házszámlista (street-housenumbers) egy területre, ez az OSM adatbázisból származik.

3) Hiányzó utca kereső.

4) Utcalista (streets) egy területre, ez is az OSM adatbázisból származik.

5) A terület az OSM weboldalán, ahol jól látszik a határa.

A hiányzó házszám szekciót érdemes elsőre nézni, ha ott szerepel olyan terület ami érdekel, akkor ott találsz javaslatot arra, hogy milyen hiányzó házszámokat próbálj meg felmérni. Tegyük fel, hogy a terület már szerepel a listában, a házszám valóban hiányzott, és most szerkesztetted fel az OSM-re. A weboldal automatikusan frissül naponta, kézi frissítéshez a következőt kell tenned:

1) Várj pár percet. Ha most szerkesztettél, akkor ha azonnal fut egy overpass lekérdezés, valószínű, hogy még nem dolgozik a te szerkesztésed eredményével.

2) A street-housenumbers szekcióban keresd ki a területed és kattints az overpass lekérdezés (overpass query) linkre. Ez egy kis időt vesz igénybe, addig ne töltsd újra az oldalt, a böngészőt ne zárd be.

3) A lekérdezés lefutása után az osm-gimmisn automatikusan átirányít a hiányzó házszám szekcióban a terület oldalára és most már el kell tűnjön a listából a felszerkesztett házszámod.

A hiányzó házszámok színesek:

- a feketék lakóházak

- a kékek kereskedelmi épületek

Mi a teendő, ha nem találod a keresett utcát a listában? Vagy minden házszám fel van mérve, vagy az utca neve eltér a referenciától, ld. Hiányzó utcák

Új reláció hozzáadása

Település, falu, budapesti városrész az OSM adatbázisában relációként jelenik meg, így az osm-gimmisn a kezelt területeket relációknak hívja. Új reláció hozzáadásához a következő lépések szükségesek:

1) A git repó szerkesztésére készülj fel. Ez lehet egy `git clone` parancssorból vagy webes szerkesztés.

2) Az osm.org-on keress rá a relációra, pl. `Kelenföld, Budapest`. Az első találat lesz valószínűleg egy reláció link, pl. https://www.openstreetmap.org/relation/2700869. Innen tudod a reláció OSM azonosítóját.

Szükséged lesz még a terület megye és település referenciájára, ebben lehet megkeresni: A git repó refcodes file-jában tudod megkeresni. Amennyiben egy új települést akarsz felvenni (nem városrészt), a data/relations.yaml.template fileban megtalálsz mindent amire szükséged van, csak át kell másolnod. (Ékezet nélkül kell keresned!)

3) A git repó data/relations.yaml file-jába vegyél fel egy új bejegyzést a következő formában:

kelenfold:
    missing-streets: "no"
    osmrelation: 2700869
    refcounty: "01"
    refsettlement: "011"

Ahol a név alapvetően szabadon választható, pl `kelenfold` megfelel, a többi mező pedig fontos, hogy stimmeljen az előző pontban kinyert értékekkel. (A missing-streets azt jelzi, hogy ez a reláció nem felel meg egy valós világbeli teljes településnek, tehát hiányzó utcákat nem keresünk benne.)

4) Ez után a módosítást pull request formájában beküldheted, jóváhagyás után be fog kerülni.

Téves információ kiszűrése

Videó: osm-gimmisn 2. rész: téves házszám javaslat kiszűrése (TODO: tükrözni máshova is)

Ez hasonló az új reláció felvételéhez, csak a reláció nevéből származtatott szűrő file-ba kell felvenni információt, például `relation-magasut.yaml`. Tegyük fel, hogy Magasúton a Magasúti köz páratlan oldalán az osm-gimmisn javasol egy 999 házszámot, és ez hibásnak bizonyul. Lépések ennek elnémításához:

1) Menj ki a terepre és mérd fel, hogy a Magasúti köz páros és páratlan oldalon milyen tartományokban vannak valós házszámok. Általában a sarkokon vannak utcatáblák, abból ezt fel lehet mérni.

2) Például azt találtad, hogy a páratlan oldalon 1-9 a tartomány, a páros oldalon pedig 2-8. Most már csak ezt az információt kell rögzíteni, és ezzel automatikusan el fog tűnni a hibás 999 jelzés.

3) Szerkeszd a `relation-magasut.yaml` file-t. Ha még nincs ilyen, akkor a legegyszerűbb, ha egy létezőt lemásolsz és kitörlöd az összes utcát.

4) A Magasúti közt így tudod leírni:

  Magasúti köz:
    ranges:
      - {start: '1', end: '9'}
      - {start: '2', end: '8'}

Ez program által értelmezhetően a 2) pontban leírt információt rögzíti. Ha az utca OSM-beli és referenciabeli neve eltér, itt az OSM-beli nevet használd.

5) pull request formájában visszaküldheted az információt, és akkor a webes felület is ennek megfelelően frissül.

Más szavakkal, alapból csak minimális szűrés van a potenciálisan hiányzó házszámokon (1-999, 2-998), a hibás javaslatot úgy lehet kiszűrni, hogy lefedjük a valós tartományokat, és ami ebbe nem tartozik bele, az kiszűrésre kerül.

A fenti módszer alternatívája expliciten kiszűrni az érvénytelen javaslatokat:

  Magasúti köz:
    invalid: ['7', '11']

Egyes esetekben az tömörebb kifejezés, mint a fenti ranges megoldás.

`housenumber-letters: true` beállításnál alkalmazható módszertant lásd lejebb.

Haladóbb témák

A hibás riasztások kiszűrésén kívül még más beállításokat is meg tudsz adni, bár ezekre ritkábban van szükség:

Hiányzó utcák riasztásainak szűrése

- `refstreets`: ez a kulcs a reláció file gyökerében adható meg, akkor használatos ha az OSM jól tartalmazza egy utca nevét, de a referenciában más néven szerepel. (Példa: `sashegy`.)

- `street-filters`: ez a kulcs a reláció file gyökerében adható meg, akkor használatos ha a referenciában található utca valóságban nem létezik, vagy nem igazi utca (pl. dűlő), és az OSM-ben területként van felrajzolva. (Példa: `budapest_03`.)

További utcák riasztásainak szűrése

A fejezet célja, hogy az utcanév elírásokat (addr:street != utcanév) és a fals neveket megtaláljuk. Fals név alatt értjük, hogy a szerkesztő a kulcsból következő funkciót felveszi a névbe is. (pl. name=Tömeges fakidőlés miatt járhatatlan!, name=Árvízvédelmi töltés) Amennyiben a fentiek kijavításra kerültek, mégis valós a név, az alábbi módon szűrhető a maradék:

- `osm-street-filters`: ez a kulcs a reláció file gyökerében adható meg, akkor használatos ha az OSM-ben található utca valóságban tényleg létezik de a referencia ezt nem tartalmazza. Jellemzően ilyenek a nem igazi utcák (ösvények, sétányok, parkok, hidak, felüljárók) és a házszám nélküli kis összekötő utcák, terek. (Példa: Érzékek ösvénye, Piactér). Előfordulhat, hogy az utca a területhatáron fut és a területünkön nem tartalmaz házszámot.

Egyéb beállítások

- `refsettlement`: ez a kulcs egy utcára adható meg. Ha egy reláció többségében egy adott `refsettlement` értékkel rendelkezik, az megadható az összes utcára. Ezt a felülbírálást akkor érdemes használni ha az utcák közül néhánynak más a `refsettlement` értéke. (Példa: `sashegy`.)

- `refsettlement` tartomány szinten: ez akkor hasznos ha egy utca két oldala más településhez/kerülethez tartozik. (Példa: `krisztinavaros`.)

- `interpolation`: ez a kulcs egy utcára adható meg. Ha az értéke `all`, akkor páros/páratlan oldal helyett egyetlen tartományt elég megadni ahol folyamatos a számozás.

- `inactive: true`: ez egy relációra adható meg, kikapcsolja az esetleg pazarló napi frissítést (hasznos, ha amúgy is 100%-on van a terület például). Kézzel ezeket továbbra is lehet frissíteni.

- `show-refstreets: false`: ez a kulcs egy utcára adható meg, kikapcsolja a referenciában található utcanév megjelenítését. Ennek akkor van értelme, ha egyértelműen helyesírási hibás a referencia, és nincs értelme azt pluszban megjeleníteni.

- Lehetőség van GPX formátumban letölteni azokat az utcákat amiknek vannak hiányzó házszámai. Ennek a következő a menete. A hiányzó házszámok oldalon az Overpass lekérdezés a lenti utcákra linkre kell kattintani, a lekérdezést pedig bemásolni az Overpass turbo linken (fenti eszköztár) nyíló oldalra. Ott futtatni kell a lekérdezést, majd az Exportálás -> GPX letöltése pontot választva kapunk egy GPX-et, amit pl. a telefonon az OsmAndba be lehet tölteni.

- `housenumber-letters: true`: ez a kulcs egy relációra adható meg, micro-mappelni lehet vele, azaz tudja detektálni a pl. 42/B hiányát ha a 42/A már térképezve van. (Az alapértelmezett viselkedés az, hogy a szám utána zajt figyelmen kívül hagyjuk a házszámban.)

Ennél a beállításnál a téves információk szűrése kicsit összetettebb. A program az összetett házszámokat felbontja és egyszerűsíti, így mindig ezt az egyszerűsített formát kell megadni a szűrőben. Egyszerűsítés elvei:

  • Az egytagú betűjelet és számot megtartja (47a, 47/a, 47 a, 47/1), a többit levágja (47/abc).
  • Kötőjeles formánál, ha a paritás egyezik (47-51) vagy az `interpolation:all` meg van adva, akkor a számokat felbontja tagokra, így azokat egyesével kell kezelni.
  • Kötőjeles formánál, ha a paritás nem egyezik (47-52) és az `interpolation:all` nincs megadva, akkor az első és az utolsó tagot külön számként veszi figyelembe.
  • Összetettebb kötőjeles házszámok esetén (47-51/a) csak a legelső tagot veszi figyelembe.

Példák:

Házszám Filter
47/A, 47 A, 47a invalid: ['47a']
47-51 invalid: ['47', '49', '51'] vagy ranges: ...
47-52 invalid: ['47', '52']
47-51a, 47-51/a, 47abcd, 47/C 1, 47/C A invalid: ['47']
47/1 invalid: ['47/1']
47/10, 47/49 invalid: ['47']


Automerge munkafolyamat committereknek

Ha gyakran küldesz változtatásokat az osm-gimmisnhez, akkor valószínűleg kapsz commit jogot. Ha eddig jutottál, akkor ezt a munkafolyamatot használhatod arra, hogy a változtatásaid automatikusan elfogadásra kerüljenek, miután a tesztek lefutottak. A teljes menet ez:

Parancssor:

Egyszer (ha a git clone nem megy, az ssh kulcsot állítsd be, https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account ):

git clone git@github.com:vmiklos/osm-gimmisn
cd osm-gimmisn

Minden egyes PR-hoz, ismételhető ha több commitot akarsz 1 PR-ba vagy a CI hibát talál:

git fetch --prune # ha a serveren a PR merge-elve lett akkor a távoli private/$USER/master törlésre került, erről itt értesülünk
git rebase origin/master # friss masteren dolgozunk
... hack hack hack ...
git commit -a -m "data: blabla"
git show # opcionális, de ajánlott, itt meg tudod nézni, hogy mit fogsz beküldeni, a less-ből a "q" lép ki
git push origin master:private/$USER/master

Utána böngészőben megnyit: https://github.com/vmiklos/osm-gimmisn/pull/new/private/$USER/master

Leokézod a létrehozást, ráteszed az 'automerge' címkét.

Hiányzó utcák keresése

A hiányzó utcák szekció alatt a referenciában szereplő, de az OSM-ben nem szereplő utcákat találod meg. Fontos, hogy amíg egy utca ebben a listában szerepel, hiányzó házszámok az adott utcára nem fognak megjelenni.

A problémákat általánosságban ezeket az alábbi csoportra lehet osztani:

  • a referenciában és az OSM-ben más az utca neve: Pl. Kossuth Lajos utca <> Kossuth Lajos út. Javítás módja: Mérd fel az utca nevét, ellenőrizd az OSM-ben lévő értéket. Ha továbbra is eltér, vegyél fel hozzá egy refstreets sort.
  • külterületi és/vagy dűlő jellegű terület, amin általában csak helyrajzi számok vannak, ezért az OSM-ben területként szerepel, nem utcaként, így nem fog párt találni. Győződj meg róla, hogy az utca tényleg nem ábrázolható `highway` kulccsal. Vegyél fel hozzá egy street filters sort, és többé nem fog hiányzóként megjelenni.
  • az utca tényleg létezik, de nincs az OSM-en: mérd fel, rajzold fel!
  • az utca megszűnt vagy sosem létezett: Vegyél fel hozzá egy street filters sort, és többé nem fog hiányzóként megjelenni. Figyelem! Utca átnevezés esetén az első pontot kell alkalmazni, mintha eltérő lenne az írásmód.

A yaml formátum így néz ki:

- `missing-streets: only`: ezt a `relation-NÉV.yaml` file gyökerében lehet megadni egy relációra. Azt jelzi, hogy ebben a relációban csak hiányzó utcákat szándékozol keresni, hiányzó házszámokat nem. Érvényes még a `yes` érték (alapértelmezés), valamint a `no`.

Problémák jelzése

Problémákat (hiba, hiányzó funkció) a GitHub felületén lehet jelezni. Kéretik mindig egyszerre csak egy problémát tárgyalni.

Itt egy minimális sablon:

Lépések reprodukáláshoz

1. Első lépés

2. Második lépés

3. Harmadik lépés

Jelenlegi eredmény

Leírás, hogy jelenleg mi történik.

Várt viselkedés

Leírás, hogy ehelyett minek kellett volna történnie.

This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.