Skip to content

maral/text-to-map

Repository files navigation

Text To Map

Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpracovatelného, uchopitelného formátu.

Odkazy

Živě na webu

Návod na použití

  1. npm install
  2. npm run address-points - stažení a import adresních bodů z RÚIAN
  3. npm run schools - stažení a import dat o školách a zřizovatelích z rejstříku MŠMT
  4. npm run streets - dotažení všech ulic z RÚIAN (nepovinné, ale zmizí tím warningy o neexistujících ulicích ve vyhlášce v případech, kdy jsou ve vyhlášce ulice bez jediného adresního bodu)
  5. npm run parse-ordinance /some/path/input.txt /path/output.json - parsování vyhlášky a namapování adresních míst na spádové školy

Pro vyzkoušení je možné použít již vyčištěné vyhlášky ze složky examples.

Street Markdown

Street Markdown je formát, který po vzoru značkovacího jazyka Markdown má za cíl usnadnit psaní strukturovaných dat bez nutnosti učit se složité formátovací tagy nebo používat speciální znaky. Vznikl na základě pražské spádové vyhlášky z roku 2021 a snaží se být co nejkompatibilnější s již používaným formátem.

Street Markdown je dále možný rozšiřovat pro další případy použití - například protialkoholová vyhláška (do standardu by byla třeba přidat definice parků), tržní vyhláška, vyhláška o buskingu a další.

Pravidla Street Markdownu

  • prázdné znaky a řádky
    • veškeré po sobě jdoucí mezery jsou ignorovány a počítají se jako jedna mezera
    • prázdné řádky mají ve formátu speciální význam, několik prázdných řádků za sebou se ignoruje a počítá se jako jeden prázdný řádek
  • blok oblasti
    • v případě SMD pro více obcí či městských částí je uvozen blok oblasti pomocí názvu oblasti, následuje prázdný řádek a poté libovolný počet bloků škol
    • blok oblasti končí řádkem před nadpisem oblasti následujícího bloku obce nebo koncem souboru
  • název oblasti
    • začíná znakem "#" následovaný mezerou a textovým řetězcem, který obsahuje přesný název obce
    • příklady:
      • # Praha 1
      • # Pelhřimov
      • # Poděbrady
  • blok školy
    • jde o souvislý blok bez vynechaných řádků
    • bloky škol jsou od sebe odděleny jedním či více prázdnými řádky
  • název školy
    • první řádek bloku řádků je název školy
    • libovolný neprázdný textový řetězec
  • definice ulice
    • definice ulice obsahuje jméno ulice a volitelně specifikaci orientačních čísel
    • pokud celá ulice patří do aktuálního bloku školy, pak se specifikace orientačních čísel neuvádí, uvede se pouze název ulice
    • název ulice se uvádí v plně rozvinutém tvaru
      • špatně: nám. Míru, Rašínovo nábř.
      • správně: náměstí Míru, Rašínovo nábřeží
    • jméno ulice a specifikace ulice je odděleno znaménkem minus (a volitelnými mezerami okolo pomlčky) - místo minus jsou přípustné i pomlčka a spojovník
  • specifikace orientačních čísel
    • za sebou jdoucí výčet rozsahů čísel
    • rozsahy čísel jsou odděleny čárkou a mezerou (", ") nebo spojkou " a "
  • rozsah čísel
    • jako rozsah čísel se považuje specifikace, zda jde o typ čísel (všechna, sudá či lichá čísla) a rozsah od-do, a to v následujícím formátu:
      • typ čísel
        • všechna = "č."
        • lichá = "lichá č."
        • sudá = "sudá č."
        • čísla popisná = "č. p."
      • rozsah čísel
        • může jít o výčet (oddělený ", " nebo " a ") těchto možností:
          • a) <číslo>, např. 7
          • b) <číslo>-<číslo>, např. 2-66 (přípustné jsou pomlčka, spojovník, minus)
          • c) (od) <číslo> (a) výše, např. od 20 výše, 14 a výše, od 7 a výše
          • d) do (č.) <číslo>
        • např. 1-9, 11, od 23 výše

ko-fi

About

Text to map library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published