Subskrybuj newsletter o cyfrowej humanistyce i innowacjach w sektorze kultury

Georeferencja skanu mapy historycznej w serwisie Map Warper

Okładka lekcji: kot w meloniku na tle mola / Źródło: AI

Wprowadzenie

W poprzedniej lekcji nauczyliśmy się publikować mapy historyczne z wykorzystaniem biblioteki Leaflet oraz witryny Map Warper. Pracowaliśmy na planie Gdańska z 1920 roku, przy czym był on już odpowiednio przygotowany i mogliśmy wykorzystać go jako warstwę (layer) obiektu mapy oraz dodawać na nim określone elementy. Pora na samodzielne przygotowanie takiej warstwy ze skanu wybranej mapy.

Cele lekcji

Celem lekcji jest wprowadzenie do jednej z metod georeferencji map historycznych, dzięki czemu będziemy mogli budować interaktywne prezentacje na mapach z epoki, korzystając ze wszystkich możliwości, jakie daje Leaflet.

Efekty

Efektem lekcji będzie gotowa do wykorzystania w Leaflet warstwa zawierająca plan Gdańska z 1936 roku, odpowiednio nałożony na siatkę współrzędnych geograficznych. Lekcja o georeferencji uzupełnia publikowane wcześniej materiały poświęcone pracy z Leaflet.

Wymagania

Aby skorzystać z tej lekcji konieczna jest wiedza o podstawach pracy z CodePen i Leaflet. Można zdobyć ją zaczynając od pierwszej lekcji z cyklu. Musimy założyć też bezpłatne konto w serwisie Map Warper.

Część merytoryczna

Instytucje naukowe, biblioteki cyfrowe, ale też pasjonaci i pasjonatki historii publikują online skany map historycznych. To wspaniały zasób gotowy do twórczego wykorzystania - także dlatego, że dostępny zazwyczaj jako domena publiczna. Pamiętajmy, że, jak pisze Adrian Niewęgłowski w czasopiśmie naukowym Archeion

Nie traktuje się w teorii ani praktyce prawa autorskiego digitalizacji jako przeróbki utworu.

Oznacza to, że ktokolwiek zdigitalizował mapy, będące już w domenie publicznej, nie może rościć sobie praw do kontroli nad ich rozpowszechnianiem. Dzięki temu możemy swobodnie używać ich we własnych projektach cyfrowych.

Fragment planu Sopotu i Gdańska z 1936 roku / Źródło: mapywig.org

W naszej lekcji skorzystamy ze skanu planu Gdańska z 1936 roku, udostępnianego na stronie mapywig.org - w witrynie Archiwum Map Wojskowego Instytutu Geograficznego 1919-1939, niestety bez żadnych dodatkowych metadanych.

Skan dostępny jest w postaci pliku JPG o rozmiarach 1708 na 2000 pikseli. Taka jakość powinna nam wystarczyć do celów warsztatowych.

Import mapy do serwisu Map Warper

Wchodzimy na stronę mapwarper.net i logujemy się. Wybieramy odnośnik Upload Map i wypełniamy podstawowe metadane naszej mapy. Na dole formularza znajduje się miejsce na upload mapy z dysku komputera lub ściągnięcie jej bezpośrednio z adresu. Podajemy adres

http://maps.mapywig.org/m/City_plans/Central_Europe/AMPG_Gdansk_waldkarte_oliva_zoppot.jpg

i klikamy na przycisk CREATE. Mapa została zaimportowana.

Mapa historyczna w serwisie Map Waper / Źródło: mapwarper.net

Warto zwrócić uwagę na zasady publikowania skanów i map w tym serwisie:

Przesyłając obrazy do witryny, użytkownik wyraża zgodę na ich przeglądanie i wykorzystywanie przez dowolną osobę, w tym na zmianę punktów kontrolnych. Dlatego zalecane jest posiadanie praw na ich udostępnianie. Przesyłanie i udostępnianie obrazów nie oznacza udzielenia licencji na prawa autorskie innym osobom. Nie gwarantujemy prywatności ani ochrony przesłanych obrazów i metadanych […]

Wątek zmiany punktów kontrolnych dotyczy georeferencji, którą wykonuje się w tym serwisie za pomocą oznaczania tych samych punktów na mapie historycznej i współczesnej mapie wzorcowej. Zrobimy to w dalszej części lekcji.

Wybór punktów kontrolnych

Niestety, tworząc mapę w Leaflet nie możemy bezpośrednio skorzystać ze skanu. Punkty na skanie (w osi X/Y) nie reprezentują punktów układu współrzędnych - odwołują się tylko do szerokości i wysokości obrazu, chociaż formalnie opisują przestrzeń geograficzną. Georeferencja pozwoli na przypisanie punktu o określonej pozycji (np. 1200px od lewej krawędzi / 750px od górnej krawędzi) na odpowiednią długość i szerokość geograficzną.

Naszym zadaniem będzie teraz znalezienie na skanie przynajmiej kilku punktów, które w łatwy sposób odnajdziemy też na mapie współczesnej. Definiując je, nałożymy na skan układ współrzędnych.

Jak znaleźć takie punkty? Spójrzmy na nasz plan - dobrym pomysłem może być wykorzystanie charakterystycznych budynków, układu dróg i kolei, obiektów naturalnych takich jak rzeki czy stawy. Wobec mapy, z którą pracujemy, zaproponować można następujące punkty:

