UWAGA! Używamy plików cookies, by ułatwić korzystanie z naszego serwisu. Jeśli nie chcesz, by pliki cookies były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Co to są pliki cookies?

Czy wiesz, że ...
Mathematica to nie tylko matematyka

Geografika, czyli geografia w środowisku Mathematica

Przykłady operacji na danych geograficznych
 w środowisku Mathematica

Środowisko programu Mathematica wyposażone jest w szereg procedur z zakresu wykonywania obliczeń i tworzenia wizualizacji w oparciu o mapę świata. Obliczenia te są ściśle powiązane z systemem Wolfram|Alpha i wykorzystaniem bazy wiedzy. Dlatego obliczenia i wizualizacje z tego zakresu wymagają połączenia z Wolfram Knowledgebase.  

Geograficzny region kołowy

Jedną z prostszych funkcji jest wyznaczanie regionu kołowego lub w formie wycinku koła, w którego środku znajduje się określona lokalizacja geograficzna. Region kołowy wyznaczany jest przez procedurę GeoDisk, a za jego wyświetlenie odpowiedzialna jest procedura graficzna GeoGraphics.

Aby wyznaczyć współrzędne geograficzne środka regionu wykorzystywana jest baza danych geograficznych. Na poniższym przykładzie współrzędne centrum Krakowa zostały pobrane z tej bazy. Drugim argumentem funkcji GeoDisk jest promień regionu, który aby łatwo wprowadzić w formie liczby mianowanej wykorzystano kombinację klawiszy [CTRL] =. Rysunek pokazuje region kołowy o promieniu 7 km do puntu uznanego za geograficzne centrum Krakowa.

Mathematica-GeoGraphics_1.png

Mathematica-GeoGraphics_2.gif

Region można ograniczyć do wycinka koła podając kątowe ograniczenie wycinka koła.

Mathematica-GeoGraphics_3.png

Mathematica-GeoGraphics_4.gif

W środowisku Wolfram Language funkcjonują tak zwane proste obiekty graficzne (graphics primitives), wykorzystywane w grafice 2D i 3D wykonywanej za pomocą procedur Graphics i Graphics3D. GeoDisk jest prostym obiektem graficznym dla procedury GeoGraphics.

Obszary geograficzne

Funkcja Polygon to również prosty obiekt graficzny, który może być używany wewnątrz dyrektywy GeoGraphics. Kształt poligonu może w tym wypadku być określony np. przez granice państw. Opcja GeoBackground  pozwala ingerować w sposób wyświetlania obszarów poza granicami kraju.

Mathematica-GeoGraphics_5.png

Mathematica-GeoGraphics_6.gif

Mathematica-GeoGraphics_7.gif Mathematica-GeoGraphics_8.gif
Mathematica-GeoGraphics_9.gif Mathematica-GeoGraphics_10.gif

Stosując różne warianty listy obiektów wyświetlanych przez procedurę GeoGraphics można uzyskać wiele interesujących efektów wizualizacji. Poniżej pokazany został kontur granic Polski z siecią drogową oraz ukształtowaniem terenu.

Mathematica-GeoGraphics_11.png

Mathematica-GeoGraphics_12.gif

Mapa Polski z ukształtowaniem terenu w formie mapy izolinii.

Mathematica-GeoGraphics_13.png

Mathematica-GeoGraphics_14.gif

Flagi krajów wrysowane w kontur ich granic.

Mathematica-GeoGraphics_15.png

Mathematica-GeoGraphics_16.gif

Odległość punktów

GeoDistance to procedura pozwalająca wyliczać odległość między punktami określonymi przez współrzędne geograficzne. GeoListPlot to odpowiednik procedury ListPlot ale na powierzchni Ziemi.

Przykład w skali lokalnej odległości z Krakowa do Lublina ...

Mathematica-GeoGraphics_17.png

Mathematica-GeoGraphics_18.gif

... i w skali globalnej z Chicago do Moskwy.

Mathematica-GeoGraphics_19.png

Mathematica-GeoGraphics_20.gif

Punkty w najbliższym sąsiedztwie

Prostym przykładem procedur z tej grupy niech będzie wyznaczenie miast położonych w promieniu 50 km od centrum Warszawy.

Mathematica-GeoGraphics_21.png

Mathematica-GeoGraphics_22.png

Funkcja GeoNearest wyznacza miasta położone w określonym otoczeniu wskazanej lokalizacji, a za pomocą GeoListPlot można wyświetlić mapę z zaznaczonymi punktami odszukanych miast.

Po najechaniu wskaźnikiem myszy na punt wyświetlona zostaje nazwa miasta oraz współrzędne geograficzne jego położenia, ale ten efekt będzie widoczny po uruchomieniu interaktywnego pliku CDF.

Uwaga: Wersja interaktywna tego panelu będzie udostępniona wkrótce na podstronie Portalu dla Użytkowników.

Mathematica-GeoGraphics_23.png

Mathematica-GeoGraphics_24.gif

Procedura GeoNearest może być wykorzystywana nie tylko do odszukania punktów, ale i całych obszarów leżących w określonym promieniu od danej lokalizacji, na przykład obszarów podziału administracyjnego (powiaty) położonych w określonej odległości od wybranego punktu. W poniższym przykładzie zmienna obszaryAdministracyjne zawiera dane powiatów położonych w zdefiniowanym otoczeniu Poznania.

Mathematica-GeoGraphics_25.png

