Twoje dane w trzech wymiarach – przykłady oraz metody

Program CityEngine firmy Esri usprawnia planowanie i projektowanie przestrzeni miejskiej i rozwiązań architektonicznych. Pozwala na pełne wykorzystanie możliwości prezentowania danych przestrzennych w trzech wymiarach. Dzięki temu łatwiejsze staje się podejmowanie decyzji, które zmieniają przestrzeń miejską na wiele lat.

W ostatnim czasie modne stało się prezentowanie danych trójwymiarowych. Można oglądać modele obecnych, planowanych lub już nieistniejących budowli, korzystać z nawigacji 3D czy poszukiwać rozwiązań, biorąc pod uwagę te czynniki, których nie widać na tradycyjnych mapach.

CityEngine to doskonałe narzędzie umożliwiające realizację tych funkcji.

Rys. 1. Prezentacja modelu miasta Rotterdam - wybrany fragment

Rys. 1. Prezentacja modelu miasta Rotterdam – wybrany fragment

Jak to działa?

CityEngine jest programem służącym do projektowania trójwymiarowego, wspieranego przez modelowanie proceduralne. Program najlepiej sprawdza się przy generowaniu ulic, osiedli, całych miast oraz przy planowaniu zmian w już istniejącej zabudowie.

Modelowanie proceduralne polega na wykorzystaniu algorytmów i reguł do tworzenia przestrzeni trójwymiarowej. Warstwom przypisywane są gotowe polecenia znajdujące się w bibliotece reguł, które zależnie od przypisanej funkcji zmieniają bryłę. Materiały, na podstawie których tworzy się dane, są pobierane z typowych danych dwuwymiarowych, np. obrysy budynków, osie jezdni, oraz z atrybutów, npwysokość budynku, kształt dachu, liczba pasów jezdni.

Program pobiera wszystkie wskazane przez użytkownika dane wejściowe, a następnie automatycznie generuje przestrzeń miejską, budynki, ulice i roślinność.

Późniejsze wprowadzanie ewentualnych zmian w zabudowie jest bardzo proste, dzięki temu, że za wygenerowanie obiektów odpowiadają algorytmy – całe miasto jest tworzone dynamicznie. Oznacza to, że gdy wprowadzimy jakąkolwiek zmianę w regułach lub np. przesuniemy oś jezdni, zmiana ta zostanie zaktualizowana w czasie rzeczywistym.

Taka możliwość dynamicznego oglądania wprowadzanych przez użytkownika zmian jest bardzo ważna w modelowaniu trójwymiarowym. Dzięki niej można szybko zaprezentować proponowane zmiany urbanistyczne i czekać na ewentualne uwagi zainteresowanych (dotyczące np. zbyt dużej wysokości zabudowy czy zacienienia).

Rys. 2. Model miasta Redlands - wybrany fragment

Rys. 2. Model miasta Redlands – wybrany fragment

Jak wygląda modelowanie proceduralne?

Przy tworzeniu reguł najważniejsze są dane wejściowe, przekształcane zgodnie z wizją twórcy. Zasada jest prosta – od ogółu, np. bryły budynku, do detali, takich jak zdobienia framug drzwi. Zwykły poligon może posłużyć jako obrys budynku, który zostanie wyniesiony na odpowiednią wysokość. Następnie można określić kształt dachu oraz podział na konkretne piętra i parter. Każde piętro może być coraz szczegółowiej dostosowywane do potrzeb.

Modelowanie proceduralne jest metodą oszczędzającą czas – raz zaprojektowane obiekty mogą być wykorzystywane wielokrotnie oraz dowolnie modyfikowane. Dzięki temu ma ono przewagę nad modelowaniem ręcznym, wymagającym więcej czasu przy dużo trudniejszym, a czasami wręcz niemożliwym późniejszym wprowadzaniu zmian.

Przykłady wykorzystania

W jaki sposób można zintegrować dane przestrzenne z programem CityEngine?

Większość danych wektorowych, takich jak poligony czy linie, posiada tabele atrybutów z wpisanymi do nich informacjami o wysokości obiektu, szerokość jezdni czy liczbie pięter. Wykorzystując te dane oraz modelowanie proceduralne, można bardzo szybko stworzyć obiekty trójwymiarowe. Wygenerowane obiekty nadal zachowują wprowadzone dane w tabeli atrybutów. Dzięki temu zmiana liczby pięter w tej tabeli zostanie automatycznie uwzględniona w projekcie CityEngine.

Jedną z bardzo istotnych funkcjonalności jest raportowanie danych. Przykładowo w trakcie wprowadzania zmiany w tabeli atrybutów, polegającej na dodaniu kolejnego pietra, program automatycznie oblicza nową powierzchnię całego budynku, ułatwiając dostosowanie rzeczywistego metrażu do wymagań urbanistycznych.

