Cmentarzyska na tapecie

Ostatnio mniej piszę, a wpisy bywają zwykle mniej kreatywne. Mniej jest samouczków dotyczących oprogramowania, nie wspominając o ich testach. Niewiele też wpisów o średniowiecznej architekturze. Na publikacje czekają materiały zebrane w Alzacji, Normandii, Litwie, Łotwie, Estonii i północnej Rosji. Niestety notorycznie brak mi czasu. Dopiero niedawno zakończyliśmy prace nad publikacją badań nieinwazyjnych grodzisk wczesnośredniowiecznych w Polsce Centralnej, wciąż opracowujemy publikacje z realizacji grantu rozprzańskiego, trwają badania związane z grantem na Ostrowite, a w międzyczasie klepię w komputer nową książkę. Książka będzie o wczesnośredniowiecznym obrządku pogrzebowym, głównie tym szkieletowym, choć nie tylko. Przy okazji jej tworzenia przydaje się wspaniałe narzędzie, jakim jest GIS.

Powstają więc kolejne przestrzenne bazy danych dotyczące różnych zjawisk funeralnych, np. baza obejmująca różne nietypowe konstrukcje grobowe. W tym przypadku zwizualizowane są groby z kamiennymi obstawami i brukami.

A tutaj groby z mieczami (czerwone kropki) i te z toporami (żółte trójkąty).

Są też bazy odnoszące się do poszczególnych cmentarzysk znanych z literatury przedmiotu. Pozwalają na dokonywanie różnych analiz przestrzennych cmentarzysk.

To sporo pracy na najbliższe miesiące.

Reklamy

Ortofotomapa w Agisoft Photoscan

Krótki poradnik o tym, jak utworzyć ortofotomapę w Agisoft Photoscan. Chodzi o sytuację, w której nie mieliście ustawionych fotopunktów, mierzonych GPS RTK lub tachimetrem, które moglibyście wykorzystać do zgeoreferowania modelu wyprodukowanego w Photoscan. Dysponujecie po prostu serią zdjęć (np. zrobionych z drona). Do wykonania zadania potrzebne będą:

  • seria zdjęć lotniczych interesującego was obszaru;
  • Program Agisoft Photoscan w wersji Pro;
  • Qgis
  • Numeryczny Model Terenu z pomiarów lidarowych, zakupiony za niewielkie pieniądze w serwisie CODGiK. Najprościej zakupić plik .asc. Najlepiej plik LAS, z którego można sobie samemu wyprodukować .asc.

Zakładam, że macie już jakieś obycie w Qgis i podstawową znajomość Photoscan. Niewielkie, ale jednak.

1. Zdjęcia lotnicze wrzucamy do programu i w czterech prostych ruchach (trwających niekiedy kilka godzin) uzyskujemy model 3D fotografowanego obszaru. Wszystkie cztery ruchy znajdziecie w menu „Workflow” – po kolei: „Align Photos” – „Build Dense Cloud” – „Build Mesh” – „Build Texture”. Im więcej zdjęć wrzucicie, tym lepszy uzyskacie wynik końcowy i tym dłużej będzie on przeliczany…

rozp72. W programie Qgis tworzymy nowy projekt. Wrzucamy do niego nasz NMT oraz podpinamy warstwę WMS z ortofotomapą z geoportal.gov.pl (stara instrukcja podłączenia warstw WMS jest tutaj – od tego czasu zmieniły się jednak adresy oraz szczegóły Qgisa. Aktualne adresy tu). We właściwościach projektu ustawcie układ 1992 lub 2000 (pamiętając o wyborze właściwej strefy).

model4rW moim przypadku użyłem stworzonego wcześniej projektu.

3. Od teraz będziecie pracowali na dwóch programach równocześnie. W Photoscan za pomocą funkcji „Create Marker” (prawy klik myszy – rozwijane menu kontekstowe) tworzycie markery zaznaczając charakterystyczne punty terenowe: skrzyżowania dróg, miedze na polach, narożniki budynków, etc.

