Projekt XYZTrans

(homepage)

    V rámci výzkumného záměru VZ 01 CEZ MSM VZ 6840770001 „Spolehlivost, optimalizace a trvanlivost stavebních materiálů a konstrukcí“, dílčí část „Geodetické monitorování k zajištění spolehlivosti staveb“ byl vyvinut program na transformaci prostorových kartézských souřadnic.
    Umožňuje výpočet transformačního klíče pro nejpoužívanější typy prostorové transformace - obecnou afinní, podobnostní a shodnostní, a následnou transformaci dalších bodů. Vstupem do programu je textový soubor, který obsahuje souřadnice jak identických bodů, tak dále transformovaných. Po načtení souřadnic lze identické body z výpočtu jednotlivě vylučovat, program vždy počítá pro každý identický bod, jak poklesne směrodatná odchylka jednotková při jeho vyloučení.
    Program pracuje v operačním systému Microsoft Windows XP a vyšším. Autorem programu je Martin Štroner.
    Program lze získat zdarma - stažení zde: XYZTransV2.zip. Je vhodné si před použitím přečíst poznámky k instalaci a používání.
    Poslední verzí je aktuálně XYZTransV21.zip, která umožňuje načítání souřadnic ze dvou souborů s inteligentním vyhledáním identických bodů (17.3.2011).

Popis programu:

Obsah

    Hlavní okno
    Vstupní soubor - varianta 1
    Vstupní soubor - varianta 2
    Postup výpočtu
    Výstupní protokol
    Literatura
    Poznámky k instalaci
    Poznámky k používání

Hlavní okno

    Po spuštění programu se zobrazí hlavní okno, které tvoří rozcestník možností. Na začátek práce je nutné do programu načíst souřadnice z textového souboru, minimální počet jsou čtyři body pro obecnou afinní transformaci, tři body pro podobnostní a shodnostní transformaci. V grafickém rozhraní lze vybírat body pro výpočet transformačního klíče, typ transformace,  spouštět výpočet a prohlížet protokol.

  

Jednotlivá tlačítka:

Soubor/Otevřít: Spouští standardní MS Windows dialog pro otevření textového souboru se souřadnicemi (popsáno dále - Vstupní soubor - varianta 1).
Soubor/Otevřít Dva: Spouští dialog pro načtení dat ze dvou souborů (popsáno dále - Vstupní soubor - varianta 2).
Přepočítat klíč: Podle aktuálního nastavení vypočítá transformační klíč a výsledky vypíše do protokolu.
Žlutý list: Zobrazení protokolu (viz dále).
Transformovat: Provede transformaci podrobných bodů podle posledního transformačního klíče.
Podezřelý bod (malé tlačítko u čísla bodu): Z výpočtu transformačního klíče vyloučí podezřelý bod.

Vstupní soubor - varianta 1

    Vstupní soubor se skládá ze dvou sekcí, na začátku je počet identických bodů, následují vždy číslo bodu a oboje souřadnice (první jsou souřadnice soustavy, do které transformujeme). Následuje sekce transformovaných bodů, tj. počet bodů a pak samotné body vždy v pořadí číslo bodu, X, Y, Z.
Příklad vstupního souboru:
-----------------------------------------------
3
1   104.17594    157.20398    187.77    
    5.6967372    2.7438901    4.545085
2   108.04252    152.12023    181.552
    8.7936045    5.520147     2.3742621
3   80.666513    155.8027     170.59013
   -0.0815595    15.828698    10.095041  

2
10   104.17594    157.20398    187.77    
11   5.6967372    2.7438901    4.545085   
-----------------------------------------------

Vstupní soubor - varianta 2

    Ve verzi 2.1 lze načítat souřanice ze dvou souborů pomocí volby Soubor/Otevřít Dva, kdy se otevře dialog. Zde první soubor (souřadnice vstupní, v soustavě, ze které se transformuje) obsahuje jak identické body, tak podrobné. Druhý soubor obsahuje pouze identické body v cílové soustavě (soustava výstupní). Oba soubory jsou bez dalších značek, tj. pouze číslo bodu a souřadnice. Lze přepínat mezi pořadím YXZ a XYZ.
Dialog výběru s vobou souborů a pořadí souřadnic:



Příklad prvního vstupu:
-----------------------------------------------
1    11,1163    -19,5123    0,2967
2    1,9269    2,5291    0,201
3    -3,7889    16,3717    0,275
5    -7,9485    -1,5883    0,3836
6    -1,2233    -18,1563    0,3185
11    11,1163    -19,5123    0,2967
12    1,9269    2,5291    0,201
13    -3,7889    16,3717    0,275
15    -7,9485    -1,5883    0,3836
16    -1,2233    -18,1563    0,3185
 
-----------------------------------------------
Příklad druhého vstupu:
-----------------------------------------------
1    -21,48078    -0,14214    -0,08228
2    1,6622    -6,02846    -0,1777
3    16,164775    -9,7673    -0,104875
5    4,3002    4,34348    -0,02212
6    -12,98772    8,91248    -0,0874
 
-----------------------------------------------

Za identické body se považují takové, které mají v obou souborech totožné číslo. Zbylé body z prvního souboru jsou považovány za podrobné, zbylé z druhého souboru nejsou využity.
Oproti původnímu vstupu mohou "čísla bodů" obsahovat obecný alfanumerický řetězec.

Postup výpočtu

    Výpočet je prováděn metodou nejmenších čtverců vzhledem k nelinearitě řešeného problému iteračním postupem ([1]). Vzhledem k možné nestabilitě je inverze matice normálních rovnic je počítána pseudoinverzí založenou na SVD (Singular Value Decomposition). Přibližné hodnoty pro iteraci jsou při čtyřech a více bodech počítány z obecné afinní transformace, jak je popsáno v [2] a v [3]. V případě tří identických bodů je použita metoda Bertholda K. P. Horna popsaná podrobně v [4].

Výstupní protokol

    Obsahuje výsledky výpočtu transformačního klíče, případně přetransformované body. Prorokol lze v textovém formátu uložit stuskem tlačítka s disketou.



Literatura

[1]    Böhm, J. - Radouch, V. - Hampacher, M.: Teorie chyb a vyrovnávací počet. Geodetický a kartografický podnik Praha, 2. vydání, Praha, 1990. ISBN 80-7011-056-2.
[2]    Pavelka, K. - Štroner, M.: Lineární prostorová transformace. Geodetický a kartografický obzor. 2001, roč. 47, č. 3, s. 233-235. ISSN 0016-7096.
[3]    Štroner, M. - Pospíšil, J.: Terestrické skenovací systémy. 1. vyd. Praha: Česká technika - nakladatelství ČVUT, 2008. 187 s. ISBN 978-80-01-04141-3.
[4]    Horn, B. K. P.: Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America A, Vol. 4, page 629, April 1987.

Poznámky k instalaci

1. Program není třeba instalovat, postačí rozbalit z archivu "XYZTransV2.zip", případně "XYZTransV21.zip"  do libovolného adresáře soubory.
2. V archivu je přiložen vzorový soubor "vstup.txt", podle kterého je možné vytvářet soubor souřadnic. Číslo bodu musí být reálné číslo, nikoli textový řetězec.
3. V archivu "XYZTransV21.zip" jsou dva textové soubory obsahující vzorové soubory. 

Poznámky k používání

1. Vzhledem k charakteru výpočtu (výpočet je prováděn iteračně), nelze nikdy zaručit zdárné ukončení výpočtu, zejména pro "nesmyslné" a neodpovídající si identické body.