Technologie Map Cyfrowych

Podobne dokumenty
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Wprowadzenie do biblioteki klas C++

Uzyskanie podkładu topograficznego z Geoportalu przy użyciu biblioteki GDAL. Krzysztof Kochan

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Dokumentacja końcowa projektu z ZPR

Informatyka I : Tworzenie projektu

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

I - Microsoft Visual Studio C++

Wybrane zagadnienia w pracy z danymi rastrowymi w ArcGIS Marcin Paź Esri Polska

Cyfrowe Przetwarzanie Obrazów i Sygnałów

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY UMIEJĘTNOŚCI I INNYCHY KOMPETENCJI

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Uniwersytet Przyrodniczy w Lublinie

Zad. 6: Sterowanie robotem mobilnym

MS Visual Studio Express 2012 for Web instalacja i konfiguracja

Programowanie obiektowe

Wykład 4. Tablice. Pliki

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Wykorzystanie serwisów WMS w oprogramowaniu GEO-MAP

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Rodzaje plików. Podstawowe definicje.

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008.

Wprowadzenie do systemów GIS

Zad. 5: Sterowanie robotem mobilnym

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Instrukcja laboratoryjna cz.3

Laboratorium Cyfrowego Przetwarzania Obrazów

ZESTAW 1 SAS 4GL. Język stworzony na potrzeby przetwarzania dużych zbiorów danych. Składają się nań:

Allegro5 część 1 - Witaj Świecie! Projekt, inicjalizacja, tworzenie okna, czcionki. Autor: Kamil Krzyszczuk - C mons

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Zaawansowane aplikacje WWW - laboratorium

1 Temat: Wprowadzenie do biblioteki OpenCV

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Electronic Infosystems

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Przykłady zastosowao rozwiązao typu mapserver w Jednostkach Samorządu Terytorialnego

SFML. (Simple and Fast Multimedia Library)

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Rozpoczęcie pracy z programem.

Rozmiar i wielkość dokumentu

1.Wstęp. 2.Generowanie systemu w EDK

Wykład 2 Składnia języka C# (cz. 1)

Smarty PHP. Leksykon kieszonkowy

Podłączanie bibliotek Zapis danych do pliku graficznego Generowanie promienia pierwotnego Import sceny z pliku Algorytm ray tracingu

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

GIMP Grafika rastrowa (Ćwiczenia cz. 2)

Ćwiczenie 6. Transformacje skali szarości obrazów

Laboratorium Systemów Informacji Przestrzennej. Korzystanie z zewnętrznych usług geokodowania i nawigacji w środowisku OpenLayers

Laboratorium nr 5: Mnożenie wektorów i macierzy

Projekt CASCADOSS. The Cascadoss Project is financed by the European Commission under the Sixth Framework Programme

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

1. Praktyczny przykład kalibracji rastra

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

MIERNICTWO GÓRNICZE SYLLABUS

Wprowadzenie do SAS 4GL Zapoznanie ze środowiskiem SAS University Edition oraz SAS Studio. Podstawowe pojęcia środowiska SAS.

Laboratorium Programowanie urządzeń mobilnych

Rozdział 5: Style tekstu

Tomography Tracking Instrukcja użytkownika

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Podstawy i języki programowania

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

7 Przygotował: mgr inż. Maciej Lasota

Przypisywanie bibliotek w architekturze SAS

Moduł IV Internet Tworzenie stron www

Zarządzanie danymi przestrzennymi

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podstawy przetwarzania obrazów teledetekcyjnych. Format rastrowy

WPROWADZENIE DO JĘZYKA JAVA

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów

Programowanie w Javie

Część 4 życie programu

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

DYNAMICZNE PRZYDZIELANIE PAMIECI

Instrukcja instalacji oprogramowania dla środowiska Linux

INSTRUKCJA DO OPROGRAMOWANIA KOMPUTEROWEGO

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C10

Sztuczna inteligencja : Zbiory rozmyte cz. 2

#include <stdio.h> #include <stdlib.h> // standardowe biblioteki

Obraz jako funkcja Przekształcenia geometryczne

Oracle PL/SQL. Paweł Rajba.

Praktyka programowania projekt

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Laboratorium Przetwarzania Sygnałów

Korzystanie z różnych typów danych w środowisku ArcGIS. Zofia Chudzyńska ESRI Polska Zakopane 2007

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

STWORZENIE MOBILNEJ APLIKACJI,

Shapefile, GeoPackage czy PostGIS. Marta Woławczyk (QGIS Polska)

Transkrypt:

Technologie Map Cyfrowych Laboratorium 1 GDAL Geospatial Data Abstraction Library