Analizy

CityEngine pozwala na zaprojektowanie zabudowy, której model można wyeksportować np. do ArcGIS Pro, gdzie da się przeprowadzić jego analizy pod kątem zacienienia czy widoczności. Zależnie od wyników można przejść do przygotowywania prezentacji końcowej lub powrócić do etapu projektowania. Jeśli wyniki analiz są satysfakcjonujące, można je dołączyć do projektu CityEngine. Wystarczy je wyeksportować, a następnie dodać do własnej kompozycji.

W wersji 10.2 ArcGIS for Desktop dodano narzędzia pozwalające na wykorzystanie reguł stworzonych w CityEngine w programie ArcScene. Dzięki takiemu rozwiązaniu nie ma konieczności importowania gotowych obiektów trójwymiarowych. Wystarczy jedynie wskazać pakiet reguł (.rpk) oraz warstwę wejściową (poligonową). Warstwa wynikowa zostanie utworzona zgodnie z założeniami z CityEngine.

Rys. 3. Przykład jednej z analiz, które można przeprowadzić przy uzyciu CityEngine - różna funkcjonalność budynków rzeczywistych

Rys. 3. Przykład jednej z analiz, które można przeprowadzić przy uzyciu CityEngine – różna funkcjonalność budynków rzeczywistych

ArcGIS w służbie „trójwymiarowym miastom”

Jak wygląda przygotowanie danych do pracy w CityEngine? Jest to proces bardzo podobny do zwykłego zasilania geobazy informacjami zapisanymi w tabelach, warstwach i bazach danych w środowisku dwuwymiarowym.

Dobrą metodę stanowi zorganizowanie danych wejściowych w jednej głównej geobazie. Pozwala to na ujednolicenie projektu w kwestii podstawowych zasad, takich jak np. wspólny układ współrzędnych. Oczywiście, powinno to również zapobiec przechowywaniu danych w różnych miejscach.

Przykładowa centralna geobaza może zostać wypełniona:

  • danymi o regulacjach i wymaganiach w danej jednostce (zapobiegnie to niespełnieniu oczekiwań klienta lub przekroczeniu wytycznych projektowych);
  • danymi przestrzennymi spływającymi z różnych oddziałów (organizowanie ich w jednej geobazie pozwoli na szybsze wychwycenie ewentualnych błędów, nieścisłości lub powielania informacji; jest to bardzo istotne, gdyż dane tego rodzaju stanowią podstawę całego projektu – zazwyczaj na ich podstawie – i w oparciu na ich atrybutach – budowany jest model);
  • danymi ze skaningu laserowego (zeskanowane obiekty w postaci chmury punktów mogą być pomocne przy porównywaniu elementów rzeczywistych z modelowanymi; odpowiednio przetworzone dane mogą posłużyć jako podstawowa bryła modelu);
  • zapisami budynków 3D, zgodnymi z CityGML, Collada, Multipatch (zależnie od wytycznych klienta mogą one zostać użyte jako gotowe obiekty, które należy tylko zaimportować i dodać lub jako wzorce obiektów, które będą modelowane w CityEngine);
  • mapami podkładowymi (zależnie od zapotrzebowania mogą one zostać użyte jako dane poglądowe, pomocne przy modelowaniu, lub jako dane podkładowe – płaskie lub nałożone na numeryczny model terenu);
  • informacjami o wnętrzach obiektów (CityEngine pozwala na wejście do środka wybranych budynków i przedstawienie układu pomieszczeń wraz z dołączeniem najistotniejszych informacji o nich).

Projekty tworzone w CityEngine są autonomicznymi obiektami. Pliki, dodawane do projektu, zostają skopiowane do przestrzeni projektowej. Zapewnia to porządek w danych (organizowane są one w foldery tematyczne – zbiory modeli, mapy, sceny, reguły) oraz pozostawienie plików oryginalnych w postaci nienaruszonej.

Przetworzenie oraz publikacja modelu 3D m. st. Warszawy

Poniżej przedstawiony został proces testowania importu dużej porcji danych do środowiska programu CityEngine. Eksperyment miał wykazać, jak oprogramowanie poradzi sobie z danymi surowymi, na co należy zwrócić uwagę oraz jak wytyczyć najlepsze metody przy kolejnych projektach.

Model 3D został pozyskany dzięki uprzejmości Biura Geodezji i Katastru Urzędu m. st. Warszawy. Udostępnione zostały dwa zestawy danych, z różnych lat.

Zestaw pierwszy zawierał dane dotyczące zabytkowej części miasta. Obejmują one obszar 30,3 km2 . Wykonano go w 2006 roku. Prace zostały zrealizowane na zlecenie Biura Stołecznego Konserwatora Zabytków we współpracy z Biurem Geodezji i Katastru oraz Biurem Architektury i Planowania Przestrzennego.