model1rW tym przypadku punkt utworzono na skrzyżowaniu rowów melioracyjnych.

4. Dokładnie ten sam punkt musicie odnaleźć w Qgis z włączoną ortofotomapą geoportalu. Teraz wykorzystacie dwie funkcje programu. Pierwsza to wtyczka przechwytywania koordynatów. Pozwala ona przez wskazanie konkretnego punktu na mapie uzyskać jego koordynaty xy. W panelu wtyczki można ustawić układ odniesienia. Ustawcie tam koniecznie układ 1992 lub 2000.

model9rTeraz wystarczy tylko kliknąć na mapie Qgisa z włączoną ortofotomapą wskazując ten sam punkt, który zaznaczyliście w Photoscanie. Z panelu wtyczki skopiujcie po kolei najpierw wartość X, później Y, wklejając je do odpowiedniego panelu Photoscan:

model8rWłaśnie tutaj. W tym przypadku są to wartości w układzie 2000 strefa 7.

5. W ten sposób powinniście mieć już wartości XY, czyli lokalizację w dwóch wymiarach. Potrzebny nam jeszcze trzeci, czyli wysokość (Z). W tym celu korzystamy z narzędzia identyfikacji (strzałka). Aby je wykorzystać na drzewku warstw Qgis zaznaczcie warstwę z waszym NMT. Później wystarczy wskazać punkt na mapie z włączoną ortofotomapą z geoportal.gov.pl. Wskazujecie na ortofotomapie, ale zaznaczony jest NMT.

model2rW bocznym panelu wyświetli wam się, odczytana przez program z NMT, wartość wysokości. Skopiujcie ją i wklejcie do Photoscana.

6. Dla przeciętnego modelu powinno wam wystarczyć 5-6 punktów. Im więcej zrobicie, tym dokładniejszy powinien być gotowy produkt. Nie ma jednak sensu robić ich zbyt wiele. Mając gotowe punkty musicie zbudować ortofotomapę. W panelu „Workflow” kliknijcie „Build Orthomosaic”.

model6rUstawcie układ odniesienia dla powstającego pliku (może być ten sam, który macie dla projektu Qgis).

model5rW panelu na zrzucie jest Local Coordinates, zmieńcie to na wybrany układ odniesienia.

7. Ostatni krok to wyeksportowanie ortofotomapy. Wybierzcie „File” i „Export Orthomosaic” oraz format, do którego chcecie wyeksportować plik (najprościej i najbardziej uniwersalnie – tiff). Gotowy plik wystarczy wrzucić do Qgis.

model7rI gotowe.

Ortofotografie z Photoscan i Qgis – porównanie

W trakcie prac w Ostrowitem wykonujemy masę dokumentacji elektronicznej. Można podzielić ją na dwie grupy: dokumentację 2D i 3D. Część ortofotografii 2D przygotowywana jest w Gimpie (później georeferowana w Qgis), część zaś bezpośrednio za pomocą modułu georeferencyjnego Qgis, z wykorzystaniem pomiarów tachimetrem lub GPS RTK. W przypadku fotogrametrii trójwymiarowej posługujemy się głównie programem PhotoScan firmy Agisoft. Zazwyczaj jednak sporządzenie modelu ostatecznie kończy się wyeksportowaniem go do ortofotografii, co bardzo wygodnie robi się w Photoscanie dzięki funkcji punktów georeferencyjnych oraz obsłudze naszych rodzimych układów odniesienia (92 i 2000). Przy okazji wykonywania dokumentacji zaistniała możliwość porównania wyników obu procedur, a więc ortofotografii uzyskanych w module georeferencyjnym Qgis oraz wyeksportowanych z PhotoScan. Wyniki będę prezentował jako zrzuty z okna mapy Qgis.

zrzut16Na początek georeferowane w Qgis zdjęcie dwóch grobów szkieletowych z wczesnego średniowiecza.

zrzut17I te same groby na ortofotografii z Photoscan.

Różnice nie są przy tej skali specjalnie duże. Kiedy jednak powiększymy obrazek…

