Pl:OSM-4D
Strona robocza. Aktualizowany oryginał znajduje się obecnie na podstronie niemieckiej. Strona opisuje projekt mającego na celu:
- Wspólnego tworzenia wolnego modelu 3D świata w OSM.
- Stworzenie koncepcji opisu (tagging) kompleksowych struktur 3D wzbogaconych o aspekt czasowy (stad 4D), które można będzie wprowadzać w OSM na mapę dwuwymiarowa, jeszcze zanim powstanie odpowiedni 3D viewer i edytor tych informacji.
Pomysł
Wspólne tworzenie modeli 3D budynków, terenu i innych struktur otaczającej nas rzeczywistości w połączeniu z mapami Openstreetmap. Oprócz "rzeczywistej" geometrii np. budynków, wprowadzane będą także parametryczne opisy obiektów standardowych i powtarzalnych (jak np. drzewa: gatunek, forma geometryczna, wysokość, średnica korony, wiek, itd.). Oprócz pojedynczych obiektów 3D jak budynki czy mosty rozwijany będzie także wolny model terenu oraz wspólna biblioteka standardowych tekstur i materiałów używanych do generowania oteksturowanych modeli 3D.
Technika tworzenia
Możliwe techniki pracy zostaną opisane na osobnej stronie wiki. ''coming soon'' . Jakościowo dobre modele 3D można jednak tworzyć używając prostych dalmierzy laserowych w połączeniu z (możliwie frontalnie wykonanymi) zdjęciami fasad tzw. prosta fotogrametria architektoniczna oraz rekonstrukcja rzutu budynku ze zdjęć lotniczych.
Dlaczego nazwa 4D?
Czwarty "wymiar" opisuje czasowy aspekt map (np. mapy historyczne).
- Jeśli modelujemy jakiś obiekt lub jego cześć (droga, szlak, budynek), możemy dodatkowo ożyć tagów określających od kiedy (oraz do kiedy) dany obiekt istnieje. Dzięki temu możliwe będzie pokazanie historycznej postaci obiektów tak jak w przypadku archeologicznych rekonstrukcji. Odpowiednie propozycje taggingu istnieją już w OSM jednak wymagają szerszego zastosowania i dokładniejszego sprecyzowania sposobu ich użycia.
- Wizualizacja pór roku dla elementów naturalnych
- Słońce i cienie w czasie rzeczywistym
- Możliwość wizualizacji zjawisk pogodowych na mapie
- Wizualizacja innych elementów zależnych od czasu (smog, hałas)
- Wizualizacja czasu otwarcia dla POI (opening hours)
- Możliwość wizualizacji nocnego oświetlenia na mapie 3D.
Koncepcje
Dualna struktura danych
Aby mozna sie bylo poruszac po mapie 3D w czasie rzeczywistym od poczatku trzeba przewidziec istnienie dajacych sie szybko renderowac w czasie rzeczywistym elementach bazy danych:
- Proste i powtarzalne struktury (drzewa, prostokatne budynki z prosta geometria dachów) beda zapisywane jako parametryczne obiekty (koncepcja library)
- Skomplikowane modele 3D (gotycka katedra) beda modelowane z uzyciem poszczególnych plaszczyzn ("Sciana", "Sufit", "Dach" itd.).
- Mozliwe bedzie stosowanie w modelu referencji na cale modele 3D (uwaga: technika niesie ze soba niebezpieczenstwa. Modele tego typu powinny byc uzywane tylko w wyjatkowych przypadkach dla obiektów nie sasiadujacych z innymi budynkami!)
Edytor 4D
Realizacja koncepcji wymaga stworzenia nowych elementów w OSM (ponizej fragmenty w kolorze czerwonym). Kernel programu jest obecnie rozwijany w Katedrze Informatyki Stosowanej w Lodzi
Poszukiwani sa chetni do wspólpracy w realizacji projektu.
Level of Detail modeli 3D
Modele 3D sluza, w zaleznosci od stopnia detalu, bardzo róznym celom. Dlatego istnieja rózne wymagania dotyczace stopnia uszczególowienia modelu. OSM-4D przewiduje 5 róznych stopni dokladnosci modeli, tzw. "level of detail" (LOD): (Uwaga, rozdzial w budowie!)
- LOD 1
- Bezplatny model terenu (DTM) na rastrze 250m
- szerokosci ulic na podstawie generalizacji: Zaleznie od kategorii ulicy przypisywana jej bedzie szerokosc jesli nie ma innej informacji. Jesli jest informacja w postaci liczby pasów jezdni dla kazdego pasa przypisana bedzie ta sama szerokosc np. 2,5 metra. Jesli znana bedzie szerokosc ulicy, bedzie ona uzywana.
- Budynek jako model klockowy z wysokoscia jako mnoznik znanej liczby pieter dla danego rodzaju uzytkowania, np. budynek mieszkalny:1 pietro = 3 metry, kosciól 1 pietro= 12 metrów itd. Jesli dla budynku nie podana zostala zadna wysokosc, do rysowania uzyta bedzie wysokosc 0,5m oraz rzucajacy sie w oczy kolor, dzieki czemu w widoku 3D mozna bedzie te budynki rozpoznac.
- Teksturowanie terenu na podstawie rodzaju uzytkowania.
- Teksturowanie budynków na podstawie rodzaju uzytkowania
- LOD 2
Dodatkowo do LOD 1:
- Ulepszenie DTM poprzez automatyczna generalizacje przebiegu ulic (temat w obróbce Politechnika Lódzka, KIS) (Heurystyki, kontrola prawdopodobienstwa przebiegu ulicy i dopuszczalnego kata nachylenia ulicy)
- Formy dachów budynków
- Drzewa jako formy 3D z biblioteki
- Mosty jako symbole 3d z biblioteki
- Teksturowanie drzew zależnie od gatunku drzewa
- LOD 3
Dodatkowo do LOD 2:
- Jeśli są do dyspozycji: Plaszczyzna ulic na podstawie obrysu ulic jako area:street
- Jeśli są do dyspozycji: Zdjecia lotnicze jako tekstura terenu
- Verschneidung und Optimierung von dem Gelände anhand von Straßenflächen und Kreuzungsflächen.
- Manuelle Verbesserungen von DTM
- Tekstury budynków, drzew, mostów
- Inne biblioteki elementów 3D (ściany, ogrodzenia, latarnie)
- LOD 4
Dodatkowo do LOD 3:
- Budynki 3D składające się ze ścian, dachów i stropów (z otworami).
- Lukarny (okna w dachu)
- LOD 5
Dodatkowo do LOD 4:
- 3D budynku z drzwiami i oknami
- Tunele w terenie (widoczne w trybie szkieletowym DTM)
- Jeżeli jest znana linia metra (Widoczna w trybie szkieletowego DTM)
- Warstwy terenowe (widoczne w trybie szkieletowym DTM)
Podstawowe elementy 3D
Teren
Teren definiowany jest przez punkty 3D.
- Pi Punkty terenu o wartościach Xi, Yi, Zi oraz
- Geländedicke; wysokość warstwy terenu. Umożliwia opisanie grubości warstw gruntu i liczby warstw gleby reprezentujące warstwy geologiczne
- Bodenart (rolnictwo , geologia )
Ściana
jest definiowana w rzucie ( Klasyczna mapa OSM w 2D) poprzez wektor lub polilinie. Tagging:
- barrier=wall
- P1 (x1, y1, z1),
- P2 (x2, y2, z2), ,
- SzerokośćB, width=*
- WysokośćH, height=*
- Wysokość nad poziomem morza, propozycja taggingu: height_over_sea_level: value. Jeśli wysokość nad poziomem morza nie jest znana (prawdopodobnie regula..) należy używać: height_over_DTM: value
- Rodzaj materiału powierzchni ściany,surface=* (uwaga, ten tag nie musi być tożsamy z materiałem z którego wykonana jest ściana. Np ceglana ściana może być otynkowana...
Przyklad: Rzut obiektu: Widok 3D:
Element ściana może zawierać elementy Bolean minus. Punkty A i B są tagowane za pomocą multipolygon:inner , oraz: Ho- wysokość otworu i Hb - wysokość od dolnej krawędzi ściany do początku otworu.
Propozycja tagowania: Ho Height_opening:value, oraz Hb Height_opening:bottom
Za pomocą tego narzędzia można tworzyć skomplikowane otwory w ścianach, wenn man mehrere Punkte entlang der Polylinie mit verschiedenen Öffnungshöhen Ho taggt. Wird keine Unterkantenhöhe Hb an diesen Punkten getaggt, so wird Hb jeweils als null angenommen und die Öffnung von dem Boden aus gezeichnet.
Falls nicht die Polylinie P1-P2, sondern Punkte P1 und P2 mit zwei verschiedenen Höhen height=* ( entsprechend H1 und H2) getaggt werden, so wird die Oberkante der Wand entsprechend dargestellt:
Sufit
Definiowany w rzucie przez obrys ( Klasyczny widok budynku w dwuwymiarowym OSM). Tagging:
- roof: yes
- Deckenhöhe H2, height=*
- Materialbeschaffenheit der Oben und Unterseite, surface=*
- Höhe über Gelände, Taggingvorschlag height over DTM: value
Element sufit może zawierać elementy Bolean minus (Klasycznie: multipolygon: inner).
Elementy Bolean minus
(Otwory):
Widok 2D elementu w klasycznej mapie OSM:
Trójwymiarowy otwór jest zapisywany w widoku 2D jako relacja : P1-P2-P3-P4 to multipolygon:outer, A-B-C to multipolygon:inner
Dach
definiert im Grundriß ( Klassische OSM 2D Ansicht) durch einen Linienverlauf. Tagging:
- Dachstärke H2,
- Materialbeschaffenheit der Oben und Unterseite,
- Höhe H1 über n.n definiert über den niedrigsten 3D Punkt,
- Neigung des Daches, Alpha; wird definiert durch die Höhen 3 bekannten Punkte.
- Bolean minus Elemente: Definition wie im Abschnitt "Decke"
Przyklad budynku w 3D
TAGGING
- Czarne punkty -
- Zielone punkty -
- Czerwone punkty -
- Zólte punkty -
Wynik: Drahtmodell
Wynik: Volumenmodell
Parametryczne symbole 3D
- Budynek (Liste siehe Wiki Seite: Roof_table)
Bauwerke bei denen man die grobe Volumenform und ungefähre Dachgeometrie kennt, können parametrisch gespeichert werden.
- Most. (Liste siehe Wiki Seite: Bridge_table)
Definiowany przez:
- Brückentyp aus der Library
- Breite
- Höhe
- Materialbeschaffenheit seitlich
- Materialbeschaffenheit oben
- Materialbeschaffenheit Unterseite
- Schody.
Definiert durch:
- Anzahl der Stufen
- Treppenbreite
- Gesamthöhe
- Stufentyp aus der Library
- Materialbeschaffenheit
- Drzewo. (Liste siehe Wiki Seite: Tree_table)
Definiert durch:
- Baumtyp aus der Library
- Höhe Stamm
- Breite Stamm
- Höhe Krone
- Breite Krone
- Elementy przestrzeni miejskiej:
- Laterne, Bänke, Fahhradständer usw. aus der Library defineirt durch:
- Breite
- Tiefe
- Höhe
- Rotation
- Laterne, Bänke, Fahhradständer usw. aus der Library defineirt durch:
Elementy pomocnicze 3D
Um eine gewünschte 3D Darstellung bestimmter Elemente zu erreichen braucht man neue Tags:
- resolution3D:value (Ganzzahl >2) - entscheidet darüber, wie 3D Elemente die auf einem Kreis oder oberfläche des höheren Grades in 3D Darstellung als regelmäßige Mehrecke aufgelöst werden.
- point3D
- level3D:value (Wert 1 bis 4, entscheidet welche Elemente in der 3D Ansicht entfernungsabhängig dargestellt werden)
- invisible3D:yes (Unsichtbare Bolean Primitive können verwendet werden um von sichtbaren 3D Objekten elemente abzuziehen)
Features
- Ermöglicht Erstellung und Bearbeitung der Geometrie sowie das Verlinken von Materialien auf diese.
- Verlinkt die 3D-Daten mit den OSM-Daten. Die aktuelle OSM-Version wird diejenige sein, gegen die verlinkt werden muss (z.B. im Falle, dass bereits verschiedene Zustände (für verschiedene Zeiten) eines Objekts in der Datenbank vorhanden sind).
Przebieg pracy
Der Arbeitsablauf im Editor wird ähnlich dem von JOSM sein:
- Herunterladen eines Teils der Daten
- Bearbeitung der Daten
- Hochladen der Daten (und ggf. Konflikte bereinigen). Alternativ zur Konfliktbereinigung ist auch ein blocking-Modus denkbar.
Wskazówki dotyczace przebiegu pracy
Bei 3D Modellierung ist unsaubere Arbeit sofort sichtbar. Besonders störend im echtzeit-Rendering sind kleine Lücken und Überschneidungen der 3D Objekte. Derartige Artefakte führen zu einem Flimmereffekt bei 3D Visualisierung und sollten unbedingt vermieden werden. Die Probleme entstehen meistens bei der Modellierung der 3D Gebäude. Dies kann nur dann effektiv vermieden werden wenn man alle benachbarte Gebäude herunterlädt, bearbeitet und wieder hochlädt; auch wenn nur ein Gebäude bearbeitet wird.
Wesentlich einfacher ist hingegen die Bearbeitung frei stehender Objekte. Diese können als Einzelobjekte bearbeitet werden.
Elementy biblioteczne
Geometryczna baza danych
Hier werden die Objekte sowie das Geländemodell gespeichert.
- Wird mit OSM-Daten auf Erdbodenhöhe verknüpft
- Speichert die Geometrie und die folgenden Material-Parameter:
- Material-Bezug (ID aus der Material-Datenbank)
- Material-Projektionsart (planar, zylindrisch, sphärisch, ...)
- Ursprung
- Skalierung (Vergrößerungsfaktor)
- Ausrichtung (Drehung um die 3 Raumachsen)
Baza danych czesci budowlanych i system modularny
Um eine möglichst universelle Verwendbarkeit der Modelle zu garantieren, werden diese idealerweise modular aufgebaut. Typische Bauteile wie Fassaden, Fenster, Türen, Schornsteine werden in einer Bauteil-Datenbank abgelegt. Dort finden sich auch Elemente wie Parkbänke, Bäume, Mülleimer, Straßenlaternen, Briefkästen und was sonst zur Wiedererkennbarkeit eines Ortes beiträgt. Diese Bauteile sind nach Möglichkeit parametrisiert, so dass sie in anderem Kontext mit leicht modifizierten Parametern (wie z.B. Breite, Höhe, Profilbreite, etc.) weiterverwendet werden können.
So wird der Modellieraufwand reduziert und der Speicherbedarf minimiert, indem die Eigenschaften von Objekten vererbt werden können, und nur die geänderten Parameter extra gespeichert werden müssen.
Anders als der Name vermuten lässt ist die Bauteil-Datenbank keine unabhängige Datenbank. Vielmehr können alle Objekte jederzeit wiederverwendet werden - nach Bedarf auch mit veränderten Parametern oder Materialien.
Baza danych materialów
- Beschreibt die Materialien, die der Geometrie zugeordnet werden können.
- Verknüpft Texturen (fotografische Repräsentationen) und Shader (algorithmische Beschreibungen) mit der Geometrie und integriert dazu Angaben wie Transparenz und Reflektionseigenschaften.
- Ermöglicht die Kombination verschiedener Texturen und Shader.
Baza danych tekstur
Texturen sind Bitmap-repräsentationen (Fotos). Sie werden von der Materialdatenbank aus eingebunden. Die Texturdatenbank besteht aus 2 Grundtypen:
- Texturen für individuelle Gebäude (ganze Fassaden oder Fassadenteile eines spezifischen Gebäudes)
- Standard-Texturen, die ähnlich einem Baukastensystem universell verwendet werden können, z.B.:
- Dacheindeckungen
- Mauern
- Fassadentypen
- Fenster und Glasfassaden
- Bodenbeläge
- "Grundmaterialien" wie Metall (in verschiedener Oberflächenausgestaltung), Naturstein, Sand, ...
- alle Texturen können getaggt werden, um sie auffindbar zu machen.
- das System ist mehrsprachig: Tags können in verschiedenen Sprachen eingegeben werden
Baza danych Shader
Die Shader-Datenbank ist ähnlich aufgebaut wie die Texturdatenbank. Der Hauptunterschied ist, dass algorithmische Ausdrücke (Formeln) und Parameter anstatt Fotos enthalten sind. Tags sind auch hier mehrsprachig hinterlegbar.
Czas
Co juz istnieje?
Istnieje juz kilka stron z zawartoscia która ma byc wykorzystana w projekcie 4D:
- DE:OSM-3D
- Tree_table (po angielsku)
- Roof_table
- DE:X-Plane
- Bridge_table (strona w budowie)
- Indoor
- Google_Sketchup_Plugin