Wstęp GDAL jest biblioteką translacyjną dla rastrowych danych geoprzestrzennych. Rozpowszechniana na licencji Open source (X/MIT) przez Open Source Geospatial Foundation. Biblioteka GDAL dostarcza wspólny model abstrakcji dla danych w wielu wspieranych formatach. Razem z biblioteką dostarczony jest zbiór narzędzi linii poleceń umożliwiających konwersję oraz przetwarzanie danych przestrzennych. Podstawowym założeniem, a zarazem atutem biblioteki jest jednolita reprezentacja różnych danych przestrzennych o charakterze rastrowym bez względu na fizyczny format zbioru danych, jak również duży poziom modularności skutkujący obsługą wielu formatów i stosunkowo prostą rozszerzalnością. Podczas ćwiczeń laboratoryjnych należy przetestować kompilację FWTools biblioteki GDAL. Materiały laboratoryjne przechowywać w katalogu D:\TMC\Imie_Nazwisko Zadanie 1 Użycie z poziomu C/C++ W pierwszym zadaniu należy utworzyć w środowisku Visual Studio aplikację konsolową (Win32 Console Application), która otwiera wybrany plik GeoTiff (test1.tiff, utm.tif) oraz wyświetla podstawowe informacje na jego temat. W szczególności należy wyświetlić informację na temat rozmiaru, liczby kanałów/pasm, projekcji pliku rastrowego, parametrów transformacji afinicznej oraz nazwy sterownika użytego do otworzenia pliku. Należy odpowiednio ustawić we właściwościach projektu: Ścieżkę do plików nagłówkowych: Additional Include Directories :

Ścieżkę do bibliotek statycznych Additional Library Directories : Wskazać bibliotekę statyczną gdal_i.lib, Additional Dependencies :

Aby Należy ponadto zadbać aby aplikacja miała dostęp do bibliotek dynamicznych z katalogu FWTools\bin (np. przekopiować pliki dll do katalogu roboczego lub dodać katalog bin do zmiennej środowiskowej PATH). W programie w języku C/C++ \ korzystając z narzędzi GDALa należy włączyć potrzebne pliki nagłówkowe: #include "gdal_priv.h" // plik #include "cpl_conv.h" // for CPLMalloc() Konieczne jest również użycie struktury danych odpowiedzialnej za obsługę różnych formatów danych GDALa: GDALDataset *podataset; Bezpośrednio przed pracą z danymi przestrzennymi konieczna jest rejestracja sterowników poszczególnych formatów w ramach GDALa: GDALAllRegister(); Otwarcie do odczytu plików rastrowych GeoTiff: podataset = (GDALDataset *) GDALOpen( "utm.tif", GA_ReadOnly ); Na wypadek niepowodzenia należy sprawdzić wartość zwracaną przez GDALOpen: if( podataset == NULL ) W przypadku sukcesu można korzystać z obiektu wskazywanego przez podataset. Niezbędne informacje można wydobyć wykorzystując odpowiednią metodę z klasy GDALDataset. Materiały: http://www.gdal.org/classgdaldataset.html - Pod adresem znajduje się przyzwoity opis klasy GDALDataset.

Zadanie 2 odczyt danych Po odczytaniu podstawowych informacji na temat pliku znamy parametry transformacji afinicznej, która wiąże poszczególne piksele obrazu rastrowego ze współrzędnymi w układzie odniesienia związanym z projekcją obrazka. Transformacja afiniczna (ang. general affine transformation) jest to przekształcenia reprezentujące przesunięcie, obrót i skalowanie. Z matematycznego punktu widzenia jest to jednoznaczne przekształcenie płaszczyzny lub przestrzeni na siebie, zachowujące współliniowość punktów. Jak w poniższym opisie: CPLErr GDALDataset::GetGeoTransform (double * padftransform ) Fetch the affine transformation coefficients. Fetches the coefficients for transforming between pixel/line (P,L) raster space, and projection coordinates (Xp,Yp) space. Xp = padftransform[0] + P*padfTransform[1] + L*padfTransform[2]; Yp = padftransform[3] + P*padfTransform[4] + L*padfTransform[5]; Zaimplementować mechanizm, który korzystając z pobranych parametrów transformacji wyświetli informacje na temat punktu w obrazie rastrowym (współrzędne w pikselach oraz wartość). Współrzędne punktu w obrazie rastrowym użytkownik podaje w przestrzeni związanej z projekcją obrazka. Wskazówka: Należy zastosować wzory z ramki w postaci odwróconej. Czyli wyznaczyć P oraz L względem odczytanych parametrów transformacji afinicznej oraz zmiennych zadawanych przez użytkownika Xp Yp. Do odczytu lub zapisu wartości pojedynczych pikseli najlepiej wykorzystać metodę RasterIO z klasy GDALRasterBand. Uwaga: Pobierając z GDALDataset::GetRasterBand(int) poszczególne kanały/pasma należy zwrócić uwagę, że numerujemy od 1 do GDALDataset::GetRasterCount(). Materiały: http://www.gdal.org/classgdalrasterband.html - przyzwoity opis klasy GDALRasterBand, w szczególności metody RasterIO.