zrzut18Qgis.

zrzut19PhotoScan.

Widać już pewne różnice dotyczące rozdzielczości, a także drobne różnice w oddaniu geometrii obiektu. W przypadku georeferowania w Qgis mamy do czynienia ze zniwelowaniem zniekształcenia fotografii wynikającego z perspektywy. Przy fotografowaniu obiektów o pewnej formie przestrzennej, a więc nie idealnie płaskich powierzchni, pojawiają się pewne błędy. W PhotoScan zgeoreferowany model jest rzeczywiście rzucany do ortofotografii w danym układzie odniesienia.

Różnica rozdzielczości jest bardziej widoczna przy dokładniejszej skali:

zrzut20Qgis.

zrzut21PhotoScan.

PhotoScan robi model i jego teksturę z całego pakietu fotografii. W Qgis posłużyłem się pojedynczym zdjęciem. Efektem jest znaczna różnica rozdzielczości, doskonale czytelna pomimo użycia tego samego aparatu w obu przypadkach.

Ortofotomapy z PhotoScan są więc znacznie lepszej jakości. Jest jednak jeszcze jeden aspekt tej sprawy: czasochłonność. Dla wykonania ortofotografii w Qgis wystarczy pojedyncze zdjęcie. Program przelicza ją w czasie krótszym niż minuta. PhotoScan wymaga zestawu zdjęć. Model, który posłużył do wykonania ortofotografii w tym wpisie powstał na podstawie około 60 fotografii. Na moim laptopie stworzenie modelu wymagało ponad 3 godzin pracy programu…

Android, Locus i badania powierzchniowe

Sprawa pojawiła się już przy okazji wpisów o badaniach powierzchniowych wykonywanych w trakcie realizowania programu nieinwazyjnego na grodziskach Polski Centralnej. Przypadkowo zapomniałem naładować ręczne urządzenie GPS i z braku innych możliwości wypróbowałem w tej roli tablet Galaxy Note 10.1. Okazało się, że pomiar jest całkiem precyzyjny jak na ręczne urządzenie (w przeciwieństwie do pomiarów z telefonu). Doskonałym narzędziem okazał się program Locus. Pomyślałem sobie więc, że warto napisać kilka słów o naszych doświadczeniach z użyciem Androida do badań powierzchniowych.

Locus ma dwie wersje – darmową i płatną. Do naszych celów darmowa jest zasadniczo wystarczająca, choć ma tę denerwującą właściwość, że wyświetla reklamy, więc można zainwestować parę groszy w wersję płatną. Programik oferuje cały szereg różnych funkcji (m.in. może służyć jako nawigacja), dla celów badań powierzchniowych najważniejsze są następujące:

Screenshot_2013-10-02-22-04-121. Wyświetlanie warstw WMS. Na zrzucie powyżej widać ortofotomapę z geoportal.gov.pl służącą jako podkład dla waypointów i geotagowanych fotografii.

Dodawanie warstw WMS jest stosunkowo proste. Sprowadza się do wybrania odpowiedniej opcji ze specjalnej strony internetowej, uruchamianej z poziomu programu. W zestawie mamy najpopularniejsze polskie serwisy:

Screenshot_2013-09-28-00-17-482. Wyświetlanie geotagowanych fotografii (o czym wspomniałem już wcześniej)

Screenshot_2013-10-02-22-04-273. Szybki eksport do Google Earth:

Screenshot_2013-09-28-00-11-074. Ale najważniejsze jest oczywiście rejestrowanie waypointów i ich eksport do GPX (i kilku innych formatów, w tym CSV)- w naszych badaniach przyjęliśmy, że będziemy rejestrować położenie każdego fragmentu ceramiki indywidualnie. Procedura polegała każdorazowo na zarejestrowaniu miejsca znaleziska przez dodanie punktu i opisanie go. Zaraz później fragment był pakowany indywidualnie do torebki i opisywany na metryczce. Założyliśmy, że jeśli w bezpośredniej odległości (do ok. 1,5 m) znajdziemy kolejne fragmenty, to będziemy je pakować razem. W ten sposób pojedynczemu punktowi zapisanemu w urządzeniu mógł odpowiadać więcej niż jeden fragment ceramiki.

