Mesh (z ang. polygon mesh – siatka wielokątów) to fundamentalna struktura w trójwymiarowej grafice komputerowej i modelowaniu. Służy do przedstawienia powierzchni dowolnego obiektu za pomocą zbioru połączonych ze sobą wielokątów. Struktura mesh składa się z trzech podstawowych elementów:
• wierzchołków (vertices) – punktów w przestrzeni 3D o określonych współrzędnych (x, y, z);
• krawędzi (edges) – odcinków łączących dwa wierzchołki;
• ścian (faces) – wielokątów utworzonych przez krawędzie.
Chociaż ściany mogą być czworokątami (quads) lub wielokątami o większej liczbie boków (n-gons), w praktyce i w dalszej części artykułu skupiamy się wyłącznie na trójkątach, które są najprostszym i najbardziej uniwersalnym elementem, ponieważ większość systemów renderujących, kart graficznych i algorytmów działa na nich najefektywniej.
Rys. 1. Struktura danych mesh (źródło: https://en.wikipedia.org/wiki/Polygon_mesh)
Z tego też względu nawet modele powstające z innych wielokątów są zazwyczaj dzielone na trójkąty (triangulowane) dla efektywności finalnej prezentacji.
Im więcej trójkątów zawiera siatka, tym dokładniej odzwierciedla ona kształt obiektu. Dobrze widać to na klasycznym przykładzie modelu Stanford Bunny. Widzimy cztery wersje tego samego modelu o rosnącej liczbie trójkątów (od rzadkiej siatki po bardzo gęstą). Im więcej trójkątów, tym gładsza i bardziej szczegółowa staje się powierzchnia.
Rys. 2. Model 3D mesh w różnych rozdzielczościach (źródło: graphics.stanford.edu/data/3Dscanrep)
Mesh opisuje wyłącznie powierzchnię obiektu (jego „skórę”), a nie objętość. Jest to uniwersalny sposób reprezentacji kształtów 3D, stosowany w grafice komputerowej, grach, CAD, medycynie, druku 3D, animacji i wielu innych dziedzinach, w tym także w geodezji i kartografii, o czym więcej w dalszej części artykułu.
• Mesh w prezentacji danych przestrzennych
Z wykorzystaniem modeli mesh – zbudowanych z trójkątów pokrytych teksturą ze zdjęć lotniczych – jesteśmy w stanie stworzyć fotorealistyczną wizualizację terenu z georeferencją.
Rys. 3. Przykład modelu mesh (opracowanie własne autora)
Modele te najczęściej zapisywane są w formacie Wavefront OBJ (rozszerzenie OBJ). Jest to prosty, tekstowy format, w którym poszczególne elementy siatki opisane są specjalnymi znacznikami:
• v – wierzchołki (vertices) – lista punktów w przestrzeni 3D (współrzędne x, y, z),
• vn – wektory normalne (vertex normals) – informacje o kierunku prostopadłym do powierzchni, potrzebne do prawidłowego oświetlenia modelu,
• vt – współrzędne tekstury (texture coordinates) – mapowanie, które mówi, jaki fragment zdjęcia ma zostać nałożony na dany wierzchołek,
• f – ściany/trójkąty (faces) – definicje trójkątów poprzez odwołania do numerów wierzchołków, współrzędnych tekstury i normalnych (np. f 1/1/1 2/2/2 3/3/3).
Nie wszystkie z tych elementów są obligatoryjne. Do utworzenia siatki trójkątów konieczne są wierzchołki (v) i trójkąty (f), natomiast wektory normalne (vn) i współrzędne tekstury (vt) są opcjonalne. Większość programów potrafi wyliczyć normalne automatycznie, a bez współrzędnych tekstury model pozostaje „gołą” geometrią.
W praktyce modele siatkowe 3D z GUGiK prawie zawsze zawierają wszystkie cztery elementy, są fotorealistyczne i posiadają tekstury ze zdjęć lotniczych. Dzięki prostej strukturze plik OBJ (wraz z towarzyszącym mu plikiem materiałów MTL i teksturami) może być odczytywany przez niemal wszystkie programy 3D – od darmowych Blendera, MeshLabs, CloudCompare i QGIS-a, po silniki gier i przeglądarki internetowe obsługujące 3D Tiles.
• Jak są tworzone realistyczne modele mesh metodami fotogrametrycznymi?
Modele siatkowe 3D w geodezji powstają w wyniku zaawansowanego procesu fotogrametrycznego, który łączy zdjęcia lotnicze pionowe i ukośne. Proces ten przebiega w kilku głównych etapach:
1. Pozyskanie zdjęć lotniczych. Wykonuje się nalot fotogrametryczny z użyciem specjalistycznych kamer cyfrowych. Oprócz klasycznych zdjęć pionowych (oś kamery skierowana prawie pionowo w dół) pozyskuje się także zdjęcia ukośne – zwykle z czterech kierunków (przód, tył, lewo, prawo) pod kątem około 35–50° od pionu. Zdjęcia ukośne pozwalają na dobre zobrazowanie fasad budynków i innych obiektów pionowych.
2. Aerotriangulacja i rekonstrukcja geometrii. Na podstawie zdjęć (pionowych i ukośnych) oraz punktów osnowy fotogrametrycznej wyznacza się precyzyjne położenie i orientację każdej kamery w przestrzeni. Współcześnie proces ten opiera się na metodach Structure from Motion (SfM).
3. Generowanie gęstej chmury punktów. Za pomocą algorytmów dopasowania gęstego (dense matching) tworzy się bardzo gęstą chmurę punktów 3D, która opisuje powierzchnię terenu, dachów, fasad i innych obiektów.
4. Budowa siatki trójkątów mesh. Na podstawie chmury punktów generowana jest ciągła powierzchnia złożona z setek tysięcy lub milionów trójkątów. Powierzchnia ta stanowi geometryczny szkielet modelu.
5. Teksturowanie. Na powstałą siatkę trójkątów nakładana jest tekstura pochodząca bezpośrednio ze zdjęć lotniczych. Dzięki temu model zyskuje fotorealistyczny wygląd – kolory i detale odpowiadają rzeczywistemu wyglądowi terenu w momencie nalotu.
6. Georeferencja i kontrola jakości. Gotowy model jest wpasowywany w państwowy układ współrzędnych (najczęściej PUWG-2000 lub PUWG-1992) oraz poddawany kontroli dokładności geometrycznej i radiometrycznej.
Efektem końcowym jest fotorealistyczny, georeferencyjny model siatkowy 3D (zazwyczaj w formacie OBJ + tekstury), który może być dalej przetwarzany do standardu 3D Tiles w celu efektywnego udostępniania dużych obszarów. Uzyskane w wyniku opisanego wyżej procesu modele mesh mogą być z powodzeniem wykorzystywane zarówno do profesjonalnych analiz, jak i do wizualizacji dla szerokiego grona odbiorców.
• Modele mesh dużych obszarów
Inaczej modeluje się pojedynczy obiekt lub zespół obiektów (np. jeden budynek lub mały fragment miasta w formacie OBJ), a inaczej ciągłą przestrzeń całego miasta czy większego obszaru. Klasyczne pliki OBJ stają się niepraktyczne przy rozległych modelach – potrafią zajmować wiele gigabajtów i są zbyt duże do płynnego wczytywania w przeglądarce internetowej lub aplikacji mobilnej. Dlatego powstał i dynamicznie rozwija się otwarty standard 3D Tiles (opracowany przez OGC). Jego główną zaletą jest inteligentne dzielenie ogromnego modelu 3D na mniejsze fragmenty (kafelki – tiles) o różnym poziomie szczegółowości (LOD – Level of Detail). Tworzy to hierarchiczną strukturę, w której kafelki nadrzędne o uproszczonej geometrii są w miarę przybliżania widoku automatycznie zastępowane dokładniejszymi kafelkami podrzędnymi. Dzięki temu z dużej odległości widzimy uproszczony model całego miasta, a po zbliżeniu automatycznie pojawiają się detale budynków, dachów i elewacji – przy jednoczesnym zachowaniu wysokiej wydajności i płynności działania.
Standard 3D Tiles umożliwia:
• hierarchiczne dzielenie dużego modelu na kafelki o różnej szczegółowości,
• streaming – wczytywanie tylko tych fragmentów, które aktualnie znajdują się w polu widzenia użytkownika,
• automatyczne przełączanie poziomu szczegółowości w zależności od odległości od kamery,
• efektywne wyświetlanie nawet wielomiliardowych zbiorów trójkątów w przeglądarce internetowej (np. CesiumJS), programach desktopowych (QGIS, ArcGIS) oraz silnikach gier.
Dzięki publikacji modeli siatkowych GUGiK również w standardzie 3D Tiles możliwe staje się płynne przeglądanie całych miast on-line – bez konieczności pobierania gigabajtów danych na dysk i bez zacinania się aplikacji. Użytkownik może swobodnie „latać” nad miastem, a system sam dba o to, aby w danym momencie ładowane były tylko potrzebne fragmenty modelu.
• Dostępność danych mesh w Polsce
W Polsce dane mesh są systematycznie gromadzone w państwowym zasobie geodezyjnym i kartograficznym od wejścia w życie rozporządzenia ministra rozwoju i technologii z 16 grudnia 2022 r. ws. baz danych dotyczących zobrazowań lotniczych i satelitarnych oraz ortofotomapy i numerycznego modelu terenu. Pierwsze dane mesh udostępniono publicznie w lutym 2024 r. (Malbork). Potem pojawiły się kolejne miasta: Toruń, Zielona Góra, Kołobrzeg, Olsztyn, Sanok, Zakopane. Na ten moment udostępnione modele siatkowe obejmują prawie 3000 km kw. i wciąż ich przybywa. Poniżej aktualna mapa dostępności tych danych.
Rys. 4. Dostępność danych mesh w Polsce (źródło: MojGeoportal.pl)
Dane mesh są bezpłatne i dostępne do pobrania poprzez usługę WMS https://mapy.geoportal.gov.pl/wss/service/PZGIK/NMT/WMS/ModeleSiatkowe3D, która obrazuje poszczególne arkusze danych, a w wyniku odpowiedzi na zapytanie GetFeatureInfo – zwraca informację o arkuszu oraz link do pobrania pliku z jego obszaru. Usługa jest domyślnie podłączona w serwisie Geoportal.gov.pl – wystarczy włączyć odpowiednią warstwę i pobierać dane (rys. 5).
Rys. 5. Wykorzystanie usługi do pobierania danych mesh w serwisie Geoportal.gov.pl
Dane mesh można także pobierać w serwisie MojGeoportal.pl (rys. 6).
Rys. 6. Wykorzystanie usługi do pobierania danych mesh w serwisie MojGeoportal.pl
Poniżej pojedynczy model mesh z danych GUGiK w oprogramowaniu CloudCompare.
Rys. 7. Model mesh w oprogramowaniu CloudCompre z nałożoną teksturą
Rys. 8. Model mesh w oprogramowaniu CloudCompre bez tekstury
• Możliwe pola wykorzystania
Zgromadzone dane mesh – oprócz wykorzystania do atrakcyjnej, realistycznej prezentacji otaczającej nas rzeczywistości – mogą znaleźć także inne ważne zastosowania, m.in. w:
• planowaniu przestrzennym i urbanistyce,
• wizualizacji inwestycji i prezentacjach dla mieszkańców,
• zarządzaniu kryzysowym i modelowaniu zagrożeń,
• turystyce i promocji miast (wirtualne spacery),
• edukacji i nauce,
• tworzeniu cyfrowych bliźniaków miast,
• AR/VR oraz aplikacjach mobilnych.
• Wnioski
Modele siatkowe 3D mesh stanowią istotny krok w kierunku pełnej cyfryzacji przestrzeni geograficznej Polski. Połączenie fotorealistycznej tekstury z precyzyjną geometrią oraz publikacja w standardzie 3D Tiles otwierają zupełnie nowe możliwości wykorzystania danych przestrzennych – zarówno przez specjalistów, jak i obywateli. Systematyczne powiększanie zasobu i coraz szersza dostępność tych danych sprawiają, że stają się one ważnym elementem nowoczesnej infrastruktury informacji przestrzennej.
Możliwość przeglądania atrakcyjnych dla oka wizualizacji to dopiero początek. Prawdziwe korzyści uzyskujemy, kiedy integrujemy te realistyczne dane z danymi geodezyjnymi, uzbrojeniem terenu, ewidencją gruntów i budynków czy też z całą mapą zasadniczą. Taka integracja danych nie jest łatwa, ale możliwa do wykonania i warta włożonego wysiłku. Przykład takiej realizacji – dostępnej w serwisie MojGeoprtal.pl – przedstawia rys. 10. Więcej o technicznych aspektach takiej integracji zainteresowani będą mogli przeczytać w kolejnym artykule.
Rys. 9. Integracja modelu mesh z treścą mapą zasadniczej
Wniosków z prac związanych z publikacją w serwisie MojGeoportal.pl ponad 100 tysięcy modeli obejmujących 3000 km kw. jest wiele, ale zostawię Państwa jedynie z dwoma.
Danych mesh systematycznie przybywa. Jak podaje Główny Urząd Geodezji i Kartografii, w najbliższym czasie pojawi się wiele nowych opracowań finansowanych przez GUGiK i samorządy, co pokazuje poniższa mapa.
Rys. 10. Modele siatkowe 3D w realizacji i planowane (źródło: Geoportal.gov.pl)
Aby te dane nie leżały tylko w GUGiK, a były efektywnie wykorzystywane, powinny być udostępniane w technologii 3D Tiles, najlepiej w wersji 1.1. Przykład takiej usługi – do dowolnego wykorzystania – opublikowałem pod adresem https://mojgeoportal.online/mesh/Malbork/tileset.json (można ją obejrzeć w przygotowanej przeze mnie przeglądarce 3D Tiles MojGeoportal.online/edu/mesh/). Moim zdaniem to jednak GUGiK powinien opracowywać takie usługi, a najlepiej zlecać wykonanie kafelków 3D Tiles bezpośrednio w ramach zamówień na modele mesh.
Drugi wniosek dotyczy jakości modeli. Generalnie są one poprawne, ale, niestety, zdarzają się też bardzo złe. Najgorzej, jeśli dotyczy to prestiżowych miejsc, co pokazuje poniższy przykład z Gdyni. Trzeba więc zwracać większą uwagę na jakość modeli, które są przekazywane jako efekt zamówienia.
Rys. 11. Przykład złego modelu mesh z GUGiK-u w porównaniu z modelem Google Maps
Dr hab. inż. Waldemar Izdebski
Literatura:
• rozporządzenie ministra rozwoju i technologii z 16 grudnia 2022 r. ws. baz danych dotyczących zobrazowań lotniczych i satelitarnych oraz ortofotomapy i numerycznego modelu terenu (DzU 2023 poz. 89)
• OGC 3D Tiles Specification – https://www.ogc.org/standard/3dtiles/
• Wikipedia – Polygon mesh – https://en.wikipedia.org/wiki/Polygon_mesh
• Geoportal.gov.pl – dokumentacja usług i dane do pobrania