Transformácie súradníc v GIS Roman Varinský 2005 Katedra kartografie, geoinformatiky a DPZ
Úloha V prostredí GRASS georeferencovať raster a pomocou bodov so známymi súradnicami určiť odchýlky transformácie. Vytvoriť množinu georeferencovaných bodov pre spracovaný mapový list. Vyhodnotiť polohovú odchýlku pre každý polohovo priradený bod a pre každú transformáciu a jej vhodné kartografické vyjadrenie.
Riešenie Vstupný rastrový obrázok nemá polohové priradenie. Definíciu jeho regiónu preto môžem zvoliť ľubovoľne. Poznám však súradnice priesečníkov kilometrovej siete, ktoré viem jednoducho odpočítať od súradníc zadaného priesečníka ľavého horného rohu (3657000, 5395000) rastrového obrázka v Gauss-Krügerovom zobrazení. Digitalizáciou priesečníkov kilometrovej siete viem týmto bodom priradiť nové súradnice v Gauss-Krügerovom zobrazení. Súradniciam priesečníkov v rastrovom obrázku imaginárneho regiónu teda priradím reálne súradnice. Použijem lineárnu, kvadratickú a kubickú transformáciu (order=1,2,3). Transformovať budem rôzny počet bodov; pre lineárnu použijem postupne 3, 9, 16 a 25 bodov, pre kvadratickú 6, 9, 16 a 25 bodov a pre kubickú 10, 16 a 25 bodov.
Riešenie Po transformáciách určím odchýlky x a y súradnice na priesečníkoch od zadaných súradníc. Odchýlky určujem na všetkých (81) digitalizovaných priesečníkoch a pre každú transformáciu (11), to znamená určenie 81 priesečníkov x 11 transformácii = 891 odchýlok. Vypočítam dĺžku vektora odchýlky, ktorú potom zobrazím kartografickou metódou pomocou povrchov a izolínii, čo je vlastne cieľom tejto práce.
Informácie o zadanom území mapový list M-33-131-B-b (Gauss-Krüger) vo formáte JPEG, bez polohového priradenia, kilometrová sieť kríže georeferencovanej kilometrovej siete 3657000, 5395000 3665000, 5395000 3657000, 5387000 3665000, 5387000
Postup riešenia v GRASS 5.3 Pred akýmkoľvek výpočtom v Grass-e je nutné si založiť Location a Mapset. Keďže sa chystám transformovať, treba si založiť dve Location (xy, xy_GK) a dva Mapsety (transf – oba) xy: N=805, S=0, W=0, E=805, resolution: 1x1 xy_GK: N=5396000, S=5386000, W=3655000, E=3666000, resolution: 1x1 Transformovať budem z xy do xy_GK. Nastavím sa preto na Location: xy a sem naimportujem rastrový obrázok.
Postupnosť príkazov v GRASS 5.3 Pre import obrázka do prostredia GRASS použijem r.in.gdal input=m33131bb.jpg output=mapa rozloží obrázok na tri časti R G B, ktoré neskôr spojím do celku Pred vizualizáciou vrstiev treba zapnúť grafický monitor d.mon start=x0 Teraz by som spojil do jedného celku tri časti mapy, rozdelené pri importe. Na to sa používa modul r.composite. r.composite r_map=mapa.red g_map=mapa.green b_map=mapa.blue output=mapa
Postupnosť príkazov v GRASS 5.3 Pred digitalizáciou ešte vytvorím skupinu, do ktorej vložím RGB raster i.group group=mapa input=mapa Digitalizácia krížov kilometrovej siete prebieha pod príkazom i.points V rastrovom obrázku zdigitalizujem 81 priesečníkov a priradím im súradnice kilometrovej siete v Gauss-Krügerovom zobrazení (pred i.rectify musím sprístupniť iba body, ktoré do transformácie budú vstupovať - 3, 6, 9, 10, 16, 25; body deaktivujem dvojklikom – zobrazí sa NOT USED). Zoznam všetkých digitalizovaných bodov sa nachádza v maplist.txt. Pred transformáciou treba určiť cieľ kam sa bude transformovať. i.target group=mapa location=xy_GK mapset=transf zacielenie skupiny na cieľovú Location a Mapset
Postupnosť príkazov v GRASS 5.3 Transformácia zvoleného počtu bodov prebieha zadaním i.rectify group=mapa extension=...*1) order=...*1) Slúži na transformáciu súradníc priradených každému pixlu obrázka, založenom na súradniciach priradených v i.points, extension – prípona, order – stupeň transformácie (1-lineárna, 2-kvadratická, 3-kubická). *1). extension a order som menil podľa potreby: napr.: 3 body pri lineárnej transformácii: extension=3_1 16 bodov pri kvadratickej transformácii: extension=16_2 25 bodov pri kubickej transformácii: extension=25_3
Postup riešenia v GRASS 5.3 Po skončení všetkých transformácii sa nastavím na Location: xy_GK. Cieľom úlohy je určiť odchýlky pri jednotlivých stupňoch transformácii použitím rôzneho počtu vstupných bodov. Transformovaných mám 11 rastrov, tak ich budem postupne zobrazovať a zisťovať odchýlky na priesečníkoch. Rastre zobrazím d.rast “názov rastra” Pre presnejšie určenie odchýlok na priesečníkoch si územie zväčším. d.zoom Týmto modulom som aj určoval odchýlky. Po zobrazení súradníc som tieto vkladal do Excelu
Postup riešenia v Exceli Súradnice získané v GRASS-e som si potom ukladal do stĺpcov do Excelu (odchylky.xls), kde som potom po odčítaní odchýlok vypočítal dĺžku vektora odchýlky, odčítaním od pôvodne priradených súradníc, na základe vzťahu Súradnice x y z (súradnica z v tomto prípade vektor odchýlky) v troch stĺpcoch som potom vložil do Poznámkového bloku ako textový súbor (napr. 3_1.txt, 25_3.txt)
Postup riešenia v Surfer 7.0 Na import dát do prostredia Surfer 7.0 slúži modul Grid/Data... V okne som si zvolil požadovaný txt súbor a na vytvorenie gridu som použil metódu Kriging Úlohou mojej práce je vyjadrenie odchýlok formou kartografického modelu pomocou povrchov. Tieto vhodne zobrazím pomocou Map/Contour Map/New Contour Map... - vybral som vytvorené gridy - v okne Contour Map Properties v záložke Options som označil obe možnosti pod Filled Contours (Fill Contours a Color Scale) - v záložke Levels som ešte poupravoval rozostup vrstevníc a farbu po zobrazení som narobil screenshoty a uložil ich vo formáte bmp
Zoznam prislúchajúcich súborov Súbor s pôvodnými súradnicami, so zistenými odchýlkami a výpočtom vektora odchýlok odchylky.xls Súbory so stĺpcami x y z, kde z vyjadruje dĺžku vektora odchýlky 3_1.txt, 9_1.txt, 16_1.txt, 25_1.txt, 6_2.txt, 9_2.txt, 16_2.txt, 25_2.txt, 10_3.txt, 16_3.txt, 25_3.txt Obrázkové súbory s plochami odchýlok 3_1.bmp, 9_1.bmp, 16_1.bmp, 25_1.bmp, 6_2.bmp, 9_2.bmp, 16_2.bmp, 25_2.bmp, 10_3.bmp, 16_3.bmp, 25_3.bmp File vytvorený v Grass-e cez i.points obsahujúci digitalizované súradnice priesečníkov maplist.txt