Screenshot_2013-09-28-00-12-48Po zakończonej prospekcji terenowej następował etap „gabinetowy”. Na początek należało umyć skorupy i określić ich chronologię, a wyniki takiej analizy zestawić w arkuszu kalkulacyjnym:

zrzut30Pliki GPX wyeksportowane z Locusa trafiały do komputera, w którym były importowane do Qgisa:

zrzut31Teraz należało je wyeksportować do shapefile i zbudować tabelę zawierającą informacje o ilości fragmentów przyporządkowanych do kolejnych horyzontów chronologicznych. Nadanie odpowiedniego stylu przez wybranie indywidualnego koloru i rozmiaru dla unikalnych wartości punktów:

wsr_punktyDysponując takimi danymi łatwo jest już później dobierać rozmaite sposoby prezentowania danych. Można np. zbudować wokół punktów bufory o promieniu uzależnionym od ilości znalezionych fragmentów ceramiki:

wsr_buforyMożna zbudować też poligony analogiczne do tych, które posłużyły nam do badań w Starych Skoszewach. Tam wyznaczyliśmy je w terenie, a sama metoda zbierania materiału w ramach kwadratów analitycznych była niezbędna wobec olbrzymiej ilości zalegających na powierzchni fragmentów naczyń ceramicznych, których nie dalibyśmy rady namierzać indywidualnie. W tym przypadku kwadraty posłużą wyłącznie jako sposób prezentacji danych. Same poligony najprościej zbudować w programie gvSIG, który ma nieco lepsze możliwości edycyjne niż Qgis:

zrzut28Później wystarczy już tylko odpowiednio zbudować tabele z danymi, by móc przedstawić kartogramy z wynikami badań:

wsr_poligonyTaką siatkę kwadratów badawczych można zbudować sobie przed rozpoczęciem badań i w ich ramach prowadzić akwizycję. Wystarczy ją wyeksportować do formatu kmz i wrzucić na nasz tablet. Locus obsługuje ten format i będzie wyświetlał nam wirtualną siatkę podczas prospekcji. Ma to sens oczywiście jedynie wtedy, gdy siatka ma oczka na tyle duże, że nie będzie nam nadmiernie przeszkadzał margines błędu pomiarów GPS.

Wygląda na to, że tablet może być całkiem przydatnym narzędziem dla badań powierzchniowych. Oczywiście dokładnie ten sam efekt można osiągnąć korzystając z ręcznych urządzeń GPS, ale doświadczenie uczy, że tablet jest znacznie łatwiejszy w użyciu, zapewniając przede wszystkim wygodniejszy opis poszczególnych punktów pomiarowych, dobór ikon dla punktów i wyświetlanie geotagowanych zdjęć. Gdyby jeszcze Qgis na Androida działał bardziej stabilnie moglibyśmy wyniki podglądać od razu, w terenie, w środowisku GIS…

Qgis 2.0

Jak można już było przekonać się z wpisu o Szydłowie, pojawił się nowy Qgis. Wersja 2.0 przyniosła nie tylko kilka nowych funkcji, sporo nowości w module kreowania wydruków map, ale przede wszystkim mocno przebudowany interfejs użytkownika. Większość istotnych zmian wymieniono na tej stronie. Ja przygotowałem wybór wysoce subiektywnych i skrajnie niereprezentatywnych impresji…

Do nowych ikon Qgisa należy się przyzwyczaić, podobnie jak do nowych okien dialogowych (np. właściwości warstwy). To co mi się nie podoba, to brak miniatur warstwy w oknie drzewa warstw. Być może da się to jakoś ustawić, ale poprzednia wersja, którą używałem na desktopie (czyli 1.8) takie miniaturki wyświetlała domyślnie. Znacznie usprawniają one nawigację przy większych projektach.

