Statystyki zmian w OSM. Na przykładzie aptek w Polsce.

W wątku obok wyciągnąłem sprawę aptek I widzę, że maraf24 “uapteczył” Piotrków Trybunalski :D. To przy okazji:

Zrobiłem taką akcję na wykopie. Jakieś tam efekty są, w komentarzach widać, gdzie się pozmieniało. Być może największą korzyścią z całej akcji nie będzie uzupełniona mapa, tylko nowy mapowicz jakiś…

Pytanie mam w związku z tym. Ze zrobieniem gifa, pokazującego zmiany jakoś sobie poradzę z pomocą Overpassa i GIMPa (chyba że jest gotowe narzędzie, o którym nie wiem? Achavi chyba nie umożliwia pokazania zmian tylko obiektów określonego typu i w ogóle rzadko raczy mi cokolwiek wyświetlić…), natomiast chciałbym zrobić jakieś statystyki - ilu aptekom przybył tag z godzinami otwarcia, ile jest oznaczonych nowych, ile usuniętych. I zupełnie nie mam pojęcia, jak się do tego zabrać.

Aktualną ilość aptek w bazie policzy Ci overpass (Załadowano – węzłów: 5065, linii: 0, relacji: 0; Wyświetlono – pois: 5065, lines: 0, polygons: 0) czyli na obecną chwilę jest według overpassa 5065 aptek w Polsce. Apteki z godzinami otwarcia można liczyć tak samo (trzeba tylko wywołać skrypt overpassa, który znajdzie tylko apteki a godzinami otwarcia). Mam jednak wrażenie, że overpass nie radzi sobie z wyciągnięciem wszystkich danych - konkretnie po przybliżeniu miejscowości Świebodzice są na mapie 4 kropki, a po wykonaniu analogicznego zapytania dla Świebodzic jest ich 11.
Po poprawieniu zapytania (uwaga - nie uruchamia się samo) wszystko się zgadza (Załadowano – węzłów: 7085, linii: 342, relacji: 2; Wyświetlono – pois: 5077, lines: 0, polygons: 340, czyli jest 5077+0+340 aptek) i w Świebodzicach wyświetlają się wszystkie apteki - problem był ze sposobem wyboru obszaru - 2 relacje nie zrobiły by aż takiej różnicy ;).
Do akcji na wykopie pewnie przydałby się krótki filmik instruktażowy, na którym dodajesz/edytujesz aptekę. U mnie po kliknięciu “Edycja” bez rozwijania przeglądarka chciała wysłać dane do JOSM - nie sądzę, aby każdy miał go domyślnie zainstalowany i uruchomiony (ale może OSM już nauczył się, że ja zawsze wysyłam dane do JOSM). Przy okazji - w JOSM jest wtyczka do łatwiejszej edycji godzin otwarcia, może w innych edytorach również jest coś takiego?

Co prawda nie pokazuje wszystkiego co chcesz osiągnąć, ale jakieś statystyki są: http://osmapa.pl/w/amenity/pharmacy_stats.html
Wykorzystałem stare narzędzia i jeśli Cię interesuje, to mogę dodać do tabeli jakieś tagi.
Uruchamia się po północy (dane na północ), kolor zielony pokazuje przyrost, niebieski spadek liczby.

To dlatego, że zmieniłeś domyślny edytor w ustawieniach. Zaraz założeniu konta uruchamiać się będzie iD.

Co nie zmienia faktu, że filmik by się przydał :wink:

  1. Mi by się przydał krótki filmik instruktażowyobszerny podręcznik do Overpassa, bo nadal połowy składni nie łapię. Co właściwie robi geocodeArea i skąd się bierze takie fajne informacje?
  2. Filmik, albo chociaż obrazki, byłyby dobre, ale mam dużo innych rzeczy do robienia i uznałem, że dobry opis wystarczy. Właściwie, to z mozliwych form instrukcji, filmik jest u mnie gdzieś na końcu listy.
  3. Musiałeś sobie ręcznie przestawić domyślny edytor. Widzi mi się, że jak ktoś sobie takie coś zrobi, to całej instrukcji dodawania godzin otwarcia nie potrzebuje. :wink:

Niestety nie spotkałem się, poza tym nie mówimy o “innych edytorach”, tylko o iD, skoro akcja jest skierowana do ludzi, którzy niekoniecznie są oblatani i do apteki mogą pójść i wklepać coś według instrukcji, ale instalować specjalnie oprogramowanie? Zapomnij.

W Vespuccim zapowiadają edytor do godzin otwarcia podobny do tego JOSM-owego dodatku, ale wygląda na to, że z każdą wersją zapowiadają, że jednak będzie w późniejszej :wink: . A akurat w Vespuccim to by miało jeszcze więcej sensu, niż w JOSM.

To wygląda na dobry początek. A dałoby się zrobić zestawienie z kilku dni?
A, i na przybyło/ubyło w sensie podania, że trzy apteki zlikwidowane, pięć dodano, raczej nie ma co liczyć?

Bardzo proszę o nietworzenie liczby postów ponad miarę. Wszystkie wątki można zawrzeć w jednym poście. Dzięki :slight_smile:

Mamy tu do czynienia z klasycznym strumieniem świadomości, czyli pisałem na jeden temat, kończyłem post, po czym przychodziło mi do głowy, żeby odpisać jeszcze na drugi. A co jest złego w kilku postach zamiast jednego?

