Struktura souborů
Program WinKart používá pro definici zobrazení,
referenčních ploch, uložení grafických dat, projektů textové soubory,
které může uživatel editovat.
Adresářovou strukturu programu
WinKart tvoří následující složky:

Složka data obsahuje vzorové projekty dodávané s programem, složka polohopis soubory s zeměpisnými souřadnicemi bodů a předpisem kresby. Jednotlivé
soubory s údaji o referenčních plochách nalezneme ve třetí složce,
definiční soubory jednotlivých zobrazení ve čtvrté složce.
-
Soubor s
definicí zobrazení *.zob
Obsahuje informace o
kartografickém zobrazení. Jeho struktura je pevná, vzhledem k
pokračujícímu vývoji programu se však v některých drobnostech může
lišit. Aby mohly být údaje v něm uživatelem upravovány, má textový
formát. Soubory jsou umístěny ve složce zobrazeni, která je při
startu programu automaticky prohledávána. Podívejme se na strukturu
tohoto souboru.
Řádek |
Položka |
1. |
Mercator Sansonovo zobrazení |
2. |
X= |
3. |
R *V*cos(u)/Ro |
5. |
Y= |
6. |
R*U/Ro |
7. |
Uk |
8. |
? |
9. |
Vk |
10. |
? |
11. |
Fi0 |
12. |
? |
13. |
U0 |
14. |
? |
15. |
U1 |
16. |
? |
17. |
U2 |
18. |
? |
19. |
so |
20. |
? |
21. |
s1 |
22. |
? |
23. |
s2 |
24. |
? |
25. |
R= |
26. |
? |
27. |
a= |
28. |
? |
29. |
b= |
30. |
? |
První řádek obsahuje název zobrazení, jako identifikátor lze použít libovolný řetězec. 2. a 4. řádek tvoří identifikátory zobrazovacích rovnic, jejich délka ani tvar nejsou omezeny. Nejčastěji budou zapsány ve tvaru x=, y=, nebo u= nebo v=.3. a 5. řádek obsahuje zobrazovací rovnice kartografického zobrazení.
Podívejme se na příklad rovnic v pravoúhlém a polárním tvaru.
X1=
R*V/Ro
y1=
R*ln(tg(U/2)+45)
Seznam matematických funkcí, které jsou programem podporovány, je uveden v samostané části věnované překladači výrazů.
Na řádcích 7 a 9 nalezneme označení zeměpisných souřadnic kartografického pólu Uk, Vk, na řádcích 8 a 10 numerické hodnoty obou souřadnic. Pokud je místo hodnot uveden znak ?, uživatel musí zadat jejich hodnoty při vytváření novégo projektu.
Uk Uk
59,71186025 ?
Vk Vk
42,52539368 ?
Na následujících řádcích jsou uvedeny zeměpisné šířky základních rovnoběžek. Řádek 11 obsahuje textový identifikátor zeměpisné šířky základní rovnoběžky na elipsoidu fi0, řádek 12 pak číselnou hodnoty šířky.
fi0
49,5
Řádky 13-18 označují identifikátory zeměpisné šířky základních rovnoběžek na kouli a jejich hodnoty, je -li zobrazení v normální poloze.
U0
?
U1
43.5666
U2
45.3452
Řádky 19-24 představují identifikátory kartograficke šířky základních rovnoběžek na kouli a jejich hodnoty, je -li zobrazení v jiné poloze než v normální.
S0
78,5
s1
?
s2
?
Pokud není na řádcích 14-24 uvedena hodnota zeměpisné nebo kartografické šířky základních rovnoběžek, budou uživatelem zadány při tvorbě nového projektu.
Řádek 25 obsahuje identifikátor poloměru koule, hodnotu poloměru nalezneme na následujícím řádku.
R= R=
6380703,6105 ?
Řádek 27 obsahuje identifikátor hlavní poloosy elipsoidu, řádek 28 hodnotu a. Řádek 29 identifikátor názvu vedlejší poloosy, řádek 30 hodnotu b.
a= a=
6377397,1550 ?
b= b=
6356078,9633 ?
-
Soubor s
definicí projektu *.prj
Struktura tohoto souboru je velmi
podobná struktuře souboru *.zob. Obsahuje, na rozdíl od něj, všechny
údaje nutné k výpočtu kartografických charakteristik bodu ve zvoleném
zobrazení. Po načtení projektu již uživatel nemůže tyto hodnoty měnit.
Řádek |
Položka |
1. |
Mercator Sansonovo zobrazení |
2. |
X= |
3. |
R *V*cos(u)/Ro |
5. |
Y= |
6. |
R*U/Ro |
7. |
Uk |
8. |
? |
9. |
Vk |
10. |
? |
11. |
Fi0 |
12. |
? |
13. |
U0 |
14. |
? |
15. |
U1 |
16. |
? |
17. |
U2 |
18. |
? |
19. |
so |
20. |
? |
21. |
s1 |
22. |
? |
23. |
s2 |
24. |
? |
25. |
R= |
26. |
? |
27. |
a= |
28. |
? |
29. |
b= |
30. |
? |
Tento soubor obsahuje spočtené
kartografické charakteristiky bodů, předpis kresby, grafické atributy,
seznam témat; z těchto údajů může být zpětně zrekonstruováno grafické
zobrazení situace. Vnitřní struktura souboru je značně složitá, jeho
velikost může u rozsáhlých souborů činit i několik MB. Soubor je v
textovém formátu, tyto údaje jsou čitelné i pro uživatele. Údaje každého
bodu jsou uloženy na samostatném řádku. Podívejme se na následující
ukázku.
1 -80 -169,999999 -80 -169,999999 14096709,689639 -13257731,8324809 0,102097802264714 9,79453008674344 0,999999996072125 156,681706281591 90 9,79453008674344 0,102097802264714 210,208152094724 1 17 p 0 "Poledniky(0)" "Poledniky(0)" 1 1 7829452 0 1 "Arial" 300000 0
2 -70 -169,999999 -70 -169,999999 14011112,5917535 -13110709,4135748 0,203348459510049 4,91766693722849 0,999999996068912 134,022852803892 89,9999987925817 4,91766693722849 0,203348459510049 210,208152094619 18 34 p 0 "Poledniky(0)" "Rovnobezky(0)" 1 1 3373021 0 1 "Arial" 300000 0
3 -60 -169,999999 -60 -169,999999 13869241,4155325 -12867030,0831263 0,302905446104728 3,30136023938941 0,999999996064659 112,592614158961 90 3,30136023938941 0,302905446104728 210,208152094597 35 51 p 0 "Poledniky(0)"
Vysvětleme si význam jednotlivých položek na první řádce souboru:
<číslo bodu> 1
Celočíselný identifikátor bodu, v rámci projektu musí být jedinečný.
<zeměpisná šířka> -80
Zeměpisná šířka bodu, hodnota typu double.
<zeměpisná délka> -169,999999
Zeměpisná délka bodu, hodnota typu double.
<kartografická šířka> -80
Kartografická šířka bodu, získána převodem u na š, v normální poloze u=š. Hodnota typu double.
<kartografická délka> -169,999999
Kartografická délka bodu, získána převodem v na d, v normální poloze v=d (v tomto případě opravena o hodnotu -dv). Hodnota typu double.
<X> 14096709,689639
Pravoúhlá souřadnice bodu x v rovině kartografického zobrazení, získána výpočtem zobrazovací rovnice.
<Y> -13257731,8324809
Pravoúhlá souřadnice bodu y v rovině kartografického zobrazení, získána výpočtem zobrazovací rovnice.
<mp> 0,102097802264714
Hodnota měřítka délek v poledníku.
<mr> 9,79453008674344
Hodnota měřítka délek v rovnoběžce.
<P> 0,999999996072125
Hodnota měřítka ploch v bodě.
<D?> 156,681706281591
Hodnota maximálního úhlového zkreslení v bodě.
<?> 90
Úhel mezi poledníkem a rovnoběžkou v bodě.
<a> 9,79453008674344
Hlavní poloosa Tissotovy elipsy zkreslení.
<b> 0,102097802264714
Vedlejší poloosa Tissotovy elipsy zkreslení.
<stočení> 210,208152094724
Úhel stočení hlavní polosy Tissotovy elipsy zkreslení k ose x.
<počáteční bod> 1
Počáteční bod polyline (z něj vychází).
<koncový bod> 17
Koncový bod polyline (v něm je ukončena).
<druh spojnice> p
Textový identifikátor typu spojnice. Může nabývat jedné z následujících hodnot.
Identifikátor |
Popis |
Identifikátor |
Popis |
p |
Poledník |
mr |
Ekvideformáty mr |
r |
Rovnoběžka |
P |
Ekvideformáty P |
b |
Bod |
om |
Ekvideformáty D? |
e |
Elipsa zkreslení |
pmp |
Popis ekvideformát mp |
l |
Loxodroma |
pmr |
Popis ekvideformát mr |
o |
Ortodroma |
pP |
Popis ekvideformát P |
mp |
Ekvideformáty mp |
pom |
Popis ekvideformát D? |
<Natočení textu od osy x> 0
Natočené textového popisku od osy X. Používá se při popisu ekvideformát.
<příslušnost k tématu> Poledniky(0)
Název tématu, ke kterému polyline přísluší. Na základě této položky jsou nastaveny její grafické atributy.
<seznam témat> Poledniky(0)
Položky obsahují seznam všech témat projektu.
<téma zapnuto> 1
Hodnota typu bool. Udává, zda je téma zapnuto či vypnuto.
<popis zapnut> 1
Hodnota typu bool. Udává, zda je v tématu zapnut či vypnut popis bodů.
<barva čáry> 7829452
Barva prvků ve zvoleném tématu, hodnota typu TColor.
<typ čáry> 0
Typ linie ve zvoleném tématu, hodnota typu TPenStyle.
<síla čáry> 1
Síla linií ve zvoleném tématu, hodnota typu int.
<font> "Arial"
Označení fontu, který bude použit pro zvolené téma, hodnota typu TFontName.
<výška písma> 8
Výška písma pro zvolené téma.
<vyplnění elipsy> 0
Nastavuje, zda budou Tissotovy elipsy zkreslení zvoleného tématu vyplněny barvou.
V souboru jsou uloženy zeměpisné
souřadnice bodů tvořících polohopis. Lze tak zobrazit jednotlivé státy,
kontinenty nebo jiná, z kartografickího hlediska zajímavá, území včetně
výpočtu jednotlivých kartografických charakteristik. Soubor je v
textovém formátu, údaje o každém bodě jsou uloženy na samostatném řádku.
Struktura je obdobná jako u výše popsaných souborů.
0 37 -9 0 373
1 38 -9,1 374 573
2 38,1 -9,5 574 618
3 40,5 -9 619 707
4 43 -9,3
5 43,5 -5
Popišme jednotlivé položky souboru.
<číslo bodu> 0
Celočíselný identifikátor bodu, v rámci souboru musí být jedinečný.
<zeměpisná šířka> 37
Zeměpisná šířka bodu, hodnota typu double.
<zeměpisná délka> -9
Zeměpisná délka bodu, hodnota typu double.
<počáteční bod> 0
Počáteční bod polyline (z něj vychází).
<koncový bod> 373
Koncový bod polyline (v něm je ukončena). Pokud se jedná o uzavřený útvar (stát), souřadnice počátečního bodu musí být totožné se souřadnicemi počátečního bodu.
Soubor je uložen ve složce Spheres. Obsahuje celkem tří řádky. Jedná se o textový soubor, jehož obsah lze editovat.
Koule 1
R=
6378000
<Identifikátor názvu koule> Koule 1
Textový identifikátor názvu koule, jeho délka ani tvar nejsou omezeny. Zobrazen v seznamu.
<Identifikátor poloměru> R
Identifikátor poloměru referenční koule.
<Poloměr koule> 6378000
Hodnota poloměru referenční koule zadaná v metrech.
Soubor je uložen ve složce Ellipsoids. Obsahuje celkem 5 řádků. Jedná se o textový soubor, jehož obsah lze editovat.
Hayforduv elipsoid
a=
6378388
b=
6356911,9461
<Identifikátor názvu elipsoidu> Hayforduv elipsoid
Textový identifikátor názvu elipsoidu, jeho délka ani tvar nejsou omezeny.
<Identifikátor hlavní poloosy> a
Identifikátor hlavní poloosy elipsoidu.
<Hlavní poloosa > 6378388
Hodnota hlavní poloosy elipsoidu zadaná v metrech.
<Identifikátor vedlejší poloosy> b
Identifikátor vedlejší poloosy elipsoidu.
<Vedlejší poloosa > 6356911,9461
Hodnota vedlejší poloosy elipsoidu zadaná v metrech.
Soubor obsahuje seznam bodů +zeměpisné šířky/délky, jejich kartografické parametry mohou být hromadně spočteny nástrojem Výpočet bodů.
123 57,6582 14,2954
124 57,8651 14.3515
<číslo bodu> 123
Celočíselný identifikátor bodu, v rámci souboru musí být jedinečný.
<zeměpisná šířka> 57,6582
Zeměpisná šířka bodu, hodnota typu double.
<zeměpisná délka> 14,2954
Zeměpisná délka bodu, hodnota typu double.