"Masowa" edycja danych OSM

Witajcie,
to mój pierwszy post na forum więc pragnę się przywitać. Na co dzień zajmuje się GISem i mapami i OSM wykorzytuję każdego dnia więc od pewnego czasu chcę by mój wkład mógł pomóc w tworzeniu lepszej mapy.

Pytanie:
Czy jest możliwość edycji “automatycznej” lub “pół-automatycznej” kilkudziesięciu tysięcy obiektów (a może nawet kilkuset tysięcy?).
Już tłumaczę: poprzez analizy teledetekcyjne udało mi się dokonać pomiaru licznych obiektów budowlanych (np. budynki w Krakowie).

Dane pochodzą z dwóch źródeł - dane LIDAR z nNMPT oraz dane z modeli terenu wykreowanych przy użyciu drona. Na zasadzie “zone statistics” jestem w stanie do pobranych z OSM danych o budynkach przypisać im średnią / medianę / najwyższą wartość wysokości budynku w danej lokalizacji. Tym samym w programie GISowym mam dane SHP z tysiącami poligonów pobranych z OSM z przypisaną daną wysokościową. Chciałbym następnie “zwrócić” te dane do systemu wraz z wysokością - zamiast edytować każdy budynek osobno.
Po co? Uważam że wizualizacje miast 3D oparte o faktyczne dane wysokościowe są bardzo ważnym narzędziem przy projektowaniu i planowaniu przestrzeni. Co więcej dane z OSM można wczytać do Blendera czy SketchUP by tworzyć bardziej zaawansowane wizualizacje. Przy rzeczywistych wysokościach budynków (do których mamy dostęp) powyższe programy dadzą o wiele lepszy efekt.

Pytanie jak tego dokonać unikając edycji każdego budynku z osobna? Zacząłem odkrywać JOSM ale będę wdzięczny za podpowiedź. Ewentualnie mogę przygotować paczkę danych SHP z object_id z OSM oraz atrybutem wysokości i ktoś może to podmienić - jeśli to bardziej skomplikowana sprawa. Z góry dzięki za pomoc.

Cześć,

Ciekawa inicjatywa, ale mam do ciebie dwa pytania na wstępie:

  • Czy te dane są na licencji umożliwiającej wykorzystanie ich w OSM? Jeśli to twój prywatny projekt, to oczywiście ty decydujesz, ale jeśli były robione na zlecenie albo w ramach pracy to może być różnie.

  • Czy te wysokości są mierzone względem poziomu gruntu czy w jakiś inny sposób?

Dzięki za odpowiedź.

Nie ma tu kolizji z elementami licencyjnymi OSM, przynajmniej zgodnie z tym co udało mi się wyczytać.

Generalnie w przypadku działań lokalnych (kilkadziesiąt - kilkaset hektarów) po przelotach dronowych można wygenerować model pokrycia terenu. Zależnie od użytego oprogramowania można łatwiej lub trudniej wyciągnąć z niego wysokość poszczególnych obiektów. Jeśli dysponujemy modelem terenu - możemy odjąć jeden od drugiego i zostaną nam tylko obiekty powyżej, w przypadku terenów płaskich (nizinnych) możemy spokojnie określić wysokość gruntu i odjąć ją od wszystkich obiektów na modelu; możemy też stworzyć profil przez obiekty i zweryfikować dane wysokościowe.

https://www.mapsmadeeasy.com/maps/public/e159e1bcd23f430aa04b7300c03ddb36 tu na przykład mamy fragment zobrazowania z drona - po wyborze w panelu warstw - Elevation możemy zobaczyć jakie wysokości mają poszczególne obiekty (bezwzględną), ale bez większego trudu można otrzymać wysokość względną i zaktualizować ją dla wszystkich budynków w zasięgu.

W przypadku wykorzystania danych LIDARowych dla większych obszarów możemy zaktualizować na podobnej zasadzie całe miasto. Pytanie jak sprawnie przenieść te wysokości dla kilkuset budynków za jednym razem :wink:

Wybrać budynki z bazy wraz z położeniem punktów wchodzących w ich skład jest łatwo:

http://overpass-turbo.eu/s/Bio

Warto jeszcze sprawdzić czy nie ma przesunięcia, a potem można np. w centroidzie każdego budynku sprawdzać wartości i pokombinować na ile to dokładnie działa na małej próbce.

Samo wrzucanie potem tagów z wysokością powinno być technicznie proste, np.:

https://help.openstreetmap.org/questions/21524/how-to-mass-edit-nodes-with-specific-tags-in-josm?page=1&focusedAnswerId=38850#38850

Tu są ogólne uwagi dotyczące masowych edycji:

https://wiki.openstreetmap.org/wiki/Automated_edits

Tu jest ciekawy artykuł Tordanika sprzed 5 lat o generowaniu mapy powierzchni na podstawie próbek wysokości - akurat dla celów renderowania 3D, ale tu się też może przydać do wyliczania wysokości gdy teren nie jest idealnie płaski:

http://tobias-knerr.de/publications/thesis/Master%20Thesis%20Knerr.pdf

Ok, dzięki zapoznam się z treściami i dam znać :wink:
Bo etap przypisania wysokości (centroida / mediana / moda / średnia poligonu) jest faktycznie bardzo prosty.
Do napisania później i dzięki za odpowiedzi!

Dajcie tylko proszę znać jaka waszym zdaniem wysokość obiektu byłaby optymalna (komin lub kalenica (najwyższy punkt), średnia z obrysu, czy najczęstsza wartość z obrysu).

