Archiwum

Archiwum kategorii ‘KML’

MapTiler – sposób na darmowe kafelkowanie

08/12/2009 2 uwag

Całkiem niedawno pisałam o publikowaniu map w Internecie w formie kafelków (ang. tiles) za pomocą programu TNTmips. Zdaję sobie jednak sprawę, iż niekażdy śmiertelnik ma okazję korzystać z komercyjnej wersji tego programu ;) Dlatego też dziś chciałabym pokazać jak podobny efekt można uzyskać za pomocą darmowych narzędzi.

MapTiler to nakładka graficzna na generator kafelków GDAL2Tiles. Na wejściu obsługiwane są wszystkie formaty, które obsługuje biblioteka GDAL. Program dostępny jest na platformę Windowsa, Linuksa i MacOS X. Instalacja w systemie Windows nie stwarza problemów i ogranicza się praktycznie tylko do klikania Next
Po uruchomieniu programu mamy 4 możliwości utworzenia tilesetów:

We wszystkich przypadkach proces generowania kafelków przebiega podobnie.
Na początku wskazujemy pliki rastrowe, które chcemy opublikować:

Określamy układ współrzędnych, w którym są zapisane nasze dane (najprościej podać kod EPSG):

Wybieramy format zapisu kafelków oraz określamy zakres powiększenia, przy którym dane będą widoczne (program automatycznie proponuje najbardziej optymalny zakres; możemy go oczywiście wedle własnej woli zmienić, należy jednak pamiętać o tym, że wraz ze wzrostem ilości poziomów rosnąć będzie zapotrzebowanie na przestrzeń dyskową ;)):

Wskazujemy folder docelowy, w którym utworzone pliki zostaną zapisane oraz podajemy adres strony, na której mapa zostanie opublikowana (ta opcja może mieć znaczenie dla poprawnego generowania plików KML):

Wybieramy dla jakiego środowiska ma zostać wygenerowana strona internetowa. Nasze dane możemy prezentować na podkładach map z zasobów m.in. Yahoo, Google, VirtualEarth:

Określamy szczegóły generowanej strony (tytuł, ostrzeżenie o prawach autorskich widoczne w prawym dolnym rogu mapy) oraz opcjonalnie podajemy klucze dla Google lub Yahoo Maps:

Na końcu kreatora następuje ostateczne generowanie kafelków:

Przykładowe efekty:

Dane (GeoTIFF) na tle warstwy terenowej Google Maps (środowisko Google Maps)

Dane (GeoTIFF) na tle mapy drogowej Virtual Earth (środowisko OpenLayers)

Dane (GeoTIFF) zapisane jako plik KML i otwarte w programie Google Earth


Dane (GeoTIFF) na tle warstwy VMap0 (środowisko OpenLayers, układ WGS84)

Dowolny plik rastrowy, który nie musi posiadać georeferencji (środowisko OpenLayers)

Utworzone katalogi z kafelkami oraz plik strony *.html wystarczy umieścić na serwerze, aby móc pokazać światu naszą mapę. Co istotne, na serwerze nie trzeba instalować żadnego dodatkowego oprogramowania.

Program MapTiler (póki co) dostępny jest jedynie w wersji beta. Mimo to, nie odnotowałam żadnych problemów w trakcie jego testowania. Polecam go wszystkim, którzy w prosty i szybki sposób chcą przygotować swoje dane do publikacji w Internecie w oparciu o zasoby m.in. Google Maps lub OpenLayers.

Kategorie:Google, KML, TMS

Osadzanie pliku KML w Google Maps

11/04/2009 Dodaj komentarz

Google Maps API (Application Programming Interface – interfejs programowania aplikacji) daje możliwość umieszczania map z serwisu Google Maps na prywatnych stronach internetowych. Każdy na swojej witrynie może bez większych problemów zamieścić dostosowaną do własnych potrzeb mapę. Dziś zaprezentuję co należy umieścić w kodzie strony internetowej, aby mapa z serwisu Google Maps wzbogaciła prywatną witrynę internetową. Sama mapa może jednak nie wystarczyć. Dlatego też pokażę ponadto w jaki sposób na tej mapie osadzić przykładowy plik KML (parę słów wstępu na temat KML), zawierający zdjęcia konkretnego użytkownika z serwisu Panoramio.

Uwaga:

