MAGISTRAT Bratislava - otvaranie dat

Ešte zopár poznámok k registru adries, keby niekto v ňom vyhľadával.

Bratislava ako mesto v ňom nie je poriadne evidované. V Registri obcí síce je viacero objektov s menom “Bratislava” a statusom CITY, avšak všetky sú historické, t.j. majú ukončenú platnosť 19.11.2004 - asi išlo o nejaké pokusy…

V Registri častí obcí pre Bratislavu nie je zjavne nič.

Čiže “adresy v Bratislave” sa hľadajú podľa Registra okresov, kde sú okresy Bratislava I až V a majú objectId 12,13,14,15,16. Toto sa následne použije v registri obcí:
https://data.gov.sk/api/action/datastore_search_sql?sql=SELECT * from “15262453-4a0f-4cce-a9e4-7709e135e4b8” WHERE (“validTo” IS NULL OR “validTo”>=now()) AND “countyIdentifier”>=12 AND “countyIdentifier”<=16

Výsledkom je 17 mestských častí. To sa môže použiť v Registri ulíc. Položka municipalityIdentifiers je string, bolo to plánované ako zoznam obcí cez ktoré ulica prechádza, zaprasilo to model, avšak nepoužíva sa to (momentálne) a zaevidovaná je samostatná ulica v každej “municipalite” s rovnakým menom ale rôznym ID. Napr. Košická prechádza cez Ružinov aj Staré mesto, sú však evidované “dve Košické”, objectId 39770 a 41163. Preto sa municipalityIdentifiers dá pomerne bezpečne castovať na int.

Zoznam všetkých ulíc v BA, aktuálne platných:
https://data.gov.sk/api/action/datastore_search_sql?sql=SELECT DISTINCT “S”.“objectId”,“streetName”,“municipalityName” FROM “47f0e853-3a67-487e-b45f-3f5d099105cf” AS “S”, “15262453-4a0f-4cce-a9e4-7709e135e4b8” AS “M” WHERE (“S”.“validTo” IS NULL OR “S”.“validTo”>=now()) AND (“M”.“validTo” IS NULL OR “M”.“validTo”>=now()) AND “municipalityIdentifiers”::int = “M”.“objectId” AND “countyIdentifier”>=12 AND “countyIdentifier”<=16

Mne to dalo 1899 záznamov. Ak sa mení meno ulice a nové má určenú účinnosť až v budúcnosti, v tomto selecte bude aj aktuálne platný, aj nový, s rovnakým objectId.

Priradenie orientačné - popisné čísla a GPS polohy pre konkrétnu ulicu, tu príklad pre Líščie údolie, Street.objectID=39882:
https://data.gov.sk/api/action/datastore_search_sql?sql=SELECT “V”.“buildingNumber” AS “Orientacne cislo”, “B”.“propertyRegistrationNumber” AS “Popisne cislo”, “axisB” AS “Lat”, “axisL” AS “Lon” FROM “011f4ec3-7a73-4dff-a63e-81b64cc52947” AS “V”, “2ba406d0-5ce5-472d-ba75-5e04f05be1c1” AS “B” WHERE (“V”.“validTo” IS NULL OR “V”.“validTo”>=now()) AND (“B”.“validTo” IS NULL OR “B”.“validTo”>=now()) AND “V”.“streetNameIdentifier”=39882 AND “B”.“objectId”=“V”.“propertyRegistrationNumberIdentifier”

Netreba sa báť o DISTINCT, keďže zmena polohy a čísel je prakticky vždy účinná okamžite keď je platná.

2 Likes