środa, listopada 28, 2007

Cienie i blaski cieniowania

Jak przedstawić na mapie (obiekcie dwuwymiarowym) ukształtowanie terenu (a więc trzeci wymiar)? Zapewne większość z nas zaproponowałaby metodę hipsometryczną - niziny na zielono, wyżyny na żółto, a góry na czerwono... Co zrobić jednak, gdy chcemy na tej samej mapie umieścić również elementy krajobrazu? Jak wyglądałaby np. zielone lasy na zielonej nizinie? W mapach topograficznych mamy po prostu poziomice, ale również i ta metoda ma swoje wady: przede wszystkim na pierwszy rzut oka (bez wczytywania się w opisy warstwic) ciężko stwierdzić czy coś jest 'górką' lub 'dołkiem'.

Mapa topograficzna USGS bez i z cieniowaniem (NASA World Wind)Rozwiązaniem może być zastosowanie cieniowania - na mapę nanosi się cienie rzucane przez obiekty terenowe. Źródło światła znajduje się zazwyczaj w lewym górnym rogu (północny-zachód jeśli mówimy o kierunkach), co na naszych szerokościach geograficznych jest niezbyt zgodne z rzeczywistością (w końcu Słońce świeci od południa), ale zastosowanie takiego samego umiejscowienia na wszystkich mapach pozwala uniknąć dwuznaczności typu góra/krater. Końcowy efekt jest niezwykle estetyczny, a płaska mapa się uplastycznia, zyskując dodatkowy wymiar (no, może pół...:)

Cieniowanie w Google Maps i Virtual EarthCieniowania nie stosuje się wyłącznie na tradycyjnych mapach z papieru. Można go stosować do map elektronicznych. Od pewnego czasu robi to Microsoft w serwisie Virtual Earth, a od wczoraj także Google Maps, gdzie pojawiła się nowa zakładka Terrain (zniknął za to tryb Hybrid, jest on teraz dostępny jako opcja Show Labels pod Satellite). W VE cieniowanie jest subtelne, w GM cienie są ciemniejsze, a źródło światła jest umieszczone niżej, dzięki czemu można dostrzec nawet najmniejszy pagórek.
Cieniowanie w GM uwidacznia różnice w szczegółowości danych wysokościowych dla różnych obszarów - dla Szwajcarii rozdzielczość DTM wynosi 10m, dla przyległych krajów (i większości świata poza USA) jedynie 90m - wystarczy rzut oka na mapę:

View Larger Map

Cieniowanie w NASA World WindOczywiście metodę można też stosować tam, gdzie 3D mamy z definicji. W NASA World Wind bez problemu dodamy cienie do dowolnej mapy (zarówno topo jak i orto, choć efekt jest najbardziej widoczny dla tych pierwszych), możemy też zmienić kierunek i wysokość Słońca.
(na obrazku cieniowanie 'tradycyjne' NW + wys. 45° oraz SE + Słońce tuż nad horyzontem)

piątek, listopada 23, 2007

World Wind Java razy 100

World Wind Java SDK demoOd opublikowania pierwszej (oznaczonej numerem 0.2) publicznej wersji World Wind Java SDK minęło już ponad pół roku. Przez ten czas projekt poszedł do przodu - w ubiegłym miesiącu ukazała się wersja 0.3. Znalazło się w niej wiele nowych funkcji, usprawnień i poprawek do błędów zgłaszanych przez użytkowników. O zmianach można poczytać (są też screenshoty) na blogu Patricka Murrisa, który stworzył wiele pluginów do wersji .Net (odpowiedniki części z nich znalazły się w 0.3), a teraz intensywnie pracuje nad WWJ.