zrzut17Przy imporcie projektów wykonanych w wersjach z linii 1.x mogą pojawić się ramki wokół georeferowanych warstw rastrowych. Podczas importu zdarza się bowiem, że program usuwa ustawione wcześniej przezroczystości.

zrzut18Zupełnie nowy manager wtyczek. Wszystkie zgrupowano w jednym repozytorium. Jedno okienko służy do ściągania i zarządzania wtyczkami.

zrzut19Jest to też pierwsza wersja w której działa u mnie wtyczka Glob, mająca zapewniać widok 3D. Powinna działać bodajże od wersji 1.6 lub 1.7, ale we wszystkich poprzednich albo zwyczajnie nie działała, albo jeszcze do kompletu wysypywał się cały program. Być może nie umiem jej właściwie obsłużyć, albo też jej funkcjonalność jest dość mierna. W każdym razie NMT, który widzicie powyżej był całkiem płaski. Za to można nim było sobie pokręcić…

Jak się na prawdę pracuje w nowym Qgisie będę mógł powiedzieć za kilka tygodni, kiedy już porządnie go „przemielę” na wszystkie strony. Na razie sprawuje się całkiem nieźle. Ponieważ używam Qgisa na linuksie, to kompletnie nieznane mi są doświadczenia tych, którzy walczą z nim na Windowsie. Sporo osób narzekało na jego powolność i niestabilność (zwłaszcza wersji 1.8). Linuksiarze nie doświadczają tych uciążliwości gdzieś od wersji 0.7 – 0.8. Subiektywnie odnoszę wrażenie, że wersja 2.0 działa na linuksie jeszcze szybciej niż 1.8. Może także dla użytkowników Windowsa nastąpi jakaś poprawa. Dajcie znać.

Oprócz wersji na desktopy pojawiła się także w nowej odsłonie wersja na Androida.

Screenshot_2013-09-24-08-06-41Nowy Qgis w wersji na Androida. Układ pasków narzędzi jest domyślny – w sumie wygodny – dobrze, że narzędzia edycyjne przesunięto na bok, obok ikon wprowadzania nowych warstw. Tablety z Androidem zazwyczaj mają wybitnie prostokątne proporcje i nie cierpią na nadmiar miejsca w płaszczyźnie poziomej. Jak widać na zrzucie wyświetla georeferowane zdjęcia, duży Numeryczny Model Terenu (opracowany na bazie arkusza pomiaru LiDAR), plik shp z warstwicami wygenerowanymi na podstawie tego NMT oraz warstwę WMS z geoportal.gov.pl (czyli w tym przypadku działki katastralne z numerami). Poprzednia wersja Qgis 1.9 wysypywała mi się na dużych wektorowych plikach z warstwicami. Zazwyczaj w momencie wgrywania pliku. Tym razem program dawał radę.

Screenshot_2013-09-24-00-48-46Projekty wykonane w starszej wersji Qgis potrafią się otworzyć z zupełnie nowymi kolorami warstw wektorowych. Niestety moduł odpowiedzialny za symbologię jest w wersji na Androida wyłączony. Dlatego projekty warto wcześniej przygotować na desktopie, już w nowej wersji programu. Działa za to ustawianie przezroczystości rastrów.

Screenshot_2013-09-24-11-20-57W moim Galaxy Note 10.1 dobrze działała współpraca z wbudowanym w urządzenie GPSem. Wystarczy włączyć w urządzeniu obsługę GPS i kliknąć pole „Connect” na panelu obsługi GPS w programie. Nasza pozycja jest symbolizowana przez dość słabo czytelny punkcik, widoczny na zrzucie na NE od grodziska.

Nie udało mi się natomiast uruchomić trackpointów. Gdyby program działał stabilnie tablet z Qgisem byłby świetnym narzędziem do badań powierzchniowych.

Screenshot_2013-09-24-11-22-47Inna zakładka z modułu obsługi GPS, pokazująca dostępne satelity.