Zostały one pokazane aa mapie poniżej, gdzie po najechaniu wskaźnikiem myszy na obszar powiatu pojawia się jego nazwa oraz kontur granic na tle mapy reliefowej ukształtowania pionowego obszaru powiatu. Efekt interaktywny będzie widoczny po uruchomieniu pliku CDF.

Uwaga: Wersja interaktywna tego panelu będzie udostępniona wkrótce na podstronie Portalu dla Użytkowników.

Mathematica-GeoGraphics_26.png

Mathematica-GeoGraphics_27.gif

Trasa połączeń drogowych

Wyznaczanie trasy połączeń drogowych to jedna z procedur obliczeniowych z zakresu przetwarzania informacji geograficznej. Wystarczy podać lokalizację początkowa i końcową, a procedura TravelDirections wyznaczy przebieg trasy między tymi punktami.

Mathematica-GeoGraphics_28.png

Wyznaczoną trasę można pokazać na mapie ...

Mathematica-GeoGraphics_29.png

Mathematica-GeoGraphics_30.gif

... lub wyświetlić jej charakterystyki jako obiektu typu Dataset.

Mathematica-GeoGraphics_31.png

Mathematica-GeoGraphics_32.png

Sławne twarze Europy

Wolfram Knowledgebase to nie tylko geografia, to baza wiedzy z wszelkich dziedzin. Poniżej wymienione zostały nazwiska pięciu kompozytorów, którzy rozsławili swoje kraje: Ravel, Albeniz, Chopin, Mozart i Bach. Poniższa dyrektywa pobiera dane o nich z bazy wiedzy Wolfram Knowledgebase.

Mathematica-GeoGraphics_33.png

Mathematica-GeoGraphics_34.png

Mathematica-GeoGraphics_35.png

Możemy teraz wyświetlić wizerunki kompozytorów, a po najechaniu wskaźnikiem myszy na zdjęcie zobaczymy nazwisko kompozytora oraz miejsce i datę urodzenia oraz śmierci.

Mathematica-GeoGraphics_36.png

Mathematica-GeoGraphics_37.gif

Za pomocą komendy GeoGraphics możemy teraz wizerunki kompozytorów wpisać w kontur kraju ich pochodzenia.

Mathematica-GeoGraphics_38.png

Mathematica-GeoGraphics_39.gif

Obraz dowolnego obszaru w skali świata

Baza wiedzy Wolfram KnowledgeBase pozwala wyświetlać mapy i dokonywać obliczeń w obrębie całej powierzchni Ziemi. Poniżej pokazany został widok na Kilimandżaro oraz lista szczytów w otoczeniu Mont Everestu.

Widok na Kilimandżaro.

Mathematica-GeoGraphics_40.png

Mathematica-GeoGraphics_41.gif

Szczyty w odległości do 80 km od Mont Everestu.

Mathematica-GeoGraphics_42.png

Mathematica-GeoGraphics_43.png

Ulokowanie wybranych szczytów na mapie, a po najechaniu wskaźnikiem myszy na punkt pojawia się nazwa szczytu, jego wysokość oraz zdjęcie, ale informacje te będą widoczne po uruchomieniu pliku CDF.

Uwaga: Wersja interaktywna tego panelu będzie udostępniona wkrótce na podstronie Portalu dla Użytkowników.

Mathematica-GeoGraphics_44.png

Mathematica-GeoGraphics_45.gif

Poniżej coś z “lokalnego podwórka”, otoczenie Giewontu w promieniu 7 km . Niestety baza wiedzy Wolfram Knowledgebase nie zna (jeszcze) Kasprowego Wierchu.

Mathematica-GeoGraphics_46.png

Mathematica-GeoGraphics_47.gif

Żeby nie było wątpliwości, czy to ten sam Giewont, możemy wyświetlić zdjęcie z bazy Wolfram Knowledgebase.

Mathematica-GeoGraphics_48.png

Mathematica-GeoGraphics_49.gif

Lot z Madrytu do Aten

Wyznaczymy linię prostą z Madrytu do Aten i sprawdzimy jak wygląda przekrój powierzchni ziemi na tej trasie.

Zdefiniujemy punkt początkowy i końcowy.

Mathematica-GeoGraphics_50.gif

Wyznaczymy dystans i kierunek trasy.

Mathematica-GeoGraphics_51.gif

Wyznaczymy 1000 punktów na trasie lotu, definiując odległość wzdłuż linii lotu oraz współrzędne geograficzne każdego z puntów trasy.

Mathematica-GeoGraphics_52.gif

Profil trasy wyznaczymy za pomocą funkcji GeoElevationData.

Mathematica-GeoGraphics_53.png

I na koniec dwa rysunki. Pierwszy to profil trasy, gdzie kolor niebieski to lot nad morzem Śródziemnym, a lekko pomarańczowy to przelot nad lądami. Jakie to lądy łatwo możemy się zorientować z drugiego rysunku, który pokazuje trasę lotu na tle mapy Europy.

Mathematica-GeoGraphics_54.png

Mathematica-GeoGraphics_55.gif

Mathematica-GeoGraphics_56.png

Mathematica-GeoGraphics_57.gif

Największa głębia na trasie lotu wystąpi gdzieś w połowie lotu między Sardynią i półwyspem Apenińskim.

Niniejsze opracowanie nie jest pełnym wykazem możliwości środowiska Wolfram Language w zakresie przetwarzania
informacji geograficznej. Jest to tylko prezentacja jego wybranych procedur.