// tak zaznaczone są komentarze mieszczące się w jednym wierszu
<!– a tak umieszczamy komentarze, które mogą zajmować kilka wierszy.
Tekst zawarty w komentarzu jest pomijany przez przeglądarkę i nie jest wyświetlany. Warto korzystać z komentarzy przy tworzeniu strony, ułatwiają bowiem poruszanie się po kodzie –>

Otwieramy plik strony zawierającej mapę.

W sekcji HEAD należy umieścić następujący kod:

<!– W miejscu … należy umieścić tzw. API key. Można go bezpłatnie wygenerować na tej stronie. W formularzu należy podać adres internetowy naszej strony na której chcemy zamieścić mapę. Jest to bardzo istotny element, bowiem bez tego klucza mapa nie zostanie wyświetlona w Internecie! Nie jest on niezbędny do wyświetlania stron znajdujących się na dysku komputera. –>
<script src=”http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=…”

// początek skryptu napisanego w JavaScript
type=”text/javascript”>

// zdefiniowanie zmiennej map
var map;

// zdefiniowanie zmiennej geoXml
var geoXml;

// początek funkcji inicjalizującej mapę
function initialize() {

// sprawdzamy czy przeglądarka jest kompatybilna, jeśli tak to:
if (GBrowserIsCompatible()) {

// przypisujemy zmiennej map nowo utworzoną mapę, którą umieszczamy w elemencie blokowym o id = mapa
map = new GMap2(document.getElementById(“mapa”));

// zmiennej geoXml przypisujemy nowy obiekt – link do pliku KML, gdzie xxx = id użytkownika
geoXml = new GGeoXml(“http://www.panoramio.com/panoramio.kml?user=xxx”);

// współrzędne w których nastąpi wyśrodkowanie mapy – szerokość, długość, stopień powiększenia mapy
map.setCenter(new GLatLng(52.380300,15.489493), 13);

// dodajemy podstawowe przyciski – zoom, przesuwanie
map.addControl(new GLargeMapControl());

// nałożenie na mapę warstwy z KML
map.addOverlay(geoXml);

}

}

// koniec skryptu
</script>

W sekcji BODY należy umieścić:

// uruchomienie funkcji inicjalizującej mapę wraz z wczytaniem strony
<body onload=”initialize()”>

// wyświetlenie mapki w elemencie blokowym o szerokości 680 pikseli, wysokości 600 pikseli, czarnym obramowaniu o szerokości 1 piksela
<div id=”mapa” style=”width: 680px; height: 600px; border: 1px solid black;”></div>

</body>

Efekt końcowy:


Wszystkich zainteresowanych szerszymi możliwościami języka KML odsyłam to tutoriali przygotowanych przez Google
Dokumentacja KML w wersji 2.1 po polsku
Dokumentacja KML w wersji 2.2 po angielsku

I jeszcze jeden odnośnik wart polecenia – Poznaj Google Maps API, czyli zbiór porad, samouczków i przykładów zastosowań Google Maps API – po polsku.

Kategorie:Google, KML

Interaktywny sampler KML

05/04/2009 Dodaj komentarz

Parę słów wstępu do zagadnień związanych z językiem KML.

KML (Keyhole Markup Language) służy do wyświetlania danych geograficznych w programie Google Earth oraz serwisie Google Maps (również w wersji mobilnej). Pierwszy człon nazwy pochodzi od twórcy słynnego wirtualnego globusa – amerykańskiej firmy Keyhole Inc. (przejętej przez Google w 2004 r.). Jak łatwo się domyślić po drugim członie nazwy – jest to język oparty na składni XML, będący ponadto standardem OGC (The Open Geospatial Consortium).

Pliki KML można tworzyć zarówno w Google Earth, jak i od podstaw w dowolnym edytorze tekstowym, pamiętając jednak o zachowaniu odpowiedniej składni.

Na podanej stronie Google udostępnia interaktywny sampler, dzięki któremu możemy zapoznać się z możliwościami języka KML oraz testować je. Link ten polecam wszystkim zainteresowanym dostosowywaniem map googlowskich do własnych potrzeb.

Wymaga on wtyczki Google Earth Browser Plug-in i w związku z tym na dzień dziesiejszy sampler działa niestety tylko pod systemem Windows oraz w przeglądarkach internetowych IE 6 + 7, Mozilla Firefox, a także Google Chrome.

Kategorie:Google, KML
Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.