World Wind Java SDK - terrain profileAby uruchomić proste demo wystarczy kliknąć na link do pliku webstart. Jednak w ten sposób poznamy jedynie podstawowe funkcje, aby odkryć wszystkie możliwości drzemiące w WWJ musimy pobrać archiwum z SDK i napisać własny program... Może to zmartwić przeciętnego użytkownika, który chciałby dostać do ręki działający produkt, a nie zestaw materiałów i narzędzi "zrób to sam". Cóż więc owemu userowi po WWJ? Odpowiedź jest prosta: user dzięki WWJ dostanie do swojej dyspozycji wiele aplikacji opartych na SDK. Takie są cele NASA - nie damy wam multiplatformowego WW, ale damy SDK programistom, a ci już stworzą setki programów/apletów wg swoich potrzeb lub potrzeb ich użytkowników/klientów.

Na razie ciężko mówić o setkach, ale powstało już trochę ciekawych rozwiązań opartych na WWJ:

blueMarine World Wind JavaPierwszym takim programem (nie licząc dema zawartego w SDK i symulatora F16) jest blueMarine - odpowiednik Adobe Lightroom lub Apple Aperture; pozwala na zarządzanie kolekcją fotografii. Jedną z wielu funkcji jest geotagowanie zdjęć i to właśnie tu użyto WWJ. Na trójwymiarowym globie możemy zobaczyć tracki GPS i zdjęcia z naszej fotowycieczki.

World Wind GeoWorld Wind Geo to geoprzeglądarka, w której oprócz WWJ wykorzystano też Eclipse. Dzięki WW Geo skorzystamy z dowolnego serwera WMS, ponad 500 zestawów danych dotyczących aktualnej pogody, zaimportujemy też niektóre z plików KML. Jest i wbudowana przeglądarka internetowa. Słowem: prosty wirtualny globus na wszystkie systemy.


JSatTrakJSatTrak to program do śledzenia pozycji satelitów krążących dookoła Ziemi. Przypomina trochę Orbitrona, choć nie ma aż tylu funkcji, z drugiej strony posiada tryb 3D, wykorzystujący WWJ.

Wszystkie aplikacje staram się dodawać do wiki: Java links. Oprócz ww. znajdują się tam też linki do przykładowych apletów (GeoFlexy, IGE, GIS Solution) umieszczonych bezpośrednio na stronach www.

Należałoby wspomnieć, że programy te ciągle znajdują się w fazie rozwoju, jednak nie powinno to dziwić, bo i WWJ SDK jest na razie tylko alfą. Finalna wersja 1.0 zapowiadana jest na marzec przyszłego roku, ale (mając w pamięci wielokrotne przesuwanie premiery v0.2 - początkowo wrzesień 2006, potem grudzień, styczeń 2007 i ostatecznie maj) należy w to raczej wątpić.
W każdym razie współpraca między NASA a programistami używającymi SDK jest dosyć owocna. Wymiana kodu działa w obie strony i nie przeszkadza temu nawet brak repozytorium CVS/SVN (obecnie NASA co jakiś czas wypuszcza paczki z kolejnymi uaktualnieniami, zaś programiści publikują kawałki kodu na forum).
Jeśli ktoś chciałby się pobawić WWJ we własnej aplikacji, a nie wie od czego zacząć, niech odwiedzi stronkę na wiki WWJ Dev Documentation (pierwsze kroki i przykłady użycia). Tamże linki do dwóch ciekawych blogów: wspomnianego już Pata Murrisa oraz Antonio Santiago.

Przyszłość WWJ wydaje się jasna, tymczasem WW.Net... ale o tym następnym razem ;)

środa, listopada 21, 2007

Listopadowa aktualizacja Virtual Earth

Virtual Earth: Santiago del Compostela - katedra33,7TB nowych danych w serwisie Microsoftu...

Wśród nich znajdziemy zdjęcia lotnicze (miasta w USA), zdjęcia Bird's Eye (głównie USA + Szwecja, Hiszpania i Niemcy) oraz zdjęcia satelitarne (różne miasta z praktycznie wszystkich kontynentów, do tego tropikalne lokacje w stylu Mauritiusa lub Bermudów).
Virtual Earth - atol Tikehau
Oprócz pojedynczych miast mamy też i całe kraje: Szkocja w rozdzielczości 25cm/px oraz Anglia i Walia w 15cm.

Polski brak... :/


Szczegółowa lista na blogu Virtual Earth, An Evangelist's Blog.