Wydaje się, że popracowano nieco nad stabilnością działania programu w środowisku Androida. Wysypuje się nieco rzadziej. W przeciwieństwie do poprzedniej wersji (1.9) tym razem udało mi się zaimportować plik txt z pomiarami tachimetrycznymi do programu i go skutecznie wyświetlić w formie punktów. Działa podstawowa obsługa warstw wektorowych i rastrowych oraz WMS. Mimo to nadal program potrafi się wysypać w najmniej spodziewanym momencie. Stąd też jego przydatność do pracy jest ograniczona. Pomimo to miło jest widzieć, że coś się z projektem dzieje.

Automatyzacja procesu tworzenia ortofotografii w Qgis

Dłuższy już czas temu pisałem (tutaj i tutaj) o tym jak przygotować ortofotograficzną dokumentację archeologiczną z wykorzystaniem darmowego, open-source programu Gimp. Swój tutorial opracowałem w znacznej mierze na podstawie wskazówek Sebastiana Tyszczuka. Metoda ma tę zaletę, że do jej stosowania nie jest potrzebny właściwie żaden sprzęt, poza miarką, cyfrowym aparatem fotograficznym i komputerem. Nie da się jednak ukryć, że dopasowanie siatki wirtualnej z terenową zajmuje nieco czasu.
Proces można w znacznym stopniu zautomatyzować o ile dysponuje się tachimetrem. Do jego przeprowadzenia konieczny jest Qgis z modułem georeferencyjnym. Nie jesteśmy już wówczas uzależnieni od precyzyjnego rozmierzania siatki w terenie.
Krok 1. W terenie rozkładamy punkty georeferencyjne (np. krzyzyki glazurnicze). Nie musimy trzymać się regularnej siatki – punkty rozkładamy tak, jak nam pasuje i jak pozwala na to sytuacja terenowa (np. unikając kamieni, przegłębień etc). Wykonujemy zdjęcie (możliwie prostopadle do fotografowanej powierzchni) i pomiar tachimetrem stawiając tyczkę na punktach. Dane możemy wyeksportować do pliku txt, ewentualnie zapisać na karteczce :).
Krok 2. Otwieramy zdjęcie w module georeferencji Qgis i zaznaczamy punkty kontrolne wpisując (lub wklejając z pliku txt) wartości X i Y. Należy pamiętać, że wartości te w systemach GIS są zapisywane odwrotnie niż przez tachimetry.

zrzut5Krok 3. W ustawieniach transformacji wybieramy metodę „Odwzorowane (rzutowe)” i układ współrzędnych (grunt by był taki, jaki wybraliśmy dla całego projektu).

zrzut4Krok 4. Po zatwierdzeniu operacji system powinien dokonać transformacji zdjęcia.

zrzut6Krok 5. By uzyskać obrazek prostokątny w miejsce trapezowatego należy wykorzystać wtyczkę „Kadrowanie” zawartą w menu „Raster”. W oknie dialogowym wtyczki wybieramy raster z naszym zdjęciem, określamy położenie i nazwę pliku wynikowego.
Zasięg nowego rastra wyznaczamy w oknie mapy Qgis i zatwierdzamy operację. W efekcie otrzymujemy regularny, prostokątny, zgeoreferowany raster.

zrzut8

zrzut9Krok 6. Teraz wystarczy wykorzystać opcję wydruku, by skomponować ortofotografię wyposażoną w wybraną przez nas siatkę, skalę i inne elementy.

zrzut10Metoda zadziała oczywiście wyłącznie z planami.
Gdybyśmy potrzebowali planu złożonego z kilku zdjęć to dla każdego z nich powinniśmy przeprowadzić podobną procedurę. Ich połączenia można dokonać później w Gimp (co pomoże ewentualnie wyrównać kolorystykę i światło) lub w Qgis używając wtyczki „Połącz rastry”.zrzut11

Dysponując tachimetrem i Qgisem możemy oczywiście nałożyć na ortofotomapę dalsze warstwy z informacjami: punkty niwelacyjne lub plan warstwicowy wygenerowany dla obiektu.