Zestaw drugi to model trójwymiarowy całego obszaru Warszawy (487 km2). Dane pochodzą z 2007 roku. Prace zostały zlecone przez Biuro Geodezji i Katastru we współpracy z Biurem Architektury i Planowania Przestrzennego.

Pierwsze próby zmierzenia się z tymi danymi zostały podjęte w 2011 roku. Niestety, ówczesne możliwości przetwarzania danych, a następnie prezentowania ich poprzez przeglądarkę nie były wystarczające. Szczegółowość oraz zasięg danych, powodowały, że projekt osiągał zdecydowanie zbyt duże rozmiary (zabytkowa część miasta to dokładność sytuacyjna sięgająca 0,3 m, błąd położenia to 20 cm).

Kolejne podejście do trójwymiarowej Warszawy przypadło na połowę 2014 roku. Możliwości oprogramowania oraz przepustowość łączy internetowych na tyle się poprawiły, że zdecydowano się na próbę przetworzenia dostarczonych danych.

Prace z danymi

Przetworzenie

Wszystkie otrzymane dane znajdowały się w plikach typu multipatch, shape punktowych oraz poligonowych. Odzwierciedlone zostały w układzie współrzędnych płaskich PUWG 2000, układ wysokości normalnych Kronsztad 86. W zestawie danych dostarczone zostały obrysy budynków, obszary wodne, zinwentaryzowane drzewa oraz elementy miejskie, takie jak: ogrodzenia, umocnienia drogowe i wodne, schody, budowle sportowe oraz mostowe.

Wszystkie te dane zostały zaimportowane do projektu w CityEngine, a następnie dodane do okna wyświetlania.

Jednym z ważnych problemów napotkanych po dodaniu warstw do projektu było niewłaściwe wyświetlanie ścian budowli. Jest to dość popularny problem w programach służących do modelowania trójwymiarowego. Program nie potrafi zidentyfikować, która strona jest zewnętrzna / wewnętrzna. Zazwyczaj przyjmuje kolejność tworzenia, w CE dochodzi parametr najbliższej drogi (program stara się sytuować front budynku przodem do ulicy). Zostało to rozwiązane poprzez proceduralne skopiowanie każdej ściany, obrócenie o 180° i złączenie z warstwą pierwotną.

Zdecydowano się nie dodawać do projektu ani sieci ulicznej, ani warstwy podkładowej. Najważniejszym celem było przetestowanie możliwości wyświetlenia dziesiątków tysięcy budynków jednocześnie.

Rys. 4. Warszawa - widok modelu

Rys. 4. Warszawa – widok modelu

Publikacja

Wyeksportowanych zostało kilka scen końcowych, z różnymi warstwami oraz liczbą danych. Najmniejszy projekt zajmował mniej więcej 23 MB, największy – 170 MB. Przetestowana została również możliwość prezentacji całego obszaru, ze wszystkimi dodatkami. Projekty z sukcesem zostały zaprezentowane poprzez przeglądarkę. Oczywiście, te najbogatsze w warstwy i detale najmocniej obciążały zasoby komputera.

Pytanie, zadane po prezentacji danych: czym się kierować podczas publikacji – jak największym zasięgiem prezentowanych danych czy może zrezygnować z nich, skupiając się na detalach dzielnicy, osiedla, a może nawet jednej ulicy , cały czas jest aktualne i zależy od zasobów oraz potrzeb prezentujących dane.

Wydaje się, że najzdrowszą metodą jest szukanie złotego środka, konsultowanie potrzeb z możliwościami, ograniczanie niepotrzebnych danych, aby móc zaprezentować te najbardziej istotne. W dużych prezentacjach uogólniać, w szczegółowych – precyzować.

Trójwymiarowe modele wybranych zabytków powiatu zamojskiego

Drugim przykładem zastosowania modelowania trójwymiarowego było utworzenie modeli obiektów zabytkowych, stworzonych dla do Systemu Informacji Przestrzennej Powiatu Zamojskiego.

Zaplanowane zostało utworzenie modeli siedmiu obiektów wpisanych do rejestru zabytków powiatu, a następnie zaprezentowanie ich w publicznym geoportalu.

Zbieranie danych

W celu jak najdokładniejszego odtworzenia istniejących obiektów przeprowadzono kwerendę, mającą na celu zebranie dostępnej dokumentacji oraz zdjęć. Na samym początku zeskanowano dostępne dokumenty z rejestru zabytków oraz inwentaryzacji architektoniczno-konserwatorskich. Kolejnym krokiem było wykonanie zdjęć terenowych – w tym celu odwiedzono każdy z zabytków. Ostatnim etapem przygotowania do modelowania było pozyskanie zbioru danych pomiarowych dotyczących numerycznego modelu terenu. Dane ze skaningu laserowego pozwoliły na zweryfikowanie zapisanych wymiarów obiektów oraz ukształtowania terenu. Rejestr zabytków często nie był na tyle aktualny, aby móc czerpać z niego informacje o współczesnym wyglądzie, dlatego zweryfikowanie ich z aktualnymi zdjęciami było bardzo dobrym pomysłem.

