[talk-cz] Zasilkovna - jak mapovat

Miroslav Suchý mirek na rodina-sucha.cz
Pátek Říjen 1 14:29:04 UTC 2021


Tak jsem se po dlouhe dobe vrhl na data ze zasilkovny. Napisi neco o tech datech a jak pak prvni vykop, jak to mapovat.

Data:
Je mozne stahnout z
   https://www.zasilkovna.cz/api/v4/9b18b74fdb70e8f9/branch.json
Tento JSON ma aktualne 21 MB.

Ta data vypadaji

{
     "data": {
         "12": {
             "id": "12",
             "name": "České Budějovice, Rudolfovská 1",
             "special": "vstup z ul. Otakarova",
             "place": "Tvořilka",
             "street": "Rudolfovská 1",
             "city": "České Budějovice",
             "zip": "370 01",
             "status": {
                 "statusId": "1",
                 "description": "V provozu"
             },
             "country": "cz",
             "wheelchairAccessible": "no",
             "creditCardPayment": "yes",
             "dressingRoom": "0",
             "claimAssistant": "1",
             "packetConsignment": "1",
             "latitude": "48.97585",
             "longitude": "14.47978",
             "url": "https://www.zasilkovna.cz/pobocky/ceske-budejovice-otakarova-rudolfovska",
.... SNIP
             "openingHours": {
                 "compactShort": "<strong>Po–Pá</strong> 08:30–18:30<br /><strong>So</strong> 08:30–14:00<br /><strong 
style='color: red;'>28.10.2021</strong> zavřeno",
                 "compactLong": "<strong>Po–Pá</strong> 08:30–18:30<br /><strong>So</strong> 08:30–14:00<br /><strong 
style='color: red;'>28.10.2021</strong> zavřeno",
                 "tableLong": "<table 
class='packetery-hours'><tr><th>Po</th><td>08:30–18:30</td></tr><tr><th>Út</th><td>08:30–18:30</td></tr><tr><th>St</th><td>08:30–18:30</td></tr><tr><th>Čt</th><td>08:30–18:30</td></tr><tr><th>Pá</th><td>08:30–18:30</td></tr><tr><th>So</th><td>08:30–14:00</td></tr><tr><th>Ne</th><td></td></tr><tr><th 
style='color: red;'>28.10.2021</th></td><td>zavřeno</td></tr></table>",
                 "regular": {
                     "monday": "08:30–18:30",
                     "tuesday": "08:30–18:30",
                     "wednesday": "08:30–18:30",
                     "thursday": "08:30–18:30",
                     "friday": "08:30–18:30",
                     "saturday": "08:30–14:00",
                     "sunday": {

                     }
                 },
                 "exceptions": {
                     "exception": {
                         "date": "2021-10-28"
                     }
                 }
             }
         },
.... a dalsi polozka
}

Dokumentace je k tomu zde:
   https://docs.packetery.com/01-pickup-point-selection/04-branch-export-v4.html
vcetne popisu jak to stahnout v jinem formatu, pokud by bylo treba.

Mariane, mohu te poprosit jestli bys tim mohl nakrmit tvuj POIimporter?
Soubor je zrejme generovan online, myslim, ze ho muzeme stahovat jednou za den uplne bez problemu.

Pro nas jsou zajimava policka:
id, zip, country, wheelchairAccessible, latitute, longitude, status.
Policko openHours sice asi taky, ale na to budu muset asi napsat nejaky skript, ktery to prezvyka od OSM formatu. Takze 
zatim bych si toho nevsimal.

Pokud je atribut status[statusID] == 5, tak je pobocko trvale zrusena. Cokoliv jineho znamena, ze to chceme mapovat 
(docasne mimo provoz, aktualne naplneno baliky, apod.)


Jak mapovat?

Prislusna wiki stranka je
   https://wiki.openstreetmap.org/wiki/Cs:Tag:vending%3Dparcel_pickup

Takze ta data v uvodu bychom napsali jako:

amenity=vending_machine
vending=parcel_pickup
ref=12              # to je atribut id
postal_code=370 01  # to je atribut zip
wheelchair=no       # to je atribut wheelchairAccessible
operator=Zasilkovna
website=https://www.zasilkovna.cz/pobocky/ceske-budejovice-otakarova-rudolfovska

Pokud je to automaticka vydejna - coz je mozne overit na fotce na tom url, tak je mozne tam pridat
   type=*
podle
   https://wiki.openstreetmap.org/wiki/DE:Packstation#Typen
u nas asi obvykle
   type=cabinet

No a samozrejme to umistnit na bod dany atributy latitude, longitude.

Nabizi se mi jeste otazka, zda nedavat atribut name i do naseho name=* - nevim.

Pokud se nekde mylim, tak mel pls opravte :)

Mirek



Další informace o konferenci talk-cz