Zdecydowanie ta najwyższa:

https://wiki.openstreetmap.org/wiki/Key:height#Height_of_buildings

możesz od razu dodawać tag source:height=*, żeby było łatwiej to weryfikować (np. ktoś kiedyś przyjdzie z miernikiem laserowym i poprawi poszczególne budynki).

Daj znać jak poszły próby na niewielkiej populacji - dopiero z tego można wyciągnąć jakieś wnioski jak to sensownie zrobić hurtem.

Profil przez teren, atrybuty z pobranych danych + tabela atrybutów z wartością wysokości maksymalnej

Tu nie w kolorach, ale B&W - widoczne nadbudówki, kominy

z podkładem WMTS ortofoto geoportal / transparency 50%

Te same obiekty widoczne na widoku 3D google maps.
https://www.google.com/maps/@50.0575594,19.9812399,123a,35y,313.1h,47.76t/data=!3m1!1e3

Wygenerowanie centroidy dla każdego budynku też mam zrobione więc jej uzyskanie nie jest problemem.

Fajnie to wygląda i sensownie. Jak już dodasz to podrzuć link, popatrzę sobie w Kendzi3D, a może także w jakimś stylu 3D, jeśli się szybko zaktualizuje.

hmm… jeśli nie przegryzę się przez overpass’a i to “technicznie proste wrzucenie” które podlinkowaliście, to będę prosił po weekendzie o pomoc z przejściem tej ścieżki, lub podeślę chętnemu SHP’a z centroidami budynków w wysokościami, które ktoś może spróbować załadować.
Pozdrawiam!

Gdyby ktoś jednak wcześniej chciał: paczka ZIP z centoidami dla kilkudziesięciu budynków
https://drive.google.com/open?id=1ctnNVK71u0_1a24xeLZzfK2GD1GMPTYh

Ten link do Overpassa zawiera w komentarzu kod, który się wrzuca do kreatora - on już sobie to rozwija. Zasadniczo ustawiasz okienko na interesujący cię obszar, w kreatorze podajesz tylko “building=*” (czyli wybierz dowolne budynki w tym obszarze), a następnie uruchamiasz i dostajesz dane do obróbki. Ja akurat ograniczyłem do Złotna, ale to tylko żeby pokazać że da się wybrać precyzyjnie.

Dawaj znać jak ci idzie.

Jak sobie radzisz z budynkami, których centroid nie leży w środku (np. w kształcie L lub O)?

Hm… w zamyśle myślałem że da się uniknąć centroid - realizowałem analizę w QGIS poprzez zonal statistics →
https://gis.stackexchange.com/questions/254974/how-does-zonal-statistics-work-exactly z wartością max
i na podstawie tej funkcji wyciągałem wysokość, gdzie wykorzystywałem cały obrys budynku.

Natomiast (o czym nie pomyślałem przy eksporcie dla Was teraz) faktycznie przy nietypowym kształcie jak L czy S może punkt uciekać poza obrys.

W moim zamyśle - nie wiem czy słusznym - kluczem do połączenia danych powinno być osm_id (takie skrzywienie z systemów bazodanowych) - gdzie jest ono o ile rozumiem unikalne i można na jego podstawie dodać ‘height’ obiektu do obiektu (jakiś join / spatial-join). Jak dla mnie nic nie stoi na przeszkodzie eksport poligonów https://drive.google.com/open?id=1JQcQgWc5dLXjLvB7JtroMxQJ-wZzOPm_ które jedynie trzeba byłoby wyczyścić z miejsc gdzie powstały nowe obiekty (nowe osiedla których nie ma w danych z pokrycia terenu - ale to jest nie aż taka ilość pracy.

Faktycznie osm_id jest unikalne i też bym po tym identyfikował obiekty, z tym, że nie masz bezpośredniej komunikacji z bazą, tylko przez API, które przyjmuje dane XML, stąd konieczność używania narzędzi do edycji XML zamiast SQL:

https://wiki.openstreetmap.org/wiki/API_v0.6

Zerknijcie jeszcze na to: https://www.geoportal.gov.pl/o-geoportalu/aktualnosci/-/asset_publisher/HCHq0YGNRszn/content/27-08-2018-modele-budynkow-3d-w-geoportalu-dostepne-bezplatnie-do-powszechnego-wykorzystania W komunikacie napisali: “Modele budynków są dostępne bezpłatnie do powszechnego wykorzystania.” - sądzicie, że można traktować to jako zgodę na wykorzystanie w OSM?

Ja bym powiedział, że tak, ale jeśli chcesz ostatecznie rozwiać wątpliwości to :

W przypadku jakichkolwiek pytań prosimy o kontakt z Wydziałem Fotogrametrii i Teledetekcji GUGiK odpowiedzialnym za produkcję przedmiotowych modeli 3D budynków

Trzeba to pytanie odpowiednio sformułować, bo jeśli coś im powiesz o ODbL, to pewnie zgłupieją. :stuck_out_tongue:

O, super! Ja też rozumiem, że to jest jasna zgoda także na wykorzystanie w OSM.

Jest taka możliwość jednak na pewno należy zacżąć od czegoś na dużo mniejszą skalę by mieć pewność że nie pojawaiają się jakieś niespodziewane problemy.

Jakby kto mógł, to hurtowo przydałoby się pozmieniać nazwę Bank Zachodni WBK na Santander.