Modelowanie obiektów

Po zakończeniu procesu zbierania informacji rozpoczęło się modelowanie. Pierwszym krokiem było pozyskanie obrysu brył na podstawie planów budynków, a następnie osadzenie ich na mapach bazowych tak, aby wszystkie wymiary pokrywały się z rzeczywistymi. W tym celu zostały użyte mapy bazowe dostarczone przez Esri oraz projekty architektoniczne budowli.

Kolejny etap prac zakładał przeniesienie obrysów do profesjonalnego oprogramowania służącego do modelowania obiektów – wybrano źródłowy program Blender. Wiązało się to z wykonaniem konkretnych pojedynczych modeli, które na późniejszych etapach nie miały być już zmieniane. Na tym etapie dołączone zostały aktualne zdjęcia, które używano jako podkładów przy modelowaniu wybranych ścian. Było to bardzo istotne, gdyż wszystkie obiekty miały spełniać warunki poziomu szczegółowości 3 (LOD3), czyli wiernie odzwierciedlać elewacje, wyodrębnić elementy większych niż 0,5 m oraz dokładnie oddać kształt i typ dachu. Utworzono bryłę budynku, a następnie wyodrębnione detale. Proces ten wymagał dużej precyzji oraz umiejętności artystycznych, np. podczas odtwarzania rzeźb lub krzyży wieńczących kopuły.

Rys. 5. Model zabytkowego kościoła Św. Antoniego Padewskiego w Radecznicy

Rys. 5. Model zabytkowego kościoła Św. Antoniego Padewskiego w Radecznicy

Kompozycja

Gdy proces tworzenia modeli zostały zakończony, nadszedł czas zaimportowania obiektów do przygotowanych projektów w CityEngine. Projekty utworzone w tym programie dość restrykcyjnie przestrzegają zgodności danych w kwestii położenia oraz wielkości. Ważne więc było, aby w procesie modelowania nie popełnić błędów.

Po dodaniu zabytków do projektów, zależnie od zapotrzebowania, zostały dołączone dane służące za tło – teren wygenerowany w programie ArcMap oraz roślinność pobrana z bogatej bazy modeli programu CityEngine.

Następnie wybrano rzuty, które są widoczne w prezentacji przeglądarkowej oraz wskazano konkretny dzień tak, aby algorytm odpowiadający za kąt padania promieni słonecznych najlepiej wyeksponował modele. Całość została wyeksportowana do formatu WebScene i powiązana ze stroną SIP powiatu zamojskiego.

Możliwości prezentacji danych

Dzięki możliwościom programu CityEngine prezentowanie trójwymiarowych danych stało się o wiele łatwiejsze. Pozwala on na użycie już istniejących zasobów dwuwymiarowych w procesie modelowania 3D. Jednocześnie niezmiernie przyśpiesza ten proces dzięki możliwościom generowania obiektów z wykorzystaniem algorytmów. Gotowe projekty mogą być eksportowane bezpośrednio do zasobu ArcGIS Online i prezentowane z tego poziomu.

Po uruchomieniu prezentacji w przeglądarce możliwe jest zaprezentowanie dynamicznej wycieczki po najważniejszych miejscach. W dowolnym momencie oglądający może uruchomić opcję zacienienia i sprawdzić, jak wybrany obszar wygląda o konkretnej porze dnia.

Bardzo przydatna jest również funkcjonalność odpowiedzialna za porównywanie danych. W szybki sposób można zaprezentować np. istniejącą zabudowę oraz to, jak zmieni się krajobraz po wybudowaniu nowego budynku.

Inspiracje

Rozwój technologii trójwymiarowej pozwala na tworzenie modeli coraz bardziej odpowiadających rzeczywistości, które później wspomagają analizy i prezentacje. Do znanych przykładów, z którymi można się zapoznać za pośrednictwem portalu ArcGIS Online, należą projekt portu w Rotterdamie, czy domu rodzinnego, obecnie muzeum Jerzego Waszyngtona w Mount Vernon, obejmujący zarówno obszar otaczający budynki, jak i wnętrza muzeum.

Warto już teraz zapoznać się z rozwiązaniami firmy Esri i spróbować samemu stworzyć własne trójwymiarowe miasto. Darmowa wersja próbna programu CityEngine dostępna jest na stronie: http://www.esri.com/software/cityengine/free-trial.

3D opis