2.3 Začlenění krajů do kategorií

Stejně jako v případě produktu MapServer je možné vytvářet třídy objektů a těm přiřazovat různé symboly pro vykreslení. Stejně jako v případe MapServeru vytvoříme tři třídy podle počtu obyvatel v krajském městě (méně než 100 tis., 100 tis. – 300 tis., více než 300 tis.)

Úvod

V případě Jshape se deklarace tříd provádí v externím souboru. Vytvoříme proto soubor kraje.tmt a umístíme jej do stejného adresáře jako je soubor druhy.html.

 

Do souboru kraje.tmt napíšeme následující kód:

# ID pole
4
# Definice tříd
#
#[Description],[Expression],[ForegroundColor],
#[BackgroundColor],[SymbolSize]
<= 100000, <= 100000, null, #F4B4B4, 1
> 100000 a <= 300000, > 100000 and <= 300000, null, #F48C8C, 1
> 300000, > 300000, null, #F46464, 1

Řádky uvozené znakem # jsou komentáře. Prvním interpretovaným řádkem tedy je číslo 4. To udává pořadí atributové položky, podle které má být zatřídění provedeno. V našem případě je pole udávající počet obyvatel v krajském městě (KMOBYV) na čtvrtém místě.

Další tři řádky, které se interpretují mají stejnou strukturu, která je v kódu vysvětlena komentářem. Tyto řádky definují samotné třídy. Definici každé třídy je tedy tvořena seznamem pěti hodnot oddělených čárkami.

První hodnota je popisek, který se objeví v legendě. Druhá hodnota je definice podmínky pro zatřídění (podobně jako EXPRESSION u MapServeru). Další tři v pořadí udávají barvu čáry, barvu výplně a velikost čáry (symbolu).

Kód kraje.tmt

Definici vrstvy v souboru druhy.html musíme s vytvořeným souborem asociovat. To provedeme přidáním dvou řádků do soboru druhy.html k definici vrstvy kraje.

Část výsledného kódu bude vypadat následujícím způsobem (tučně jsou vyznačeny přidané řádky):

<!-- definice vrstvy 1 -->
<param name="layer1" value="DataSHP/vusc.shp">
<param name="info1" value="DataSHP/vusc.dbf">
<param name="title1" value="Kraje">
<param name="fcolor1" value="#808080">
<param name="bcolor1" value="#E6FFE6">
<param name="lcolor1" value="blue">
<param name="size1" value="1">
<param name="enable1" value="ON">
<param name="thematic1" value="kraje.tmt"> <!-- název souboru -->
<param name="tmenable1" value="ON"> <!-- viditelnost -->
<!-- konec definice vrstvy 1 -->

Úprava souboru druhy.html (asociace s kraje.tmt)

 

PRŮVODCE STUDIEM 24

 

V případě problémů s kopírováním (přepisováním) kódu souborů naleznete na CD v adresáři ms/jshape/ pod názvem druhy_v4.html a kraje_v1.tmt.

Zdroj na CD

 

V prohlížeči zadejte adresu: http://127.0.0.1/jshape/druhy.html

Výsledek je zobrazen na následujícím obrázku.

Testování kompozice

Obrázek 2-6: Kraje zatříděné podle počtu obyvatel v krajském městě

Kraje zatříděné podle počtu obyvatel v krajském městě

 

SAMOSTATNÝ ÚKOL 6

 

Modifikujte soubor kraje.tmt tak, aby se kraje rozdělily do tříd podle počtu komárů na osobu (<= 10000, >.10000 a <= 20000, > 20000). Počty jsou uvedeny v poli KOMARI (pořadí 5).

Třídy podle počtu komárů

 

Obrázek 2-7: Třídy podle počtu komárů

Třídy podle počtu komárů

 

ŘEŠENÍ A ODPOVĚDI, NÁVODY

 

Soubor s řešením naleznete na CD v adresáři ms/jshape/ pod názvem ukol6.tmt