4.1.1 Popis řešení projektu InGeoCalc za rok 2009 Úvod V tomto popisu je obsažen postup a dosažené výsledky projektu za rok 2009. Projekt je rozdělen jak metodicky, tak i časově na tři hlavní fáze: teoretickou, implementační a ověřovací. Rok 2009 byl prvním rokem implementační fáze. Naplno se v něm rozeběhly programátorské práce, které byly částečně započaty již v předchozím roce. Teoretické práce však přesto neskončily. Při implementaci některých algoritmů se totiž projevily možnosti jejich zjednodušení a zefektivnění, a proto byly ještě průběžně upravovány. V tomto dokumentu bude podrobně popsána podstata těchto úprav a jejich vliv na výsledné programy. Implementace bayesovské klasifikace Bayesovská klasifikace digitálních obrazů byla implementována ve dvou režimech základní (tzv. naivní) bayesovská klasifikace, fuzzy-bayesovská klasifikace. V roce 2009 byla hlavní pozornost věnována fuzzy-bayesovské klasifikaci. Implementace algoritmů navržených v předchozím roce probíhala podle plánovaného rámcového postupu programátorských prací. 1. základní (tzv. naivní) bayesovská klasifikace využívající jen Bayesovy formule a maximalizace aposteriorních pravděpodobností, 2. nahrazení maximalizace prahováním pravděpodobnostních map a následný odhad topologie hranic oblastí, 3. konstrukce fuzzy množin z nepřesných vrcholů polygonů, 4. bayesovský odhad polohy hranic oblastí na základě porovnání pravděpodobnostní mapy s příslušnou fuzzy množinou, 5. prezentace výsledných polygonálních oblastí.
6. ověření modifikované bayesovské klasifikace na konkrétních datech. Tzv. fuzzy-bayesovská klasifikace byla předmětem implementace v krocích 2. až 5. V průběhu přípravy 2. kroku postupu bylo zjištěno, že prahování pravděpodobnostních map lze jednoduchým způsobem zobecnit tak, že se následující kroky 3. až 5. významně zjednoduší. Byla proto navržena nová metoda výběru třídy odpovídající danému pixelu. Navržená metoda využívá důležitého faktu, že hodnoty jednotlivých pixelů v tzv. pravděpodobnostních mapách nejsou vlastně pravděpodobnosti, ale jen relativní četnosti, což jsou náhodné veličiny. Při základní (naivní) bayesovské klasifikaci se relativní četnost barvy určitého pixelu v trénovací množině považuje za odhad podmíněné pravděpodobnosti výskytu oné barvy a dál se už s ní zachází jakoby tato pravděpodobnost byla přesným číslem. Obvykle se označuje P (B i,j C), přičemž B i,j... barva pixelu o souřadnicích [i, j], C... třída, do které uvažovaný pixel [i, j] náleží, Toto zjednodušené pojetí je výhodné z hlediska výpočtu podmíněné pravděpodobnosti P (C B i,j ) pomocí tzv. Bayesova vzorce kde P (C B i,j ) = P (B i,j C) P (C) P (B i,j T ) P (T ), (1) T C P (C)... apriorní pravděpodobnost výskytu třídy C v obraze, C... množina všech tříd v obraze zastoupených. Podmíněná pravděpodobnost P (C B i,j ) udává pravděpodobnost, že pixel [i, j] barvy B i,j náleží do třídy C. Uspořádáním hodnot P (C B i,j ) do matice s indexy i, j vznikne tzv. pravděpodobnostní mapa pro třídu C. Porovnáním hodnot P (C B i,j ) pro jeden určitý pixel [i, j] se rozhodne, do které třídy C C pixel [i, j] náleží. Výsledkem tohoto rozhodování je pak ta třída, pro niž je hodnota P (C B i,j ) největší. Používají se i jiná optimalizační kritéria (viz např. [3]), ale to není v tuto chvíli důležité. Skutečnost, že symboly P (B i,j C), P (C) nepředstavují přesná čísla, ale náhodné veličiny (relativní četnosti), znamená, že i P (C B i,j ) je náhodnou veličinou. Proto by rozhodování o příslušnosti pixelu [i, j] do nějaké třídy C C mělo být učiněno na základě statistického testu, který by respektoval rozdělení pravděpodobnosti náhodné veličiny P (C B i,j ). To je hlavní myšlenka tzv. fuzzy-bayesovská klasifikace. Fuzzy-bayesovská klasifikace Cílem fuzzy-bayesovské klasifikace je zkonstruovat pomocí bayesovského přístupu fuzzy množiny, které v obraze vymezí oblasti náležející jednotlivým třídám s různým stupněm příslušnosti. Funkce příslušnosti, která určitému pixelu [i, j] přiřadí třídu C závisí na pravděpodobnosti, že pixel [i, j] náleží třídě C spíše než jakékoli jiné třídě T C ; T C. Rozhodnutí o stupni tohoto náležení se provádí statistickým testováním.
Aby bylo možno statisticky testovat příslušnost pixelů do tříd, je třeba znát rozdělení pravděpodobnosti náhodné veličiny P (C B i,j ). Toto rozdělení pravděpodobnosti závisí na rozděleních pravděpodobnosti náhodných veličin P (B i,j C), P (C) prostřednictvím vztahu (1). To by znamenalo nejdříve odhadnout rozdělení pravděpodobnosti náhodných veličin P (B i,j C), P (C) a pak odvodit na základě vztahu (1) rozdělení pravděpodobnosti náhodné veličiny P (C B i,j ). Tento způsob odvození se ukázal být zbytečně komplikovaným. Jednodušší bylo učinit předpoklad, že vhodný násobek náhodného vektoru [P (B i,j C) P (C) C C] má multinomické rozdělení pravděpodobnosti. Složky tohoto náhodného vektoru totiž představují absolutní četnosti, jež jsou s relativními četnostmi P (C B i,j ) svázány vztahem: P (C B i,j ) = a C,i,j n i,j. (2) a C,i,j... vážená absolutní četnost pixelů barvy B i,j v trénovací množině třídy C, n i,j... vážený součet počtu pixelů barvy B i,j ve všech trénovacích množinách. Přívlastek vážený je zde použit proto, že hodnoty a C,i,j, n i,j nevyjadřují přímo počet pixelů určité barvy v trénovacích množinách, ale že v součtu mají větší váhu pixely z trénovací množiny, jejíž třída C má větší apriorní pravděpodobnost P (C) (viz. (1)) Pomocí náhodného vektoru [a C,i,j C C] lze odhadnout skutečné pravděpodobnosti (narozdíl od relativních četností P (C B i,j )) náležení pixelu [i, j] do jednotlivých tříd C C. Označíme je Q(C B i,j ). Aposteriorní rozdělení pravděpodobnosti náhodného vektoru [Q(C B i,j ) C C] má Dirichletovo rozdělení pravděpodobnosti, pokud apriorní rozdělení tříd C C je také Dirichletovo a náhodný vektor [a C,i,j C C] má multinomické rozdělení. Právě pro tuto výhodnou vlastnost byl předpoklad multinomického rozdělení učiněn. Aby bylo možno korektně rozhodnout, zda pixel [i, j] náleží do třídy C, je třeba testovat statistickou hypotézu Q(C B i,j ) > Q(T B i,j ) pro T C, T C. (3) Vhodnou volbou hladin významnosti, na nichž se tato hypotéza testuje, vzniknou oblasti s různým stupněm příslušnosti k třídě C, které představují tzv. α-řezy hledané fuzzy množiny. K provedení zmíněného testování je nutné vypočítat pravděpodobnost tvrzení (3). Tento výpočet lze provést analyticky, neboť hustota pravděpodobnosti Dirichletova rozdělení je polynomem a je tedy symbolicky integrovatelná. Naznačená metoda fuzzy-bayesovské klasifikace je dále doplněna o možnost pracovat s okolím pixelu [i, j]. To má sice za následek snížení polohové rozlišovací schopnosti klasifikace, ale výsledné oblasti jsou zato homogennější. Implementace analýzy posunů a deformací Hlavním cílem analýzy posunů a deformací je výpočet charakteristik přesnosti pole deformací. Algoritmy navržené v předchozích letech umožňují určovat charakteristiky přesnosti tenzoru deformace dvěma způsoby: pomocí simulace nebo anlyticky. V roce 2009 byly implementovány algoritmy pro analytické určení charakteristik přesnosti. Při výpočtu se využívá algoritmu navrženého pro geometrické transformace metodou kolokace.
Analytický odhad přesnosti tenzoru deformace Body, na kterých byly určovány posuny, jsou považovány za vlícovací body. Jejich souřadnice změřené ve dvou různých etapách tedy představují dva různé souřadnicové systémy. Při určování posunu na libovolném mezilehlém bodě proto lze využít zobrazovacích rovnic odvozených pro nelineární geometrické transformace metodou kolokace. t : R 2 R 2 : [ x, y ] t(x, y) = [ X, Y ], (4) x, y... souřadnice bodu v první etapě měření, X, Y... souřadnice bodu ve druhé etapě měření. Posunem je pak rozdíl [ X, Y ] [ x, y ] = t(x, y) [ x, y ], (5) což je vlastně dvojrozměrná vektorová funkce souřadnic x, y. Pomocí Jacobiho matice této funkce, tj. matice E(x, y) := se určí tenzor deformace (viz např. [1]) t [ x, y ] (x, y) I 2 (6) e(x, y) = 1 2 (E(x, y) + E(x, y)t ). (7) Transformační rovnice definující zobrazení t v (4) a jim příslušné parciální derivace v (6) jsou uvedeny ve výzkumné zprávě [2] (vzorce (31), (35)). Grafické zobrazení posunů a tenzorů deformace při interpolaci pomocí spline funkcí bylo implementováno již v minulých letech. V roce 2009 byla navíc dopněna možnost analytického výpočtu posunů a tenzorů deformace podle vztahů (4), (5), (7). Přitom byla připravována ověřovací fáze projektu, ve které bude nutné optimálně stanovit parametry σ, d kovarianční funkce (8). Za tím účelem bylo vytvořeno vývojové prostředí v systému Mathematica pro zobrazování parametrů deformačního pole (posunů a tenzorů deformace) formou třírozměrného modelu a izolinií. Situaci na obrázku 1 odpovídá třírozměrný model posunů ve směru osy Y (obrázek 2) a jeho vrstevnicová obdoba (obrázek 3). Hodnoty měřených posunů jsou na obrázku 2 znázorněny jako Z-ové souřadnice červených, částečně zakrytých kuliček. Parametry kovarianční funkce musí být stanoveny tak, aby plocha na obrázku 2 i izolinie na obrázku 3 byly dostatečně hladké a nebyl na nich příliš patrný vliv měřených posunů. Třírozměrný model se přitom musí k naměřeným posunům co nejblíže přimykat. Tohoto optimálního stavu je možno docílit buď interaktivní volbou parametrů kovarianční funkce nebo jejich bayesovským odhadem s neinformativním apriorním rozdělením pravděpodobnosti.
Obrázek 1: Měřené posuny (červeně) a jejich interpolovaný průběh (modře) Obrázek 3: Vrstevnicový model posunů ve směru osy Y
Obrázek 2: Třírozměrný model posunů ve směru osy Y Implementace geometrických transformací Algoritmy geometrických transformací digitálních obrazů byly implementovány podle rámcového postupu programátorských prací stanoveného v minulé periodické zprávě (za rok 2008). 1. interaktivní vkládání polohy a přesnosti vlícovacích bodů 2. výpočet parametrů přesnosti u základních typů transformací (podobnostní, afinní) a jejich grafická prezentace, 3. výpočet parametrů přesnosti pro mozaiku složenou ze základních typů transformací, 4. výpočet parametrů přesnosti pro klasickou metodu kolokace 5. výpočet kovariančních matic bez použití autokovarianční funkce 6. výpočet parametrů přesnosti pro zobecněnou metodu kolokace
Tento postup byl vzásadě dodržen. Pouze předposlední, pátý krok postupu byl vypuštěn. Tento krok se totiž ukázal být příliš ambiciózní jak z hlediska teoretického, tak i programátorského. Jeho vypuštěním však nebyl celkový postup programátorských prací narušen. Algoritmus podle nějž byl tento upravený postup programován, je podrobně popsán v [2]. V následujícím odstavci bude jen stručně nastíněna podstata provedených úprav. Kovarianční matice vlícovacích a podrobných bodů byla vypočtena pomocí obvyklé kovarianční funkce exponenciálního typu c(r) := σ 2 exp( d 2 r 2 ), (8) přičemž parametr σ byl bayesovsky odhadnut z naměřených dat. Přitom bylo za apriorní rozdělení pravděpodobnosti zvoleno neinformativní rozdělení s nevlastní hustotou p(σ) 1. Pomocí tohoto rozdělení pravděpodobnosti byla odvozena aposteriorní hustota pravděpodobnosti σ g(x, y, σ). Přesnost transformovaného podrobného bodu pak byla určena na základě marginálního aposteriorního rozdělení pravděpodobnosti ĝ(x, y) = 0 g(x, y, σ)dσ. Parametr d v (8) udává dosah působnosti kovarianční funkce c a může proto být snadno zvolen předem podle rozsahu zájmového území. Tento alternativní postup poskytuje objektivnější výsledek než při volitelnosti obou parametrů kovarianční funkce, i když méně objektivní nežli původně plánovaný bayesovský odhad celé kovarianční matice bez použití kovarianční funkce. Zobecnění metody kolokace, které bylo předmětem implementace v posledním kroku postupu programátorských prací, tedy bylo jen mírně oslabeno. Funkci webové aplikace demonstruje jednoduchý příklad, který je znázorněn na obrázcích 4, 5. Na nich je vyznačena poloha vlícovacích bodů zadaných v cílovém souřadnicovém systému (větší červené kroužky) v porovnání s polohou identických bodů, jejichž souřadnice byly vypočteny ze zadaných vstupních souřadnic transformací (menší černé kroužky). Současně je vykreslena ekvidistantní souřadnicová síť vstupního souřadnicového systému, jejíž průsečíky byly rovněž přetransformovány. Na obrázku 4 jsou patrné odchylky v poloze vlícovacích bodů, které transformace se zvolenými parametry σ, d nedokázala odstranit. Přesnost polohy transformovaných bodů je znázorněna kružnicemi, jejichž poloměr udává hodnotu střední souřadnicové chyby (v cílovém souřadnicovém systému). Vhodnou změnou parametrů σ, d lze dosáhnout zmenšení odchylek vlícovacích bodů libovolně blízko k nule, ovšem za cenu výrazného zhoršení přesnosti transformace, zejména mimo oblast vlícovacích bodů. Současně se znatelně projeví nelinearita transformace zakřivením původně obdélníkové souřadnicové sítě. Tento případ je zobrazen na obrázku 5. Literatura [1] J. Nečas a I. Hlaváček. Úvod do matematické teorie pružných a pružně plastických těles. SNTL, 1983. [2] L. Soukup. Přesnost elastické konformní transformace. Výzkumná zpráva č. 1151/2009, VÚGTK, prosinec 2009. [3] A. R. Web. Statistical Pattern Recognition. John Wiley & Sons, 2003.
Obrázek 4: Ukázka transformace při mírné nelinearitě Obrázek 5: Ukázka transformace při významné nelinearitě
Implementace výpočtu vybraných parametrů tíhového pole Země Popis výchozího stavu před řešením aktivity Tato zpráva se týká části projektu transformace výšek a výpočet parametrů tíhového pole Země. Nově dostupný globální model tíhového pole Země EGM08 umožňuje spočítat celou řadu parametrů pro libovolný bod na Zemi či nad ní. Použití samotného modelu je však pro neznalého uživatel obtížné a v současnosti patrně dosud neexistuje jednoduchý a efektivní program na výpočet parametrů tíhového pole Země z tohoto modelu. V předchozích aktivitách byly vybrány parametry tíhového pole Země, které bude možné počítat, byly formulovány potřebné vzorce a algoritmy a na konci roku 2008 došlo k implementaci klíčové části výpočtu harmonické syntézy do vysokého řádu a stupně. Z globálního modelu tíhového pole Země lze přímo spočítat tzv. gravimetrický kvazigeoid (výškovou anomálii ), která velmi úzce souvisí s úlohu transformace výšek mezi elipsoidálními výškami v systému WGS84 a normálními Moloděnského výškami v systému Balt po vyrovnání. Z tohoto pohledu je transformace výšek výpočtem jednoho speciálního parametru tíhového pole Země (výškové anomálie). Systémy WGS84 a Balt po vyrovnání jsou však vzájemně posunuté a testy ukazují také na určité lokální deformace systému, proto je vhodné kromě možnosti výpočtu gravimetrického kvazigeoiu z modelu umožnit uživatelům i výpočet modifikovaného kvazigeoidu respektujícího posun systému vůči sobě a místní nehomogenity. Tato úloha byla rovněž v rámci projektu řešena. Výsledkem je předpočítaný rastr pro transformaci výšek. Podobně aplikace umožňuje výpočet některých dalších parametrů z předem předpočítaných rastrů. Jejich výhodou je navíc to, že pro jejich výpočet nebyl použit pouze globální model, ale i výsledky pozemních gravimetrických měření (jedná se zejména o tížnicové odchylky). Cílem pro rok 2009 v rámci této aktivity bylo: 1. Zhotovení výpočetního programu pro výpočet parametrů tíhového pole Země z globálního gravitačního modelu (GGM). 2. Zhotovení výpočetního programu pro interpolaci hodnot z předem připravených rastrů. 3. Vytvoření jednoduchého webového rozhraní pro úlohy 1 a 2. Program pro výpočet parametrů tíhového pole Země z globálního gravitačního modelu Program využívá knihovnu pro harmonickou syntézu do vysokého řádu a stupně. Jedná se o výpočetně náročnou úlohu, proto byl program implementován v jazyce C++ a přeložen do strojového kódu. Program označený GeoCalc přijímá všechny potřebné parametry
prostřednictvím příkazové řádky na vstupu, což umožňuje jeho jednoduché nasazení na internetu na straně serveru jako CGI aplikace, což je cílem tohoto projektu. Protože je plánováno další využití tohoto programu pro širokou vědeckou veřejnost, komunikuje tento program s uživatelem v anglickém jazyku. Prakticky se to však týká pouze nápovědy k parametrům příkazové řádky a chybových hlášení. Uživatel aplikace InGeoCalc bude program využívat zprostředkovaně pomocí webového rozhraní, které je plně v češtině. Aktuální seznam možných parametrů tvoří přílohu 1 k této zprávě. Programátorské práce na tomto programu probíhaly průběžně po celý rok 2009 a v současnosti je program téměř plně funkční. Základní rysy programu: Umožňuje počítat parametry různých polí: tíhového pole Země W, gravitačního pole Země V, normálního tíhového pole Země Wn i normálního gravitačního pole Země Vn a poruchového pole T. Umožňuje počítat potenciál těchto polí, jeho první derivace ve směrech os sférického souřadnicového systému a druhou derivaci podle průvodiče r. Kromě toho umožňuje program počítat rovnou (tzn. bez explicitního zadávání typu parametru a použitého pole) některé běžně používané parametry. konkrétně výškovou anomálii, tížnicové odchylky Tyto speciální parametry jsou většinou kombinací výše uvedených (obecných) parametrů určitých polí (např. výšková anomálie = T/ kombinuje poruchový potenciál a derivaci normálního potenciálu) Výpočetní body lze zadat buďto výčtem (v textovém souboru) nebo jako zeměpisnou síť (tzn. souřadnicemi hranic sítě a rozlišením) na elipsoidu nebo jako rastr obsahující výšky, které určují výpočetní body. Při vstupu hodnot výčtem musí být každý výpočetní bod určen souřadnicemi na samostatném řádku vstupního souboru. Pořadí souřadnic (zeměpisná délka, šířka a výška) lze však libovolně nastavit Při vstupu jako rastrový soubor s výškami se používá jednoduchý textový formát ESRI ARC Info ASCII grid, který je čitelný v běžných textových editorech a zároveň je podporován mnoha systémy GIS. To co platí pro vstupní soubory, platí i pro výstupní soubory: lze libovolně zvolit pořadí souřadnic bodových hodnot, resp. výstupním formátem je ESRI ARC Info ASCII grid Program je poměrně rozsáhlý, obsahuje přibližně 4500 řádek kódu. Jeho další vývoj průběžně pokračuje. Program pro interpolaci parametrů tíhového pole Země z předem připravených modelů ve formě rastrů V rámci předchozích aktivit byly připraveny a na server VÚGTK uloženy některé důležité parametry ve formě rastrů. Tento program (georast) umožňuje výpočet vybraných parametrů v uživatelem zadaných bodech z těchto předem připravených rastrů. Program se opět ovládá
z příkazové řádky, vstupem je vybraný model a vstupní textový soubor se souřadnicemi výpočetních bodů, výstupem textový soubor se souřadnicemi bodů a interpolované parametry. Se vstupními soubory bodů i soubory ve formě rastrů pracuje rovněž program geocalc. Program geocalc byl navržen modulárně a důsledně využívá objektově orientovaný návrh, a proto program georast může využívat knihovny pro práci s těmito typy souborů bez nutnosti je opakovaně implementovat, program georast je tedy mnohem jednodušší. Program je tedy opět napsán v jazyce C++ a na serveru přeložen do strojového kódu. Vytvoření jednoduchého webového rozhraní Dalším z cílů této aktivity bylo vytvoření jednoduchého webového rozhraní pro uvedené programy. Příklad současného rozhraní pro program geocalc a georast je uveden v příloze 2, jedná se zatím o pracovní verzi, která se bude v následujícím roce dále rozvíjet. Původně byl plánovaný jednoduchý model interakce mezi webovým prohlížečem klienta a CGI skriptem na straně serveru: uživatel měl vyplnit formulář v HTML, odeslat jej na sever, který by vypočítal výsledky, připravil výstupní soubor a nabídl jej uživateli ke stažení. Takový model se obejde bez jakékoliv identifikace klienta na straně serveru (odpověď serveru je bezprostřední). Některé úlohy jsou ovšem výpočetně náročnější a při čekání na výsledek výpočtu se většina klientů po určité době nečinnosti automaticky odpojuje od serveru,čímž se bezprostřední spojení ztrácí. Jednou ztracená komunikace se pak již nedá navázat. Proto bylo navrženo složitější schéma komunikace znázorněné na obr. 1. Pro každý formulář je vygenerováno unikátní přístupové číslo (SID), které je v HTML stránkách předáváno buďto pomocí formulářů nebo jako součást URL adresy. Tím se zabezpečuje možnost navázání spojení i po jeho přerušení ze strany klienta. Klient může buďto na výsledky počkat (při tom je mu online zobrazován průběh výpočtu v procentech) nebo si je vyzvednout kdykoliv později zadáním SID. Do budoucna je aplikace připravena i na možnost zaslat výsledky po jejich spočítání emailem. Závěr Cíl pro rok 2009 byl splněn, aplikace jsou funkční a existuje k nim jednoduché rozhraní včetně jednoduché nápovědy. Aktuální verze programu (včetně programátorské dokumentace) je uložena na serveru VÚGTK a je přístupná na webové adrese intranet.vugtk.cz/~kadlec.
Klient (prohlížeč) Server Zadání webové adresy Vygenerování unikátního SID Vyplnění formuláře a jeho odeslání Vytvoření formuláře s unikátním SID Spuštění výpočtu podle zadaných parametrů a založení souboru s příznakem výpočet Zobrazení s požadavkem na automatické obnovování s uchováním SID stránky čekej Čekání s pravidelným obnovováním stránky ne Dokončen výpočet (kontrola podle SID)? ano Stažení výsledku Nabídnutí výsledku ke stažení Obrázek 1: Komunikace mezi klientem a serverem Příloha 1 Nápověda programu GeoCalc - seznam možných parametrů programu USAGE: bin/geocalc.exe {-i <string> -g <area_string> -r <string>} [-s <string>] [-N <int>] [-n <int>] -p <string> [-O <string>] [-I <string>] [--] [--version] [-h] <string> Where: -i <string>, --input_file <string> (OR required) Input file name -- OR -- -g <area_string>, --grid <area_string> (OR required) Evaluate in grid at constant height -- OR -- -r <string>, --raster <string> (OR required) Evaluate in grid given by raster of heights
-s <string>, --state_file <string> State file name -N <int>, --maxn <int> Maximal degree -n <int>, --minn <int> Minimal degree -p <string>, --param <string> (required) Abbrev of parameter to evaluate. -O <string>, --outform <string> Input points file format -I <string>, --inform <string> Input points file format --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. <string> Name of output file Input points file format: Each row contains geodetic coordinates for one station. fi la Output points file format: Each row contains geodetic coordinates for one station and computed value. fi la value Possible standard parameters: X... disturbing potential Xr... gravity disturbance dx/dr Xl... dx/dl Xt... dx/dt Xrr... d^2x/dr^2 where X is some field (see below)possible special parameters: zeta... height disturbance T/y eta... defl. of the vertical (E-W direction) [sec] ksi... defl. of the vertical (N-S direction) [sec] Dg... spherically approximated gravity anomaly g... gravity
Possible fields: W... gravity field from model V... gravitational field from model Vn... normal gravitational field Wn... normal gravity field T... disturbing field Příloha 2
Implementace výpočtu tíhových korekcí topografických měření Popis výchozího stavu před řešením aktivity V minulém roce byl sestaven postup pro redukci geodetických měření z vlivu tíhového pole Země a transformaci měřených hodnot na výpočetní plochu elipsoid. Ve zprávě z minulého roku jsou popsány vzorce pro jednotlivé korekce. Výpočet má probíhat podle schématu na obr. 1. Postup řešení Nejprve bylo nutné rozhodnout, který programovací jazyk bude pro aplikaci využit. V tomto případě se nejedná o výpočetně náročnou úlohu a při výpočtu je nutné volat externí programy a proto se na výpočet hodí skriptovací jazyk Python. V něm lze současně naprogramovat i webový interface. Úloha byla podle připraveného schématu postupně řešena v těchto částech: 1. Parsování XML dokumentu (vstupního souboru měřických dat). Tato funkce je snadno řešena pomocí knihovny xml.dom jazyka Python. 2. Transformace souřadnic. Přístup do rastrů tížnicových odchylek (pomocí programu georast) vyžaduje geodetické souřadnice, XML vstup do tohoto programu předpokládá souřadnice v S-JTSK. Transformace souřadnic je zajištěna voláním programu cs2cs s příslušnými parametry, který umožňuje transformovat souřadnice s nejhůře decimetrovou přesností, která pro naše potřeb zcela vyhovuje (rozlišení modelu tížnicových odchylek používaných pro transformaci je mnohem menší). 3. Výpočet tíhových anomálií ve výpočetních bodech. Pro tento účel se volá program georast popsaný v příslušné příloze této periodické zprávy. Jako vstup slouží soubor se souřadnicemi výpočetních bodů, jako výstup soubor s hodnotami tížnicových odchylek,. 4. Výpočet korekcí všech měření podle příslušných vzorců. V tomto případě se jednalo o pouhé přepsání vzorců sestavených v minulých fázích projektu do počítačového jazyka Python. 5. Oprava měřených hodnot. Byla provedena zavedením korekcí spočítaných v předchozím kroku k jednotlivým hodnotám. Hodnoty byly stále udržované ve stromu XML pro jejich budoucí snadný zápis. 6. Zápis hodnot do souboru XML a protokolu. Protože hodnoty v předchozím kroku byly stále drženy v XML stromu, bylo snadné je opět využitím knihovny xml.dom zapsat do výstupního XML souboru. Do pomocného textového souboru jsou zároveň vypisovány jednotlivé korekce.
Tvorba webového rozhraní Webové rozhraní je v tomto případě velmi jednoduché: tvoří jej jednoduchý formulář, ve kterém lze zvolit, které opravy se mají zavádět a přiložit vstupní XML soubor. Program data zpracuje a neprodleně nabídne ke stažení výsledný soubor s protokolem a výstupním souborem sbalené programem zip. XML vstupní soubor XML parsing Souřadnice S-JTSK Měřené hodnoty Transformace souřadnic Geodetické souřadnice Výpočet korekcí Tíhové anomálie Oprava měřených hodnot Protokol o výpočtu korekcí XML výstupní soubor Závěr Obrázek 1: Schéma výpočtu Cíl pro rok 2009 byl splněn, aplikace je funkční a existuje k ní jednoduché rozhraní včetně jednoduché nápovědy. Aktuální verze programu (včetně programátorské dokumentace) je uložena na serveru VÚGTK a je přístupná na webové adrese intranet.vugtk.cz/~kadlec.
Zpřesnění lokálního modelu kvazigeoidu Popis výchozího stavu před řešením aktivity V databázi máme uložené modely lokálního modelu kvazigeoidu a tížnicových odchylek ve formě rastru, ze kterých budou pro uživatele interpolovány hodnoty pro libovolný bod v ČR a blízkém okolí. V roce 2008 byl představen nový globální model tíhového pole Země EGM08 [1] ve formě Stokesových koeficientů do stupně a řádu 2160. Nahradil předchozí oficiální model EGM96, který obsahoval koeficienty pouze do stupně a řádu 360. Prostorové rozlišení modelu EGM96 je přibližně 0,5 0,5, prostorové rozlišení modelu EGM08 je již 5 5. Z modelu EGM08 lze spočítat výškovou anomálii na povrchu Země, která představuje tzv. gravimetrický kvazigeoid. Ten lze dále upravit na transformační plochu mezi výškovými systému WGS84 a Balt po vyrovnání podobně jako gravimetrický kvazigeoid spočítaný z pozemních gravimetrických měření. Testy kvazigeoidu spočítaného z modelu EGM08 ukázaly na jeho velmi vysokou přesnost. Protože dosavadní model kvazigeoidu plánovaný pro využití v projektu InGeoCalc byl založen kombinaci staršího globálního modelu EGM96 a středních hodnotách pozemních gravimetrických měření, jevilo se jako účelné spočítat nový model kvazigeoidu, který bude založený na novém globálním modelu EGM08 v kombinaci s pozemními gravimetrickými měřeními. V roce 2009 dále VÚGTK vedl jednání, která dávala naději na získaní přesnějších pozemních gravimetrických měření, než na kterých byl založen stávající model. Bylo jisté, že jeden z podkladů stávajícího kvazigeoidu bude zpřesněn (globální model) a existovala možnost zpřesnění i druhého relevantního podkladu (pozemních gravimetrických měření). Přesnější pozemní gravimetrická měření se bohužel doposud nepodařilo získat. Tato varianta byla při plánování aktivity předvídána a uvedena pro dosažení cíle jako kritický předpoklad, při jehož nesplnění není jisté, zda bude cíl splněn (tzn. model významně zpřesněn). Výpočet globální složky modelu kvazigeoidu Nejprve byl spočítán kvazigeoid z globálního modelu tíhového pole Země. K tomuto výpočtu byl použit program geocalc vyvíjený v téže době v rámci řešení aktivity A09-03 a pro srovnání i další dva nezávislé programy (synth a gravsoft). Kromě získání potřebného modelu tím došlo současně k testování aplikace geocalc vyvíjené v rámci výše zmíněné aktivity. Výškovou anomálii ζ EGM z globálního modelu jsme určili podle vztahu T(,, h) (,, h) (,, h) kde,, h jsou geodetické souřadnice, (,, h) je velikost normálního zrychlení, T(,, h) je poruchový potenciál spočítaný řadou
T ( r,, ) GM r N max n 2 n a r T (, ) kde r,, jsou sférické souřadnice (odpovídající bodu o geodetických souřadnicích,, h), a je velikost hlavní poloosy použitého elipsoidu a GM je gravitační konstanta, N max je v našem případě 2190, dále T T (, ) ( C n n (, ) n0 n C J ) P (sin ) n m 0 n nm cos m S n sin m P n C nm cos m S nm sin m Pnm (sin ) pro sudé n m 1 nm nm, (sin ) pro liché C, nm S jsou (plně normalizované) Stokesovy koeficienty modelu EGM08, P nm nm jsou plně normalizované přidružené Legendrerovy funkce, P n plně normalizované Legendrerovy polynomy a J 2 jsou plně normalizované Stokesovy koeficienty normálního pole. n Výšková anomálie ζ EGM je znázorněna na obr. 1. n Obrázek 1 - ζ EGM
Výpočet lokální složky modelu kvazigeoidu Protože nebyla získána nová pozemní gravimetrické měření, byla pro výpočet lokální složky použita stávající databáze VÚGTK, která obsahuje středních hodnoty tíže g. Z těchto hodnot nejprve spočítáme tíhové anomálie na volném vzduchu Δg loc (obr. 2) podle vztahu g loc (,, H) g(,, H) (, H) kde, jsou geodetické souřadnice a H je normální výška. Tyto tíhové anomálie jsou redukovány o tíhové anomálie z globálního modelu Δg EGM08 na reziduální tíhové anomálie Δg res (obr. 3). Pro výpočet je tedy nutné spočítat tíhové anomálie z globálního modelu, k čemuž byla opět využita paralelně vyvíjená aplikace geocalc řešená v rámci aktivity A09-03. Z hodnot tíhových anomálií Δg res a normálních výšek H byla spočítána výšková anomálie ζ res na povrchu Země integrací, jejíž podrobnější popis již přesahuje rámec tohoto textu, viz např. [3]. Obrázek 2 - Δg loc [mgal] Obrázek 3 - Δg res [mgal]
Výšková anomálie ζ res je znázorněna na obr. 4 (černobílé pozadí). Obrázek 4 - Výšková anomálie ζ res a znázornění bodů, kde došlo ke zlepšení (resp. zhoršení) přesnosti na testovacích bodech GPS-nivelace Kombinovaný kvazigeoid Výsledné převýšení gravimetrického kvazigeoidu ζ spočítame součtem ζ = ζ EGM + ζ res Protože složka z modelu ζ EGM je výrazně větší než ζ res, vypadá obr. ζ velmi podobně jako obr. ζ EGM a proto není samostatně vykreslen. Testování jednotlivých modelů na bodech vybrané údržby Pro testování bylo použito 1024 bodů vybrané údržby, test byl proveden stejně jako při testování původního lokálního modelu (popsáno ve zprávě z roku 2007 [4]). Na každém bodu byla určena přímo měřená výšková anomálie ζ jako rozdíl výšky měřené GPS a výšky určené nivelací. Hodnotu ζ srovnáváme s původním lokálním modelem kvazigeoidu (označen ζ*), s novým lokálním modelem kvazigoidu (označen ζ) a s výškovou anomálií spočítanou pouze z globálního modelu EGM08 ζ EGM. Výsledky ukazuje tab. 1.
Tabulka 1 - porovnání tří modelů kvazigeoidu na bodech vybrané údržby ζ ζ* ζ ζ ζ - ζ EGM střední hodnota -0.390-0.427-0.419 směrodatná odchylka 0.043 0.032 0.036 minimum -0.512-0.538-0.519 maximum -0.220-0.335-0.326 Tabulka ukazuje přesnost modelu bez zavedení jakýchkoliv opravných ploch fittingu (pouze ukazuje konstatní trend). Nový lokální model je mírně přesnější než původní lokální model i než kvazigeoid spočítaný z EGM08. Fitting a zhodnocení přesnosti modelů Následovalo přizpůsobení gravimetrického kvazigeoidu bodům výběrové údržby, což umožňuje přesnější transformaci (zohledňuje i případné místní deformace systému Balt po vyrovnání). Postup byl proveden analogicky jako v případě původního kvazigeoidu a popis je opět uveden v [4]. Výsledný rastr byl uložen do databáze VÚGTK. Umožňuje transformaci s očekávanou střední chybou kolem 3 cm (přestože došlo po aplikace opravného povrchu k formální snížení střední chyby pod 2 cm, není tato hodnota spolehlivým ukazatelem přesnosti a proto vycházíme ze směrodatné odchylky nového lokálního modelu ζ uvedené v tabulce). Závěr Přestože nebyl naplněn kritický předpoklad pro dosažení dílčího cíle získaní přesných pozemních gravimetrických měření došlo k mírnému zvýšení přesnosti modelu kvazigeoidu. Aktivitu lze tady přesto hodnotit jako splněnou. Literatura [1] PAVLIS N. K., HOLMES S. A., KENYON S. C., FACTOR J. K. An Earth Gravitational model to degree 2160: EGM2008. Preseneted at 2008 General Assembly of European Geosciences Union, Vienna, Austria, April 13-18, 2008. [2] NOVÁK P, KLOKOČNÍK J., KOSTELECKÝ J. Testing the global geopotential model EGM07a with GPS/leveling data over the territory of the Czech Republic. Report for the IAG Special Working Group 2.2: Evaluation of Global Earth Gravity Models. 2007. [3] MORITZ H., Advanced Physical Geodesy. H. Wichmann Verlag, Karlsruhe. 1980. [4] KADLEC M. Zpráva o řešení aktivity A07-04: Odstranění systematické složky chyby modelu kvazigeoidu a odhad chyby transformace výšek (nepublikováno).