Wykorzystując możliwości oprogramowania FME, przeniesiono rzeczywiste dane przestrzenne do popularnej gry Minecraft udowadniając po raz kolejny, że wykorzystując środowisko FME można zrobić niemal wszystko. Spektrum zastosowań danych przestrzennych w grach jest bardzo szerokie. Współcześnie gry przestają już służyć tylko zabawie, a stają się coraz ważniejszym elementem systemu edukacji.
Pierwsza próbą przeniesienia rzeczywistości do świata gry Minecrafta wykonana została przez Ordnance Survey (OS) w 2013 roku pod nazwą GB Minecraft 2. W modelu tym przedstawiono obszar Wielkiej Brytanii. Była to próba udana, jednakże niska skala modelu i mała dokładność danych źródłowych wykluczały ją z szerszego użycia. Kolejną próbę w 2014 roku podjęło Duńskie Ministerstwo Środowiska i zamodelowało cały obszar Danii w skali 1:1. Projekt ten miał już wartość typowo użytkową i powstał po to, aby studenci mogli wykorzystać grę do nauki o środowisku i urbanistyce. Duński model wyznaczył standardy jakie powinny być zachowane przy przygotowywaniu podobnych modeli dla innych miast i krajów. Na ich podstawie powstał model Warszawa 2019, bazujący na danych wektorowych z BDOT10k, a także DTED Level 2.
Do wykonania modelu konieczne było zbadanie tego, jak zbudowane jest środowisko gry Minecraft. Składa się ono z chmury punktów – bloków mających współrzędne X, Y, Z. W grze są setki rodzajów bloków reprezentujących takie obiekty jak: kamień, rudy metali, wodę, drzewa i liście, kwiaty, dywany, lawę, szkło itp. Wewnętrznie bloki te są identyfikowane przez dwa komponenty: blockID i blockData.
Założenie, że blok to punkt oznaczało to, że musimy zamienić nasze dwa główne typy danych na chmurę punktów, nadając jej dodatkowe atrybuty. Następnie będzie możliwość zaimportowania takiej chmury do środowiska gry. Rozbijając działania na dwa przypadki otrzymano następujący ciąg działań:
Dane rastrowe
- komponenty X i Y zostają utworzone z kolumn i wierszy rastra,
- pierwsze wybrane pasmo numeryczne staje się składnikiem Z.
Następnie nadano punktom w chmurze parametry blockID i blockData. Aby wygenerować model terenu porośnięty trawą należało ustawić parametr blockID na 2, zaś blockData. Ze względu na fakt, że świat Minecrafta jest ograniczony wysokościowo od 0 do 255, konieczne było dokonanie selekcji tych punktów, których współrzędna Z jest większa od 0. Nie wykonanie tej selekcji prowadziłoby do błędów w wynikowym modelu. Przedostatni etap polega na skalowaniu chmury punktów, aby zmniejszyć czas wytwarzania modelu. Finalnym krokiem jest zapis wynikowego modelu w formacie Anvil i ocena otrzymanych dokładności. Fragment wytworzonego modelu został przedstawiony poniżej, na przykładzie łańcucha Karpat.
Dane wektorowe
Podobnie cały proces przebiegał w przypadku danych wektorowych. Do opracowania wybrano warstwę dróg z Bazy Danych Obiektów Topograficznych. Pierwszym zadaniem było zagęszczenie liczby punktów na liniach wektorowych i zaokrąglenie współrzędnych wszystkich punktów do jedności. Następnie wykonano konwersję geometrii z liniowej na punktową. Tak wytworzoną chmurę punktów podzielono na kategorię na podstawie atrybutu klasaDrogi z BDOT10k. Zależnie od klasy drogi nadano im różne parametry blockID i blockData. W dalszym etapie należało przekonwertować chmurę punktów na format mapowy Anvil, a wynikowy model poddać ocenie dokładności.
W ostatnim kroku należało połączyć oba typy danych w jeden spójny model Warszawy, działający w środowisku Minecraft.
Ale.. po co?
Skrypty napisane do automatyzacji całego procesu są niezwykle uniwersalne oraz podatne na dalsze modyfikacje. Pozwalają na generowanie formatu mapowego Anvil dla dowolnego obszaru w oparciu o standardowe formaty danych przestrzennych (pliki GeoTiff i shp). Tak wytworzony model może posłużyć różnorodnym celom. Można wykorzystać go do prowadzenia zajęć edukacyjnych, dla dzieci i młodzieży, podnoszące zarówno kompetencje miękkie, jak i twarde, dotyczące m.in. znajomości geografii i historii Warszawy. Takie podejście jest stosowane min. przez polską firmę Mindcloud, która od kilku lat prowadzi zajęcia cyfrowe dla dzieci i młodzieży w środowisku Minecraft. Z wykorzystaniem gry dzieci uczą się programowania, a także nabywają podstawowe kompetencje społeczne. Taka forma prezentacji kartograficznej może posłużyć również jako element cyfrowej turystyki Warszawy i promocji stolicy w Polsce i na świecie. Model można zastosować także do nauki na wydziałach urbanistyki i planowania przestrzennego – tak jak zrobił to duński rząd. Minecraft jest idealnym narzędziem do tego celu ze względu na swoją prostotę i olbrzymie możliwości wpływania na świat w grze.
Autorem tego tekstu jest: Piotr Michalak, Absolwent WGIK PW