Jak widać, zaproponowanie punktów referencyjnych wymaga znajomości terenu. W przypadku planów miejscowości może być ułatwione obecnością charakterystycznych obiektów czy układem ulic - jeśli tylko ich umiejscowienie i przebieg jest wciąż taki sam jak na mapie historycznej.

Oznaczanie punktów kontrolnych

Map Warper wymaga przygotowania przynajmniej trzech punktów kontrolnych. Jeśli już je zdefiniowaliśmy, musimy oznaczyć je na mapie historycznej i na mapie współczesnej (referencyjnej). Klikamy w zakładkę Rectify - wyświetlą się dwa okna z panelem dodawania znaczników i przewijania mapy:

Przygotowanie do oznaczania punktów kontrolnych / Źródło: mapwarper.net

Najpierw oznaczmy punkt kontrolny na mapie historycznej. Przesuwamy mapę na Sopot, w okolice wejścia na molo i kilkamy ikonkę znacznika (podświetli się na żółto). Kliknięciem umieszczamy znacznik w wybranym miejscu. To samo robimy na mapie współczesnej. Aby dodać punkt, klikamy na przycisk Add Control Point, znajdujący się tuż pod mapami.

Punkt kontrolny na mapie historycznej i współczesnej / Źródło: mapwarper.net

W ten sam sposób definiujemy drugi punkt kontrolny:

Punkt kontrolny na mapie historycznej i współczesnej / Źródło: mapwarper.net

Przenosimy się do Oliwy i tam odnajdujemy ostatni z wymaganych punktów:

Punkt kontrolny na mapie historycznej i współczesnej / Źródło: mapwarper.net

Na pewno nie jest do dokładne odwzorowanie, do tego zastosowaliśmy wyłącznie trzy punkty referencyjne. Wadą takiego opracowania mapy historycznej jest to, że nadaje się ona przede wszystkim do celu wizualizacji pewnych danych - nie może być pewnym narzędziem mierzenia odległości czy obszaru.

Po dodaniu wymaganych punktów kontrolnych klikamy w przycisk WARP IMAGE!. W zakładce Preview powinniśmy zobaczyć dwie warstwy mapy i sprawdzić, jak dokładnie udało się nam przypisać współrzędne do punktów skanu.

Mapa historyczna na mapie współczesnej / Źródło: mapwarper.net

W razie potrzeby możemy dopracować kalibrację skanu do współrzędnych, poprawić istniejące punkty kontrolne i dodać nowe.

Wykorzystanie warstwy historycznej

W poprzedniej lekcji dowiedzieliśmy się jak dodawać do mapy Leaflet warstwę historyczną. Kluczowe jest posiadanie adresu URL, który pozwoli na wyświetlanie kafelków (tiles) zawierających wybrane fragmenty mapy. Przejdźmy do zakładki Export i skopiujmy wygenerowany tam URL:

https://mapwarper.net/maps/tile/83067/{z}/{x}/{y}.png

Teraz wystarczy umieścić go w warstwie dodawanej do obiektu mapy w Leaflet. Skorzystajmy z podstawowej mapy dostępnej w CodePen. Klikamy przycisk Fork (na dole strony), aby skopiować kod.

Kod JavaScript definiujący warstwę wygląda tak:

var presentLayer = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
    maxZoom: 19,
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
});

presentLayer.addTo(map);

Przepiszmy go tak, aby skorzystać z przygotowanej przez nas warstwy historycznej:

var histLayer = L.tileLayer('https://mapwarper.net/maps/tile/83067/{z}/{x}/{y}.png', {
    maxZoom: 19,
    attribution: 'Waldkarte von Oliva u. Zoppot 1936, Map Warper'
});

histLayer.addTo(map);

W efekcie wyświetlimy mapę historyczną - możemy ją przewijać, zmieniać skalę, dodawać punkty:

See the Pen leaflet-base by humanistyka_dev (@humanistyka_dev) on CodePen.

Podsumowanie

Serwis Map Warper pozwala łatwo przygotować skan mapy historycznej do dynamicznego wyświetlania go w przestrzeni geograficznej z wykorzystaniem Leaflet. Da się to zrobić szybko i w prosty sposób, jednak dokładność takiego odwzorowania może być niska, dlatego taka warstwa historyczna użyta być może do wizualizacji danych a nie przeprowadzania obliczeń odległości czy obszaru.

Wykorzystanie metod

Dokumentacją profesjonalnej georeferencji mapy historycznej jest praca inżynierska Pauliny Kowal Georeferencja historycznej mapy hydrografii Krakowa. Georeferencja została przygotowana w oparciu o 14 punktów kontrolnych (punktów dostosowania), którymi były krakowskie kościoły. Autorka pracowała w darmowym programie desktopowym QGIS. Warto zapoznać się z tym opracowaniem, bo opisuje ono rozmaite metody georeferencji oraz ich efekty.

Pomysł na warsztat

Praca z mapami historycznymi w Map Warper może być osią warsztatu, którego efektem wcale nie musi być publikowanie map, ale sam proces eksploracji przestrzeni historycznej i jej odniesienie do przestrzeni współczesnej. Serwis pozwala na łatwe porównywanie obu warstw (zakładka Preview), więc efekty pracy zobaczyć i przedyskutować można bez konieczności programowania strony z Leaflet.