Obejrzałem sobie te relacje i zęby mnie rozbolały:
http://www.openstreetmap.org/relation/4171828
http://www.openstreetmap.org/relation/3972287

W obu przypadkach jest to multipolygon składający się z dwóch linii outer, składających się w sumie na prostokąt.
Da się jakoś w JOSM skopiować tagi z relacji, żeby je wkleić do obiektu?

EDIT: Przy tej aptece w Pruszkowie jest Żabka i jest zrobiona tak samo…

Wystarczy umieć czytać i pisać używając kreatora ;). Kolorowanie kropek wziąłem od Ciebie.

W mojej wypowiedzi iD jest (jednym z) innych programów do edycji. Ale faktycznie wygląda na to, że (jeszcze) nie ma: https://github.com/openstreetmap/iD/issues/974
Szkoda natomiast, że nie ma do edycji godzin otwarcia nawet czegoś takiego, jak http://wheelmap.org/en/ gdzie można sobie kliknąć dowolne POI i dodać informację o dostępności dla osób na wózkach nawet bez zakładania konta w OSM.

W sumie dla początkujących (a chyba i nie tylko) ta stronka może być pomocna: http://github.pavie.info/yohours/ - pozwala łatwo wyklikać poprawną wartość tagu opening_hours (całkiem tak jak w pluginie do JOSM, tylko funkcjonalność jest większa).

Ale ja bym chciał rozumieć, co piszę i wiedzieć, co jeszcze można napisać…

Robi się codziennie z danych na stan o północy (już są dwa dni).

Co do przybyło/ubyło, to do końca może nie oddawać stanu faktycznego. Wystarczy, że ktoś przeniesie dane z punktu na obrys. Za to mogę bez większego wysiłku zrobić coś na wzór http://osmapa.pl/w/przejazdy2/QArailwaycross14.php#2015-11-08%2019:00

Do nauki jest:
http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide
http://osmlab.github.io/learnoverpass//en/

Chociaż tam akurat nie ma geocodeArea… Ale jest tu:
http://wiki.openstreetmap.org/wiki/Overpass_turbo/Extended_Overpass_Queries

Strona ze zmianami w aptekach: http://osmapa.pl/w/amenity/QApharmacy15.php

Ło! Kopalnia danych, już trochę popoprawiałem po wykopkach.
A możesz wystawić to w jakiejś bardziej gołej formie, żeby łatwo to zaczytać do jakiegoś arkusza kalkulacyjnego?

Albo - jak Ty to wyciągasz i co potrzebuję, żeby wyciągać samemu?

W bardziej gołej formie to jest w zmianach: http://planet.openstreetmap.org/replication/minute/001/

A tak poważnie, to przechodzi przez skrypty i nie powinno być problemu, żeby było w innej formie. Tylko które dane Cię interesują?

Interesują mnie:
Apteki dodane
Apteki usunięte
Apteki, którym przybyło tagów w ogóle (jeśli da się wyciągnąć coś tak ogólnikowego)
Apteki, którym pokawił się tag opening_hours
Data zmiany (changesetu).

Od piątego listopada począwszy. W formie zaczytywalnej do arkusza (CSV, XML…)

Tak na szybko mam coś takiego:


c	n	3818418876	1	35097182 2015-11-05 11:00	jacek_zwik		amenity=pharmacy | contact:phone=77-4513455 | name=Apteka "Śródmiejska"
c/oh	n	3818418877	1	35097182 2015-11-05 11:00	jacek_zwik		amenity=pharmacy | contact:email=aptekieskulap@op.pl | contact:phone=77 441 86 77 | name=Apteka ESKULAP | opening_hours=Mo-Fr 07:30-20:00; Sa 08:00-15:00 | website=http://www.aptekieskulap.pl/
m	n	3782081656	2	35107940 2015-11-05 20:00	Gutsycat	amenity=pharmacy | drive_through=no | name=Przyjazna Apteka | opening_hours=8:00 - 22:00	amenity=pharmacy | drive_through=no | name=Przyjazna Apteka | opening_hours=08:00-22:00
m/oh	n	2570701954	3	35111860 2015-11-05 22:00	adamtg	addr:city=Tarnowskie Góry | addr:housenumber=44 | addr:street=Słoneczników | amenity=pharmacy	addr:city=Tarnowskie Góry | addr:housenumber=44 | addr:postcode=42-606 | addr:street=Słoneczników | amenity=pharmacy | drive_through=no | name=Świętego Kamila | opening_hours=Mo-Fr 08:00-19:00; Sa 09:00-13:00

Kolumny (oddzielone tabulatorem):

  1. rodzaj operacji - c - utworzenie, m - modyfikacja, d - usunięcie; jeśli obok pojawi się /oh - oznacza to “pojawienie” się opening_hours=
  2. typ obiektu - n - node, w - way, r - relation
  3. id obiektu
  4. wersja operacji
  5. changeset
  6. godzina przygotowania statystyk (godzina operacji może kiedyś)
  7. user
  8. tagi przed operacją
  9. tagi po operacji

Jeśli wystarczy, zalinkuję plik.

Wygląda bardzo dobrze, poproszę.

Czy to będzie odświeżalne? Jeśli nie, to będę się w piątki uśmiechał o odświeżenie.