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.
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?
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
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.:
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:
Ok, dzięki zapoznam się z treściami i dam znać
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).
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.
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!
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.
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:
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”
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.