TopoL Internet Server

TopoL Internet Server je produkt společnosti TopoL Software, který umožňuje snadno zveřejnit v prostředí Intranetu/Internetu geografická data v kombinaci s dpolňujícími informacemi uloženými v interních i externích databázích, s multimediálními informacemi.

TopoL Internet Server zobrazuje vektorová i rastrová data z různých datových zdrojů (TopoL blok, ArcView ShapeFile, TIFF, TopoL RAS a RAK, CIT, BMP, PCX). Kromě zobrazování dat umožňuje TopoL Internet Server také realizaci SQL dotazů nad připojenými databázemi, podporuje zobrazování atributů k vektorovým objektům, hledání vektorových objektů dle atributů, umí generovat tzv. "klikací mapy" nad vybranými vektorovými objekty, umožňuje generovat grafické měřítko ve formátu GIF, podporuje vytváření kreseb ve formátu GIF a kreslení do nich, atd. TopoL Internet Server běží pod operačním systémem MS Windows NT, 2000 jako služba nebo pod operačním systémem MS Windows 95/98, ME jako aplikace.

Pomocí TopoL Internet Serveru lze snadno zveřejnit a nabídnout širokému spektru uživatelů různá geografická data ve formě snadno ovladatelné aplikace, například:

  • místopisné údaje
  • lesnické mapy
  • údaje z katastru nemovitostí
  • údaje o památkovém fondu
  • dopravní informace
  • údaje o životním prostředí
  • mapy inženýrských sítí
  • vodohospodářské údaje, atd.

Všechna data jsou koncovému uživateli prezentována v prostředí internetového prohlížeče bez závislosti na jeho programovém vybavení - data si mohou prohlížet koncoví uživatelé s libovolným operačním systémem či internetovým prohlížečem.

Další údaje o TopoL Internet Serveru, včetně ukázkové aplikace, naleznete na adrese http://www.topol.cz/tis.

Související témata

Provoz TISu, Aplikace pro TIS

© 2000 TopoL Software s.r.o. Všechna práva vyhrazena.


Technologie zpřístupnění dat

TopoL Internet Server (TIS) je určen k publikaci geografických dat v prostředí Internetu/Intranetu. TIS zobrazuje vektorová i rastrová data z různých datových zdrojů - TopoL blok, ArcView SahepFile, TIFF, TopoL RAS a RAK, CIT, BMP, PCX a vektory uložené v databázích dle specifikace OpenGIS. Kromě zobrazování dat umožňuje TIS také realizaci SQL dotazů nad připojenými databázemi, podporuje zobrazování atributů k vektorovým objektům, hledání vektorových objektů dle atributů, umí generovat tzv. "klikací mapy" (HTML tag MAP) nad vybranými vektorovými objekty, umožňuje generovat grafické měřítko ve formátu GIF, podporuje vytváření kreseb ve formátu GIF a kreslení do nich, atd.

TIS je kompletně založen na technologii TopoL NT.

Tři úrovně implementované technologie zpřístupnění dat

Klient

Klient může používat libovolný Internetový prohlížeč (MS Internet Explorer, Netscape Comunicator, Arachne, atd.). Záleží na podpoře nástrojů použitých ve vaší aplikaci (Java Script, kaskádové styly, apod.)

Internet Server

Internet server je část, která zpracovává odeslané požadavky od klienta a na jejich základě generuje HTML stránky. Pro komunikaci s TopoL Internet Serverem lze použít libovolný Internet server (např. Apache, MS IIS, apod. - záleží na volbě technologie, kterou budou HTML stránky dynamicky generovány).

TopoL Internet Server

reaguje na požadavky zasílané Internet serverem. TIS lze volat pomocí socketu na zvoleném portu (například v jazyce PHP) nebo pomocí COM objektu AspTisX.AspTisObj (například v jazyce ASP).

Komunikace s TISem...

TIS, který je kompletně založen na technologii TopoL NT, pracuje pod OS Windows NT, 2000 jako služba (service) nebo pod OS Windows 9x, ME jako aplikace běžící na pozadí.

Data, která mají být zveřejněna, musí být popsána v tématu obsahující popis zobrazovaných vrstev (vektorová a rastrová data). Téma je definováno pomocí XML souboru. TIS umožňuje současně zobrazovat libovolný počet témat (počet je omezen pouze výkonem operačního systému a počítače na kterém TIS běží). Po spuštění TISu jsou všechna data popsaná v tématech načtena do rychlé paměťové cache, takže reakce serveru je dostatečně rychlá - jednotlivé požadavky jsou řešeny nezávisle na ostatních (jsou spuštěny v separátních thredech).

Popis tématu....

Schematické znázornění použité technologie

© 2000 TopoL Software s.r.o. Všechna práva vyhrazena.


Provoz TISu

Operační systémy

Topol Internet Server pracuje pod operačními systémy Microsoft Windows 95/98, ME jako skrytá aplikace bežící na pozadí, nebo pod operačními systémy Microsoft Windows NT 4.0, 2000 jako služba (service).

Další nutné softwarové vybavení
  • Microsoft Internet Explorer 5.0, případně alespoň XML Parser z této verze Exploreru
  • Microsoft Data Access Components (MDAC) 2.1
  • Komponenty TopoL NT
Hardware

Hardware pro provoz TISu je závislé na použitém operačním systému, nejméně se však doporučuje Pentium II, 64MB RAM.

Ostatní podmínky
  • TIS ke své činnosti potřebuje hardlock s nainstalovanými příslušnými ovladači.
  • V adresáři, kde je TIS nainstalován, musí být umístěn soubor TLINTSVR.INI, kde jsou, mimo jiné, popsány konfigurační údaje TISu.
  • Pokud probíhá komunikace s TISem přes sockety, musí být k dispozici volný port, přes který komunikace probíhá. Číslo portu se nastavuje v souboru TLINTSVR.INI, v sekci [TLIntSvr].
Související témata

Popis souboru TLINTSVR.INI, Technologie zpřístupnění dat, Komunikace s TISem


Popis souboru TLINTSVR.INI

V souboru TLINTSVR.INI jsou popsány základní konfigurační údaje TISu. Tento soubor musí být umístěn ve stejném adresáři jako soubor TLINTSVR.EXE.

Celý soubor se dělí na sekce:

  • Sekce [Themas] - seznam témat
  • Sekce [Directories] - seznam adresářů
  • Sekce [TLIntSvr] - seznam parametrů
  • Sekce [SubstPaths] - seznam substitucí adresářů
  • Sekce [WriteStatus] - obsahuje pouze interní údaje TISu

Související témata

Sekce [Themas], Sekce [Directories], Sekce [TLIntSvr], Sekce [SubstPaths]


Sekce [Themas]

V této sekci musí být uvedena všechna témata, se kterými TIS pracuje. Všechna zde uvedená témata se při startu TISu načtou do paměti (paměťové chache) a pro každé téma se vytvoří thread, který odpovídá na požadavky týkající se tohoto tématu.

Parametry
Count | povinný | počet témat uvedených jako další paramtery v ini souboru
"jmeno_tematu" | nepovinný | cesta k XML souboru s tématem. Cesta může být zadána jako absolutní nebo relativní vzhledem k adresáři ze kterého je TIS spouštěn. (Nejčastěji jde o adresář, kde je TIS umístěn.) Jména témat (zde nahrazeno symbolickým "jmeno_tematu") se používájí při zadávání požadavků TISu.
Příklad

[Themas]
Count=2
Mesta=Proj2.xml
Pamatky=../Proj3.xml

[Directories]
Out=c:\temp\

[TLIntSvr]
DeleteXmlAfter=600
DeleteRasAfter=30
DeleteHtmAfter=30
Port=5350
SockTimeout=1000

[SubstPaths]
CntSubst=3
DB1=c:\datadb\
RAS=c:\data\rastry\
STYLY=c:\data\styly\

Související témata

Popis souboru TLINTSVR.INI, Sekce [Directories], Sekce [TLIntSvr], Sekce [SubstPaths]


Sekce [Directories]

Ve verzi 1.0 je zde pouze jediný povinný parametr - Out. Určuje adresář, kam se budou ukládat soubory GIF, JPG, XML a HTML generovaná TISem na základě požadavků aplikace. (viz. Zadávání požadavků).

Parametry
Out povinný Absolutní cesta, kam bude TIS ukládat soubory generované na základě požadavků.
Příklad

[Themas]
Count=2
Mesta=Proj2.xml
Pamatky=../Proj3.xml

[Directories]
Out=c:\temp\

[TLIntSvr]
DeleteXmlAfter=600
DeleteRasAfter=30
DeleteHtmAfter=30
Port=5350
SockTimeout=1000

[SubstPaths]
CntSubst=3
DB1=c:\datadb\
RAS=c:\data\rastry\
STYLY=c:\data\styly\

Související témata

Popis souboru TLINTSVR.INI, Sekce [Themas], Sekce [TLIntSvr], Sekce [SubstPaths]


Sekce [TLIntSvr]

V této sekci se uvádějí konfigurační parametry pro TIS.

Parametry
DeleteXmlAfter | povinný | čas (ve vteřinách) po kterém budou zrušeny TISem generované soubory *.XML
DeleteRasAfter | povinný | čas (ve vteřinách) po kterém budou zrušeny TISem generované soubory *.GIF a *.JPG
DeleteHtmAfter | povinný | čas (ve vteřinách) po kterém budou zrušeny TISem generované soubory *.HTML
Port | nepovinný | číslo portu socketu, přes který bude TIS komunikovat. Pokud není zadáno, použije se implicitní hodnota 5001.
SockTimeOut | nepovinný | Čas v milisekundách, po který bude TIS čekat na příkazový řetězec od navázáním komunikace (otevření socketu). Pokud není zadáno, použije se implicitní hodnota 500.
Příklad

[Themas]
Count=2
Mesta=Proj2.xml
Pamatky=../Proj3.xml

[Directories]
Out=c:\temp\

[TLIntSvr]
DeleteXmlAfter=600
DeleteRasAfter=30
DeleteHtmAfter=30
Port=5350
SockTimeout=1000

 [SubstPaths]
CntSubst=3
DB1=c:\datadb\
RAS=c:\data\rastry\
STYLY=c:\data\styly\

Související témata

Popis souboru TLINTSVR.INI, Sekce [Themas], Sekce [Directories], Sekce [SubstPaths]


Sekce [SubstPaths]

V sekci [SubstPaths] jsou uvedeny symbolická jména substitucí cest k souborům a jejich hodnoty. Povinný parametr CntSubst určuje počet substitucí v této sekci. Další parametry definují symbolické jméno substituce a část cesty, která bude tímto jménem zastoupena při čtení témat. Podrobnosti jsou v kapitole Substituce adresářů.

Parametry
CntSubst | povinný | počet substitucí uvedených jako další paramtery v ini souboru
"jmeno_substituce" | nepovinný | část cesty, která bude zastoupna substitucí. Jména substitucí (zde nahrazeno symbolickým "jmeno_substituce") se použijí při čtení témat. Podrobnosti jsou v kapitole Substituce adresářů.
Příklad

[Themas]
Count=2
Mesta=Proj2.xml
Pamatky=../Proj3.xml

[Directories]
Out=c:\temp\

[TLIntSvr]
DeleteXmlAfter=600
DeleteRasAfter=30
DeleteHtmAfter=30
Port=5350
SockTimeout=1000

[SubstPaths]
CntSubst=3
DB1=c:\datadb\
RAS=c:\data\rastry\
STYLY=c:\data\styly\

Související témata

Popis souboru TLINTSVR.INI, Sekce [Themas], Sekce [Directories], Sekce [TLIntSvr], Substituce adresářů


Příprava aplikace

Vytvoření aplikace spolupracující s TISem se skládá ze dvou základních částí:

Příprava tématu

Téma tvoří data (vektorová i rastrová) a způsob jejich prezentace. Téma je popsáno stromovou strukturou ve formátu XML a dělí se na subtémata. Subtéma určuje jeden konkrétní pohled na téma, tj. které druhy objektů z tématu a jakým způsobem budou prezentovány.

Tvorba dynamických stránek

Druhou částí tvorby aplikace pro TIS je tvorba dynamických HTML stránek, které budou prezentovány na straně klienta. Stránky můžou pro volání TISu používat například skriptovací jazyk PHP, ISAPI, apod.

Související témata

Popis tématu, Komunikace s TISem


Substituce adresářů

Pro snadnou přenositelnost aplikací je při zadávání cest k&souborům v TISu umožněno používat substituci adresářů. Seznam všech symbolických jmen a příslušných adresářů musí být uveden v souboru TLINTSVR.INI v sekci [SubstPaths].

V popisu tématu lze pak nahradit část cesty k souborům tímto symbolickým jménem. Symbolické jméno musí být od zbytku cesty odděleno znakem | (ASCII 124).

Příklad

<Raster UserID="Mapa">|data|MAPA.RAS</Raster>


Popis tématu

Téma je popis dat, které tvoří jeden logický celek, ve formátu XML. Pro jednu aplikaci se zpravidla používá jedno téma, není to ale podmínkou. Definice téma je popsána v XML schématu prjsch.xml, které je součástí instalace TISu. Hodnoty všech atributů musí být uzavřeny závorkami (" - ASCII 34). V názvech atributů i uzlů se rozlišují velká a malá písmena.

Každý uzel v tématu má nepovinný atribut UserID, kde lze zadat uživatelský popis uzlu. Atribut UserID není v popisu uzlů dále uváděn.

V záhlaví celého tématu by měl být uveden speciální uzel <?xml ?>, který definuje vlastnosti XML souboru - tématu. Tento uzel musí být uveden vždy, když se v tématu (například v atributech UserID) používají znaky s diakritikou.

Kořenový uzel celého tématu tvoří povinný uzel <Project>.

Související témata

uzel <?xml ?>, uzel <Project>


Uzel <?xml?>

definuje vlastnosti XML souboru - tématu.

Nepovinný

V případě, že jsou v tématu použity znaky s diakritikou, je tento uzel povinný a v atributu encoding je nutné uvést správnou kódovou stránku.

Hodnota

Není definována.

Atributy
Jméno | Povinný | Popis
version | ano | verze XML v kterém je soubor napsán
encoding | ano | použitá kódová stránka. Uvádí se jako jméno znakové sady souboru dle definice IANA - Internet Assigned Numbers Authority. Nejčasněji se používá US-ASCII (neobsahuje žádné české znaky) a ISO−8859−x, kde x je číslo 1 až 9. Pro české znakové sady se nejčasněji používá ISO−8859−2 (doporučené - toto kódování by měly podporovat všechny XML parsery a Internetové prohlížeče) nebo windows−1250.
Subuzly

Nejsou definovány.

Nadřízený uzel

Není definován.

Příklad

<?xml version="1.0" encoding="iso−8859−2" ?>

Související témata

schéma tématu, ukázkové téma, Popis tématu


Uzel <Project>

tvoří kořenový uzel celého tématu.

Povinný

Tento uzel je povinný.

Hodnota

Není definována.

Atributy
Jméno | Povinný | Popis
xmlns | ano | určuje schéma XML souboru - tématu. Má hodnotu x-schema:schema, kde schema je relativní nebo absolutní cesta k souboru se schématem. V cestě nelze použít substituci adresářů.
Subuzly
Jméno | Povinný | Popis
<DataList> | ano | seznam datových zdrojů tématu
<TransformList> | ano | seznam transformačních objektů tématu
<ClickMapList> | ne | seznam definic klikacích map
<ViewList> | ano | seznam subtémat - pohledů na data
<HighLights> | ne | seznam definic pro zvýraznění výběrů vektorových objektů
Nadřízený uzel

Není definován.

Příklad

<Project xmlns="x-schema:../schemas/prjschema.xml" UserID="Ukázkový projekt">
<DataList>
..
</DataList>
<TransformList>
..
</TransformList>
<ClickMapList>
..
</ClickMapList>
<ViewList>
..
</ViewList>
<HighLights>
..
</HighLights>
</Project>

Související témata

schéma tématu, ukázkové téma, Popis tématu


Uzel <DataList>

Tento uzel popisuje datové objekty v tématu, tj.data které chcete prezentovat. DataList obsahuje další poduzly, které popisují databáze (vektorová data), rastry, gridy, mapové listy, externí databáze, relace a operace, apod. Každý z těchto uzlů může být v DataListu v libovolném počtu. Na datové objekty popsané v tomto uzlu se odkazuje v uzlu <ViewEntry> a z dynamických HTML stránek při konkrétním požadavku na TIS.

Povinný

Tento uzel je povinný.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<Raster> | ne | rastr
<Database> | ne | primární databáze s geometrií (např. TopoL blok)
<ExtDatabase> | ne | připojené externí databáze
<Relations> | ne | definice vztahů mezi tabulkami v primárních a externích databázích
<Operations> | ne | definice operací, které vytvářejí nové databázové tabulky s geometrií
<Grid> | ne | definice zobrazení obdélníkové mřížky
<MapSheet> | ne | definice zobrazení mapových listů
Nadřízený uzel

<Project>

Příklad

<DataList UserID="Data v ukázkovém projektu">
<Raster>
..
</Raster>
<Database>
..
</Database>
<ExtDatabase>
..
</ExtDatabase>
<Relations>
..
</Relations>
<Operations>
..
</Operations>
<Grid>
..
</Grid>
<MapSheet>
..
</MapSheet>
</Project>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Project>


Uzel <Raster>

Pomocí tohoto uzlu lze přidat do tématu rastrový obraz v souboru ve formátu TopoL RAS, RAK, TIFF, BMP, CIT nebo PCX. Hodnota uzlu definuje cestu k souboru s rastrem včetně koncovky. V cestě lze použít substituci adresářů.

Nepovinný

Tento uzel je nepovinný.

Hodnota

definuje cestu k souboru s rastrem včetně koncovky. V cestě lze použít substituci adresářů.

Atributy

Nejsou definovány.

Subuzly

Nejsou definovány.

Nadřízený uzel

<DataList>

Příklad

<Raster UserID="Město 1">|data|mesto1.ras</Raster>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <Database>

Tento uzel definuje vektorová data v tématu. Hodnota uzlu je text, ve kterém je uveden connection string na databázi (dle typu databáze, viz. definice MDAC). V části connection stringu, kde je uvedena cesta k databázi, lze použít substituci adresářů. Uzel musí obsahovat alespoň jeden subuzel <Table> se jménem databázové tabulky. Tato tabulka musí obsahovat geometrii a je při startu TISu načtena do cache (případně jsou načteny jen některé sloupce tabulky). Tabulka má v cache jméno typu Database.Table, pomocí kterého se na ní dále odkazujeme při zadávání požadavků TISu.

Nepovinný

Tento uzel je nepovinný.

Hodnota

connection string na databázi (dle typu databáze, viz. definice MDAC). V části connection stringu, kde je uvedena cesta k databázi, lze použít substituci adresářů. Typický connection string pro TopoL blok vypadá takto: Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\data\blok.blk

Atributy
Jméno | Povinný | Popis
OgisProv | ano | jméno OpenGis provideru pro vektorová data. Pro TopoL blok je to TLTopol.Dso, pro ArcView ShapeFile je to TLShp.Dso.
InCache | ano | jméno databáze v cache. Pro celé téma musí být toto jméno unikátní.
Subuzly
Jméno | Povinný | Popis
<Table> | ano | tento poduzel musí být v uzlu <Database> uveden alespoň jeden. Definuje tabulku v databázi.
Nadřízený uzel

<DataList>

Příklad

<Database OgisProv="TLTopol.Dso" InCache="Mesta" UserID="Města v ČR">
Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\data\mesta.blk
<Table>
..
</Table>
</Database>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <Table>

Hodnota uzlu je jméno databázové tabulky v databázi (nadřízený uzel <Database>). Jméno databázové tabulky je u TopoL bloků odvozeno od čísla druhu a typu geometrie, u ostatních databází mají tabulky jména taková, jaká jsou v databázi.

Povinný

Tento uzel musí být uveden v nadřízeném uzlu <Database> uveden minimálně jeden.

Hodnota

jméno databázové tabulky - u TopoL bloků je odvozeno od čísla druhu a typu geometrie (například body druhu 9 mají jméno B0009), u ostatních databází mají tabulky jména taková, jaká jsou v databázi.

Atributy
Jméno | Povinný | Popis
CacheCols | ne | seznam sloupců z tabulky, které se spolu s geometrií načtou do cache. Není-li tento atribut zadán, ulożí se do cache všechny sloupce.
Subuzly

Nejsou definovány.

Nadřízený uzel

<Database>

Příklad

<Database OgisProv="TLTopol.Dso" InCache="Mesta" UserID="Města v ČR">
Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\data\mesta.blk
<Table CacheCols="MESTO, PSC" UserID="Plochy měst">P0009</Table>
<Table UserID="Hranice měst">L0008</Table>
</Databaser>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Database>


Uzel <ExtDatabase>

V tomto uzlu se definují externí databáze v tématu. Za externí databáze považujeme takové, u kterých tabulky v nich mají vztah k tabulkám (tzv. primárním) uvedených v uzlu <Database>. Externí databáze mohou být libovolného typu (například DBF, MDB, SQLServer, atd. - tedy všechny tabulky z MDAC). Hodnota uzlu je text, ve kterém je uveden connection string na databázi (dle typu databáze, viz. definice MDAC). V části connection stringu, kde je uvedena cesta k databázi, lze použít substituci adresářů. Uzel <ExtDatabase> může obsahovat poduzly <Table>, ve kterých jsou uvedeny jména tabulek v externí databázi. Tyto poduzly jsou nepovinné, TIS je nepoužívá, ale mohou se hodit aplikaci při tvorbě dynamických HTML stránek.

Definice externích databází umožňuje klást kombinované dotazy na primární i externí tabulky, hledat geometrii v primárních tabulkách na základě hodnot atributů v externích tabulkách.

Nepovinný

Tento uzel je nepovinný.

Hodnota

connection string na externí databázi (dle typu databáze, viz. definice MDAC). V části connection stringu, kde je uvedena cesta k databázi, lze použít substituci adresářů.

Atributy
Jméno | Povinný | Popis
ExtName | ano | jméno externí databáze. Toto jméno bude použito při zadávání dotazů do externí databáze. Musí být v rámci tématu unikátní.
Subuzly
Jméno | Povinný | Popis
<Table> | ne | jméno tabulky v externí databázi. TIS tento subuzel nepoužívá.
Nadřízený uzel

<DataList>

Příklad

<ExtDatabase ExtName="ExtMesta" UserID="Externí databáze měst">
Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\extdata
<Table UserID="Externí DB města">Mesta2</Table>
</ExtDatabase>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <Relations>

obsahuje definici vazeb mezi tabulkami v primárních a externích databázích. Pomocí jedné relace (subuzel <Relation>) lze provést propojení (JOIN) mezi primární a externí tabulkou. Každá relace musí mít definovanou primární tabulku (subuzel <PrimTable>) a v ní spojovací sloupec (sloupce) a externí tabulku (subuzel <SecTable>) se spojovacím sloupcem (sloupci). Počty spojovacích sloupců musí být stejné v obou tabulkách. První sloupec z primární odpovídá prvnímu sloupci z externí, atd.

Poznámka:
Současná implementace povoluje pouze jeden spojovací klíč pro každou relaci, tj. pouze jeden relační sloupce z primární tabulky a pouze jeden sloupec ze sekundární tabulky.

Nepovinný

Tento uzel je nepovinný.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<Relation> | ano | definice jedné relace. Uzel <Relations> musí obsahovat alespoň jeden tento subuzel.
Nadřízený uzel

<DataList>

Příklad

Definuje jednu relaci (vazbu) mezi primární tabulkou Mesta.P0009 a sekundární tabulkou ExtMesta.Mesta2. V primární tabulce je spojovacím klíčem sloupec CISLO a v sekundární tabulce je spojovací sloupec ID.

<Relations>
<Relation RelName="Prvni">
<PrimTable>
Mesta.P0009
<Column>CISLO</Column>
</PrimTable>
<SecTable>
ExtMesta.Mesta2
<Column>ID</Column>
</SecTable>
</Relations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <Relation>

Definuje jednu relaci (vazbu) mezi tabulkami v primární a externí databázi. Musí obsahovat právě jeden subuzel <PrimTable> s definicí relačních sloupců z tabulky z primární databáze a právě jeden subuzel <SecTable> s definicí relačních sloupců z tabulky z externí databáze.

Povinný

Tento uzel je povinný.

Hodnota

Není definována.

Atributy
Jméno | Povinný | Popis
RelName | ano | jméno relace. Toto jméno bude použito při zadávání požadavků pro TIS. Jméno relace musí být v rámci tématu unikátní.
Subuzly
Jméno | Povinný | Popis
<PrimTable> | ano | definice primární tabulky a relačních sloupců
<SecTable> | ano | definice sekundární tabulky a relačních sloupců
Nadřízený uzel

<Relations>

Příklad

Definuje jednu relaci (vazbu) mezi primární tabulkou Mesta.P0009 a sekundární tabulkou ExtMesta.Mesta2. V primární tabulce je spojovacím klíčem sloupec CISLO a v sekundární tabulce je spojovací sloupec ID.

<Relations>
<Relation RelName="Prvni">
<PrimTable>
Mesta.P0009
<Column>CISLO</Column>
</PrimTable>
<SecTable>
ExtMesta.Mesta2
<Column>ID</Column>
</SecTable>
</Relations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Relations>


Uzel <PrimTable>

Obsahuje definici relačních sloupců v primární tabulce v rámci relace (nadřízený uzel <Relation>). Hodnota tohoto uzlu je jméno databázové tabulky ve formátu Database.Table. Musí obsahovat subuzel <Column> s definicí relačního sloupce.

Povinný

Tento uzel je povinný.

Hodnota

jméno databázové tabulky ve formátu Database.Table. Například Mesta.P0009. (viz. definice uzlu <Database> a jeho subuzlu <Table>).

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<Column> | ano | definice jednoho relačního sloupce v primární tabulce
Nadřízený uzel

<Relation>

Příklad

Definuje jednu relaci (vazbu) mezi primární tabulkou Mesta.P0009 a sekundární tabulkou ExtMesta.Mesta2. V primární tabulce je spojovacím klíčem sloupec CISLO a v sekundární tabulce je spojovací sloupec ID.

<Relations>
<Relation RelName="Prvni">
<PrimTable>
Mesta.P0009
<Column>CISLO</Column>
</PrimTable>
<SecTable>
ExtMesta.Mesta2
<Column>ID</Column>
</SecTable>
</Relations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Relation>


Uzel <Column>

Hodnota tohoto uzlu je jméno relačního sloupce v primární nebo sekundární tabulce (záleží na tom, v jakém nadřízeném uzlu je tento uzel uveden - uzel <PrimTable> nebo uzel <SecTable>).

Povinný

Tento uzel je povinný.

Hodnota

jméno relačního sloupce

Atributy

Nejsou definovány.

Subuzly

Nejsou definovány.

Nadřízený uzel

<PrimTable> nebo <SecTable>

Příklad

Definuje jednu relaci (vazbu) mezi primární tabulkou Mesta.P0009 a sekundární tabulkou ExtMesta.Mesta2. V primární tabulce je spojovacím klíčem sloupec CISLO a v sekundární tabulce je spojovací sloupec ID.

<Relations>
<Relation RelName="Prvni">
<PrimTable>
Mesta.P0009
<Column>CISLO</Column>
</PrimTable>
<SecTable>
ExtMesta.Mesta2
<Column>ID</Column>
</SecTable>
</Relations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <PrimTable> Uzel <SecTable>


Uzel <SecTable>

Obsahuje definici relačních sloupců v sekundární tabulce v rámci relace (nadřízený uzel <Relation>). Hodnota tohoto uzlu je jméno databázové tabulky ve formátu Database.Table. Musí obsahovat subuzel <Column> s definicí relačního sloupce.

Povinný

Tento uzel je povinný.

Hodnota

jméno databázové tabulky ve formátu Database.Table. Například ExtMesta.Mesta2. (viz. definice uzlu <ExtDatabase>).

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<Column> | ano | definice jednoho relačního sloupce v sekundární tabulce
Nadřízený uzel

<Relation>

Příklad

Definuje jednu relaci (vazbu) mezi primární tabulkou Mesta.P0009 a sekundární tabulkou ExtMesta.Mesta2. V primární tabulce je spojovacím klíčem sloupec CISLO a v sekundární tabulce je spojovací sloupec ID.

<Relations>
<Relation RelName="Prvni">
<PrimTable>
Mesta.P0009
<Column>CISLO</Column>
</PrimTable>
<SecTable>
ExtMesta.Mesta2
<Column>ID</Column>
</SecTable>
</Relations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Relation>


Uzel <Operations>

Pomocí uzlu <Operations> se vytváří nové tabulky (s novou geometrií) z tabulek uložených v cache (viz. definice uzlu <Database>). Nová tabulka je umístěna do cache pod zadaným jménem a je dále užívána jako ostatní tabulky z uzlů <Database>. Vytváření tabulky je popsáno pomocí uzlu <CreateTable> a v něm příkazem SELECT s vypočítávaným sloupcem geometrie. Příkaz SELECT je hodnotou tohoto uzlu. To, jak se nová geometrie vypočítává, je dáno jménem sloupce začínající na znak "#" (ASCII 35). Do příkazu SELECT lze zadat i další sloupce, které se zkopírují do výstupní tabulky.

Nepovinný

Tento uzel je nepovinný.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<CreateTable> | ano | definice nové tabulky s geometrií. Uzel <Operations> musí obsahovat alespoň jeden tento subuzel.
Nadřízený uzel

<DataList>

Příklad

Z tabulky ploch Mesta.P0009 se použijí sloupce CISLO, MESTO, _COLOR, _SYMBOL pro vytvoření centroid těchto ploch. Nová tabulka bude v cache uložena pod jménem Label.B0009.

<Operations>
<CreateTable>
SELECT CISLO,MESTO,_COLOR,_SYMBOL,#Label FROM Mesta.L0009 INTO Label.B0009
</CreateTable>
</Operations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>, Speciální databázové položky


Uzel <CreateTable>

Uzel <CreateTable> definuje vytvoření nové tabulky (s novou geometrií) z tabulek uložených v cache (viz. definice uzlu <Database>). Nová tabulka je umístěna do cache pod zadaným jménem a je dále užívána jako ostatní tabulky z uzlů <Database>. Vytváření tabulky je popsáno příkazu SELECT s vypočítávaným sloupcem geometrie. Příkaz SELECT je hodnotou tohoto uzlu. To, jak se nová geometrie vypočítává, je dáno jménem sloupce začínající na znak "#" (ASCII 35). Do příkazu SELECT lze zadat i další sloupce, které se zkopírují do výstupní tabulky.

Povinný

Tento uzel je povinný. Nadřízený uzel <Operations> musí obsahovat alespoň jeden tento subuzel.

Hodnota

SQL příkaz definující vznik nové tabulky s geometrií.

Atributy
Jméno | Povinný | Popis
p1 | ne | jméno sloupce s geometrií. Pokud není zadán, použije se "OGIS_GEOMETRY" (standardní hodnota pro většinu dat).
p2 | ne | ve verzi 1.0 není využíván
Subuzly

Nesjou definovány

Funkce pro tvorbu nových tabulek s geometrií
Funkce | Popis
#Label | vypočítává centroidy ploch, vstup - tabulka s plochami, výstup - tabulka s body. Tato funkce je vhodná pro vytváření popisů k plochám tak, aby popisy ležely v těžištích ploch.
Nadřízený uzel

<Operations>

Příklad

Z tabulky ploch Mesta.P0009 se použijí sloupce CISLO, MESTO, _COLOR, _SYMBOL pro vytvoření centroid těchto ploch. Nová tabulka bude v cache uložena pod jménem Label.B0009.

<Operations>
<CreateTable>
SELECT CISLO,MESTO,_COLOR,_SYMBOL,#Label FROM Mesta.L0009 INTO Label.B0009
</CreateTable>
</Operations>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Opeartions>, Speciální databázové položky


Uzel <Grid>

Uzel <Gridr>

definuje pravidelnou obdélníkovou mřížku se zadaným počátkem a rozestupy ve vertikálním a horizontálním směru ve světových souřadnicích. Hodnota tohoto uzlu je jméno gridu, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Nepovinný

Tento uzel je nepovinný.

Hodnota

Jméno gridu, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Atributy
Jméno | Povinný | Popis
VOrigin | ano | vertikální souřadnice počátku gridu ve světových souřadnicích
HOrigin | ano | horizontální souřadnice počátku gridu ve světových souřadnicích
VDist | ano | vertikální rozestup gridu ve světových souřadnicích
HDist | ano | horizontální rozestup gridu ve světových souřadnicích
Subuzly

Nejsou definovány.

Nadřízený uzel

<DataList>

Příklad

<Grid VOrigin="0" HOrigin="0" VDist="1000" HDist="1000">GRID2500</Grid>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <MapSheet>

definuje klad mapových listů. Hodnota tohoto uzlu je jméno, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Nepovinný

Tento uzel je nepovinný.

Hodnota

Jméno uzlu, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Atributy
Jméno | Povinný | Popis
SheetType | ano | druh mapových listů
ScaleNumber | ano | měřítko mapových listů nebo subtyp mapových listů

Poznámka: pro různé typy mapových listů jsou povoleny různá měřítka. Kombinaci povolených hodnot ukazuje následující seznam.

Povolené kombinace hodnot atributů uzlu <MapSheet>
SheetType | ScaleNumber | Popis
BaseMap | 10000 25000 50000 100000 | klad listů základní mapy ČR/SR
JTSK | 500 1000 2000 5000 50000 | klad listů SMO
Cadastral | G S H | klad listů katastrálních map (G - Gusterberg, S - Sv. Štěpán, H - Gellerthegy)
Gauss | 10000 25000 50000 100000 1000000 | klad listů Gauss-Krüger
LHP | 10000 | klad listů lesnických map (Synkův)
OPRL | 25000 | klad listů lesnických map (Synkův)
Subuzly

Nejsou definovány.

Nadřízený uzel

<DataList>

Příklad

<MapSheet SheetType="JTSK" ScaleNumber="5000">JTSK5000</MapSheet>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <DataList>


Uzel <TransformList>

obsahuje seznam objektů typu ColorTransfer a SymbolTransfer, které určují jak se bude získávat barva pro kreslení vektorových objektů a jak se budou kreslit symboly a texty. Na tyto objektu se odkazuje v uzlu <ViewEntry>.

Povinný

Tento uzel je povinný.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<ColorTransfer> | ano | definice objektu pro získávání barev vektorových objektů
<SymbolTransfer> | ano | definice objektu pro získávání značek vektorových objektů
Nadřízený uzel

<Project>

Příklad

<TransformList>
<ColorTransfer TypTrf="TopoL" UserID="Barvy pro TopoL blok">
COLORTRF1
</ColorTransfer>
<SymbolTransfer TypTrf="Std" SymFiles="c:\data\symlib.tls" UserID="Symboly">
SYMTRF1
</SymbolTransfer>
<SymbolTransfer TypTrf="Text" SymFiles="c:\data\txtlib.tts" UserID="Texty">
SYMTRF1
</SymbolTransfer>
</TransformList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Project>


Uzel <ColorTransfer>

Definuje objekt typu ColorTransfer, pomocí kterého se získávají barvy pro kreslení vektorů. Hodnota uzlu je jméno color transferu, který bud použit při definici pohledů na data uzel <ViewEntry>). Toto jméno musí být v rámci tématu jedinečné.

Povinný

Tento uzel je povinný.

Hodnota

Jméno color transferu, který bud použit při definici pohledů na data uzel <ViewEntry>). Toto jméno musí být v rámci tématu jedinečné.

Atributy
Jméno | Povinný | Popis
TypTrf | ano | definuje typ color transferu, tj. jakým způsobem budou přiřazeny identifikátory barev vektorových dat do RGB. Jsou definovány následující typy : Topol, Table, Range, TableByName, RangeByName.

Poznámka: ve verzi 1.0 je implementován pouze typ TopoL.

Subuzly

Nejsou definovány.

Nadřízený uzel

<TransformList>

Příklad

<TransformList>
<ColorTransfer TypTrf="TopoL" UserID="Barvy pro TopoL blok">
COLORTRF1
</ColorTransfer>
<SymbolTransfer TypTrf="Std" SymFiles="c:\data\symlib.tls" UserID="Symboly">
SYMTRF1
</SymbolTransfer>
<SymbolTransfer TypTrf="Text" SymFiles="c:\data\txtlib.tts" UserID="Texty">
SYMTRF1
</SymbolTransfer>
</TransformList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <TransformList>


Uzel <SymbolTransfer>

Definuje objekt typu SymbolTransfer, pomocí kterého se získávají symboly pro kreslení vektorů. Hodnota uzlu je jméno symbol transferu, který bud použit při definici pohledů na data uzel <ViewEntry>). Toto jméno musí být v rámci tématu jedinečné.

Povinný

Tento uzel je povinný.

Hodnota

Jméno symbol transferu, který bud použit při definici pohledů na data uzel <ViewEntry>). Toto jméno musí být v rámci tématu jedinečné.

Atributy
Jméno | Povinný | Popis
TypTrf | ano | definuje typ symbol transferu, tj. jakým způsobem budou přiřazeny identifikátory symbolů a textů vektorových dat ke konkrétním symbolům. Jsou definovány následující typy : Std, Table, Text, Range, TableByName, RangeByName.
SymFiles | ne | cesta(y) ke knihovně (knihovnám) uživatelských značek. Knihovna(y) musí být ve formátu TLS. V cestě lze použít substituci adresářů.
StyleFile | ne | cesta ke knihovně stylů textu. Knihovna musí být ve formátu TTS. V cestě lze použít substituci adresářů.

Poznámka: ve verzi 1.0 je implementován pouze typ Std, který se použije pro značky TopoLu a Text pro kreslení textů pomocí TrueType fontů.

Subuzly

Nejsou definovány.

Nadřízený uzel

<TransformList>

Příklad

<TransformList>
<ColorTransfer TypTrf="TopoL" UserID="Barvy pro TopoL blok">
COLORTRF1
</ColorTransfer>
<SymbolTransfer TypTrf="Std" SymFiles="c:\data\symlib.tls" UserID="Symboly">
SYMTRF1
</SymbolTransfer>
<SymbolTransfer TypTrf="Text" SymFiles="c:\data\txtlib.tts" UserID="Texty">
SYMTRF1
</SymbolTransfer>
</TransformList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <TransformList>


Uzel <ClickMapList>

definuje seznam klikacích map, které jsou automaticky generovány pro HTML stránky. Klikací mapy lze generovat pouze z tabulek, které mají geometrii typu polygon (plocha) nebo bod. Klikací mapa se generuje ze zadaného výřezu a uloží se jako HTML soubor s elementem <MAP NAME="jmeno_mapy"> ....</MAP>. Zároveň s mapou se ukládá XML soubor, který obsahuje databázové informace k jednotlivým oblastem klikací mapy. Klikací mapa a XML soubor jsou propojeny přes společný databázový klíč (atribut PKey). Tato vazba umožňuje najít k položce v klikací mapě konkrétní databázový záznam. Informace k výběrům z externích databází a další podrobnosti jsou uvedeny v kapitole Zadávání požadavků.

Nepovinný

Tento uzel je nepovinný.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly
Jméno | Povinný | Popis
<ClickMap> | ano | definice jedné klikacé mapy. Uzel <ClickMap> musí obsahovat alespoň jeden tento subuzel.
Nadřízený uzel

<Project>

Příklad

<ClickMapList>
<ClickMap ClickTab="Mesta.P0009" PKey="CISLO" AltKey="mesto" GenA="20" GenC="0.3">
MAPA_PRO_PLOCHY
</ClickMap>
<ClickMap ClickTab="Mesta.B0009" PKey="CISLO" AltKey="centrum" Radius="500">
MAPA_PRO_BODY
</ClickMap>
</ClickMapList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Project>


Uzel <ClickMap>

definuje jednu klikací mapu. Hodnota tohoto uzlu je jméno klikací mapy, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Povinný

Uzel <ClickMapList> musí obsahovat alespoň jeden subuzel <ClickMap>.

Hodnota

je jméno klikací mapy, které se použije při zadávání pohledů na data (uzel <ViewEntry>). Toto jméno musí být v rámci tématu unikátní.

Atributy
Jméno | Povinný | Popis
ClickTab | ano | jméno tabulky z cache, ze které bude použita geometrie pro generování klikací mapy. Jméno je ve formátu Databáze.Tabulka (viz. definice uzlu <Database>.
PKey | ano | jméno sloupce (např. primární klíč) z tabulky uvedené v atributu ClickTab, který jednoznačně identifikuje řádek tabulky. Pro TopoL blok to je obvykle CISLO.
AltKey | ne | jméno sloupce z tabulky uvedené v atributu ClikcTab, jehož hodnota bude použita v atributu ALT v klikací mapě (bude zobrazován jako tzv. "hint".
GenA | ano | základní velikost (v šesti násobcích pixelů) generalizace polygonu. Tento atribut se použije pouze u klikacích map generovaných z polygonů (ploch). Doporučená hodnota je 20.
GenC | ano | změna generalizace při změně výřezu (zoom). Pro různá měřítka je vhodné měnit velikost generalizace polygonu, abychom dosáhli řádově deset vrcholů na polygon. Funkce má tvar Gen=GenA+GenC*zoom. Tento atribut se použije pouze u klikacích map generovaných z polygonů (ploch). Doporučená hodnota je 0.3.
Radius | ano | velikost poloměru kružnice nad body v klikací mapě v metrech (velikost kružnice bude dznamická - záleží na velikosti zobrazovaného výřezu ve světových souřadnicích). Tento atribut se použije pouze u klikacích map generovaných z bodů. Místo tohoto atributu lze použít atribut PixRadius.
PixRadius | ne | absolutní velikost poloměru kružnice nad body v klikací mapě v pixelech (velikost kružnice bude statická - průměr bude stejný bez ohledu na velikost zobrazovaného výřezu). Tento atribut se použije pouze u klikacích map generovaných z bodů. Místo tohoto atributu lze použít atribut Radius. Má přednost před atributem Radius.
Subuzly

Nejsou definovány.

Nadřízený uzel

<ClickMapList>

Příklad

<ClickMapList>
<ClickMap ClickTab="Mesta.P0009" PKey="CISLO" AltKey="mesto" GenA="20" GenC="0.3">
MAPA_PRO_PLOCHY
</ClickMap>
<ClickMap ClickTab="Mesta.B0009" PKey="CISLO" AltKey="centrum" Radius="500">
MAPA_PRO_BODY
</ClickMap>
</ClickMapList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ClickMapList>


Uzel <ViewList>

Obsahuje seznam subtémat (subuzlů <ViewColl>) - předdefinovaných pohledů na data.

Povinný

Tento uzel je povinný.

Hodnota

Není definována.

Atributy

Nejsou definovány

Subuzly
Jméno | Povinný | Popis
<ViewColl> | ano | Tento subuzel musí být uzlu <ViewList> alespoň jeden. Obsahuje seznamy definice pohledů na jednotlivá data (uzly <ViewEntry>).
Nadřízený uzel

<Project>

Příklad

<ViewList>
<ViewColl SubTema="Data1">
<CoordSys>1001</CoordSys>
<RelScale>5000</RelScale>
<ViewEntry>
...
</ViewEntry>
<ViewEntry>
...
</ViewEntry>
...
</ViewColl>
...
<ViewColl SubTema="Data2">
...
</ViewColl>
</ViewList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Project>


Uzel <ViewColl>

Obsahuje seznam předdefinovaných pohledů na data (subuzlů <ViewEntry>).

Povinný

Tento uzel musí být v nadřízeném uzlu <ViewList> uveden minimálně jeden.

Hodnota

Není definována.

Atributy
Jméno | Povinný | Popis
SubTema | ano | jméno subtématu. Toto jméno musí být v rámci tématu unikátní.
Subuzly
Jméno | Povinný | Popis
<CoordSys> | ano | definice souřadného systému
<RelScale> | ano | definice relativního měřítka
<ViewEntry> | ano | Tento subuzel musí být v uzlu <ViewColl> alespoň jeden. Obsahuje definici pohledu na konkrétní data (linie, body, plochy, rastr...).
Nadřízený uzel

<ViewList>

Příklad

<ViewList>
<ViewColl SubTema="Data1">
<CoordSys>1001</CoordSys>
<RelScale>5000</RelScale>
<ViewEntry>
...
</ViewEntry>
<ViewEntry>
...
</ViewEntry>
...
</ViewColl>
...
<ViewColl SubTema="Data2">
...
</ViewColl>
</ViewList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ViewList>


Uzel <CoordSys>

Určuje souřadný systém v jakém se budou zobrazovat data (uzly <ViewEntry>) uvedená v nadřízeném uzlu <ViewColl>.

Povinný

Tento uzel je povinný.

Hodnota

Určuje souřadný systém v jakém se budou zobrazovat data (uzly <ViewEntry>) uvedená v nadřízeném uzlu <ViewColl>.

Povolené hodnoty uzlu <CoordSys>
Hodnota | Popis
1001 | S_JTSK
1002 | S42 (Gauss-Krüger)
1003 | Potsdam (Gauss-Krüger)
1004 | S52 (Gauss-Krüger)
Atributy

Nejsou definovány.

Subuzly

Nejsou definovány.

Nadřízený uzel

<ViewColl>

Příklad

<ViewList>
<ViewColl SubTema="Data1">
<CoordSys>1001</CoordSys>
<RelScale>5000</RelScale>
<ViewEntry>
...
</ViewEntry>
<ViewEntry>
...
</ViewEntry>
...
</ViewColl>
...
<ViewColl SubTema="Data2">
...
</ViewColl>
</ViewList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ViewColl>


Uzel <RelScale>

Určuje vztažné měřítko které se použije při zobrazování dat (uzly <ViewEntry>) uvedených v nadřízeném uzlu <ViewColl>.

Povinný

Tento uzel je povinný.

Hodnota

Určuje vztažné měřítko které se použije při zobrazování dat (uzly <ViewEntry>) uvedených v nadřízeném uzlu <ViewColl>.

Atributy

Nejsou definovány.

Subuzly

Nejsou definovány.

Nadřízený uzel

<ViewColl>

Příklad

<ViewList>
<CoordSys>1001</CoordSys>
<RelScale>5000</RelScale>
<ViewEntry>
...
</ViewEntry>
<ViewEntry>
...
</ViewEntry>
...
</ViewColl>
...
<ViewColl SubTema="Data2">
...
</ViewColl>
</ViewList>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ViewColl>


Uzel <ViewEntry>

Popisuje způsob zobrazování konkrétních dat (jedné tabulky) nebo jednoho zvýraznění pro data.

Povinný

Nadřízený uzel <ViewColl> nebo uzel <HighLights> musí obsahovat alespoň jeden tento uzel.

Hodnota

Není definována.

Atributy

Nejsou definovány.

Subuzly

Všechny subuzly uzlu <ViewEntry> mají jednotnou strukturu. Obsahují dva povinné atributy ord a dtv. Ord je pevné a identifikuje subuzly v rámci uzlu <ViewEntry>. Dtv určuje datový typ a pro subuzly GeomName, DBKeyName, P1..P16 je variabilní. (0=empty, 3=integer, 5=real, 8=string, 11=bool). Subuzly obsahují pouze text a již žádné vnořené uzly.

Jméno | Povinný | ord | dtv | Popis
<TypeObj> | ano | 1 | 3 | Určuje typ datového objektu, pro který je tento uzel definován. 1- rastr 2- DB tabulka s geometrií 3- mapový list 4- text 5- grid
<SubType> | ano | 2 | 3 | Podtyp datového objektu (má význam jen pro vektorová data). 1- body 2- linie 3- polygony
<Visible> | ano | 3 | 3 | Určuje viditelnost dat (viditelnost se dá při běhu aplikace dynamicky měnit).
<Status> | ano | 4 | 3 | Určen pro pozdější využití, v současnosti nevyužíván. Hodnota tohoto uzlu musí být 0.
<Locatable> | ano | 5 | 3 | Určen pro pozdější využití, v současnosti nevyužíván. Hodnota tohoto uzlu musí být 1.
<MinScale> | ano | 6 | 3 | Hodnota tohoto subuzlu určuje minimální měřítko pro vykreslení tohoto <ViewEntry>. Pokud je hodnota 0, není minimální měřítko omezeno.
<MaxScale> | ano | 7 | 3 | Hodnota tohoto subuzlu určuje maximální měřítko pro vykreslení tohoto <ViewEntry>. Pokud je hodnota 0, není maximální měřítko omezeno.
<Text> | ano | 8 | 8 | Odkaz na data (tabulku, rastr, atd). do uzlu <DataList>. V případě, že se jedná odkaz na tabulku s geometrií je hodnotou tohoto uzlu název této tabulky ve formátu "databaze.tabulka" (např. Mesta.P0009). Pokud je zde uveden odkaz na rastr, je hodnotou tohoto uzlu cesta k rastru, ve které lze použít substituci adresářů.
<SubText> | ano | 9 | 8 | Jméno, kterým se na toto <ViewEntry> odkazuje při zadávání požadavků pro TIS. Toto jméno musí být v rámci nadřízeného uzlu <ViewColl> (<HighLights>) unikátní.
<GeomName> | ano | 10 | 8, 0 | Jméno položky v databázi která obsahuje geometrii (Když je jméno položky zadáno, musí být ord="8"). Pokud není tento atribut zadán (ord="0"), použije se implicitní jméno OGIS_GEOMETRY. Tento atribut má význam pouze u <ViewEntry>, které popisují pohled na databázové tabulky s vektorovými daty (např. u rastrů nemá význam).
<DBKeyName> | ano | 11 | 8, 0 | Jméno unikátní položky (primárního klíče) v databázi která obsahuje geometrii. (Když je jméno položky zadáno, musí být ord="8"). Pokud není tento atribut zadán (ord="0"), použije se interní implicitní jméno. Tento atribut má význam pouze u <ViewEntry>, které popisují pohled na databázové tabulky s vektorovými daty (např. u rastrů nemá význam).
<P1>..<P16> | ano |  |  | Parametry a způsob zobrazení <ViewEntry>. Popis těchto subuzlů je na zvláštní stránce.
<ColorTrf> | ano | 28 | 8 | Odkaz na objekt typu ColorTransfer definovaný v uzlu <TransformList>.
<SymbolTrf> | ano | 29 | 8 | Odkaz na objekt typu SymbolTransfer definovaný v uzlu <TransformList>.
<CSTransformObj> | ano | 30 | 0 | Určen pro pozdější využití, v současnosti nevyužíván. Uzel nemá žádnou hodnotu.
Nadřízený uzel

<ViewColl> nebo <HighLights>

Příklad

Uzel <ViewEntry> definovaný pro rastr.

<ViewEntry UserID="Rastr">
<TypeObj ord="1" dtv="3">1</TypeObj>
<SubType ord="2" dtv="3">0</SubType>
<Visible ord="3" dtv="3">1</Visible>
<Status ord="4" dtv="3">0</Status>
<Locatable ord="5" dtv="3">1</Locatable>
<MinScale ord="6" dtv="3">0</MinScale>
<MaxScale ord="7" dtv="3">5000</MaxScale>
<Text ord="8" dtv="8">|Data|rastr.ras</Text>
<SubText ord="9" dtv="8">Rastr</SubText>
<GeomName ord="10" dtv="0"/>
<DBKeyName ord="11" dtv="0"/>
<P1 ord="12" dtv="3">0</P1>
<P2 ord="13" dtv="0"/>
<P3 ord="14" dtv="0"/>
<P4 ord="15" dtv="0"/>
<P5 ord="16" dtv="0"/>
<P6 ord="17" dtv="0"/>
<P7 ord="18" dtv="0"/>
<P8 ord="19" dtv="0"/>
<P9 ord="20" dtv="0"/>
<P10 ord="21" dtv="0"/>
<P11 ord="22" dtv="0"/>
<P12 ord="23" dtv="0"/>
<P13 ord="24" dtv="0"/>
<P14 ord="25" dtv="0"/>
<P15 ord="26" dtv="0"/>
<P16 ord="27" dtv="0"/>
<ColorTrf ord="28" dtv="0"/>
<SymbolTrf ord="29" dtv="0"/>
<CSTransfObj ord="30" dtv="0"/>
</ViewEntry>

Uzel <ViewEntry> definovaný pro plochy. Barva a značka plochy je dle databáze (dle atributů z TopoLu), hranice plochy budou červenou (RGB=255) značkou 3.

<ViewEntry UserID="Plochy">
<TypeObj ord="1" dtv="3">2</TypeObj>
<SubType ord="2" dtv="3">3</SubType>
<Visible ord="3" dtv="3">1</Visible>
<Status ord="4" dtv="3">0</Status>
<Locatable ord="5" dtv="3">1</Locatable>
<MinScale ord="6" dtv="3">0</MinScale>
<MaxScale ord="7" dtv="3">0</MaxScale>
<Text ord="8" dtv="8">Mesta.P001</Text>
<SubText ord="9" dtv="8">plochy_mest</SubText>
<GeomName ord="10" dtv="0"/>
<DBKeyName ord="11" dtv="0"/>
<P1 ord="12" dtv="1">0</P1>
<P2 ord="13" dtv="8">_COLOR</P2>
<P3 ord="14" dtv="3">1</P3>
<P4 ord="15" dtv="8">_SYMBOL</P4>
<P5 ord="16" dtv="3">0</P5>
<P6 ord="17" dtv="3">255</P6>
<P7 ord="18" dtv="3">0</P7>
<P8 ord="19" dtv="3">3</P8>
<P9 ord="20" dtv="0"/>
<P10 ord="21" dtv="0"/>
<P11 ord="22" dtv="0"/>
<P12 ord="23" dtv="0"/>
<P13 ord="24" dtv="0"/>
<P14 ord="25" dtv="0"/>
<P15 ord="26" dtv="0"/>
<P16 ord="27" dtv="0"/>
<ColorTrf ord="28" dtv="8">COLTRF1</ColorTrf>
<SymbolTrf ord="29" dtv="8">SYMTRF1</SymbolTrf>
<CSTransfObj ord="30" dtv="0"/>
</ViewEntry>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ViewColl>, Uzel <HighLights>


Uzly <P1>..<P16>

Tyto uzly definují parametry zobrazení pohledu na data definovanm v nadřízeném uzlu <ViewEntry>.

Povinný

Tyto uzly jsou povinné.

Hodnota

Tyto uzly definují parametry zobrazení pohledu na data definovanm v nadřízeném uzlu <ViewEntry>. Dle typu dat (viz. hodnota subuzlu <TypeObj> nadřízeného uzlu <ViewEntry>) se liší i hodnoty těchto atributů.

Hodnoty pro rastr (TypeObj = 1)
Uzel | Hodnota
<P1> | Celé číslo - určuje barvu rastru v RGB dle Windows GDI.
<P2>..<P16> | Prázdá - pro rastry v současnosti nevyužívány.
Hodnoty pro vektory (TypeObj = 2) a texty (TypeObj = 4)
Uzel | Hodnota
<P1> Celé číslo - určuje způsob získání barvy objektu.
0 - barva je v uzlu <P2> definována staticky (RGB Windows GDI)
1 - barva je v uzlu <P2> definována v databázi jako hodnota databázové položky
<P2> Hodnoty uzlu jsou závislé na hodnotě uzlu <P1>
<P1>0</P1> - celé číslo - barva ve formátu RGB dle Windows GDI
<P1>1</P1> - textový řetězec - jméno databázové položky, ve které je uložena barva pro daný objekt (v datech z TopoLu je to položka _COLOR).
<P3> Celé číslo - určuje způsob získání značky objektu.
0 - značka je v uzlu <P4> definována celým číslem - staticky
1 - značka je v uzlu <P4> definována v databázi jako hodnota databázové položky
<P4> Hodnoty uzlu jsou závislé na hodnotě uzlu <P3>
<P3>0</P3> - celé číslo - značka objektu
<P3>1</P3> - textový řetězec - jméno databázové položky, ve které je uložena značka pro daný objekt (v datech z TopoLu je to položka _SYMBOL).
<P5> Význam tohoto uzlu se liší podle druhu vektorových objektů:
Pro body, multibody a texty:

Celé číslo - určuje způsob získání úhlu značky/popisu objektu.
0 - značka je v uzlu <P6> definována celým číslem - staticky
1 - značka je v uzlu <P6> definována v databázi jako hodnota databázové položky

Pro polygony a multipolygony.

Celé číslo - určuje způsob získání barvy hranice polygonu.
0 - barva je v uzlu <P6> definována celým číslem - staticky
1 - barva je v uzlu <P6> definována v databázi jako hodnota databázové položky

<P6> Význam tohoto uzlu se liší podle druhu vektorových objektů. Hodnoty uzlu jsou závislé na hodnotě uzlu <P5>:
Pro body, multibody a texty:

<P5>0</P5> - reálné číslo - úhel objektu
<P5>1</P5> - textový řetězec - jméno databázové položky, ve které je uložen úhel pro daný objekt (v datech z TopoLu je to položka _ANGLE).

Pro polygony a multipolygony.

<P5>0</P5> - celé číslo - barva hranice objektu v RGB dle Windows GDI
<P5>1</P5> - textový řetězec - jméno databázové položky, ve které je uložena barva pro hranici daného objektu.
<P7> Význam tohoto uzlu se liší podle druhu vektorových objektů.
Pro texty:

Celé číslo - určuje způsob získání znění textu.
0 - text je v uzlu <P8> definován staticky
1 - text je v uzlu <P8> definován v databázi jako hodnota databázové položky

Pro polygony a multipolygony:

Celé číslo - určuje způsob získání značky hranice polygonu.
0 - značka je v uzlu <P8> definována celým číslem - staticky
1 - značka je v uzlu <P8> definována v databázi jako hodnota databázové položky

<P8> Význam tohoto uzlu se liší podle druhu vektorových objektů. Hodnoty uzlu jsou závislé na hodnotě uzlu <P7>:
Pro texty:

<P7>="0" - textový řetězec - znění textu
<P7>="1" - textový řetězec - jméno databázové položky, ve které je uloženo znění textového popisu.

Pro polygony a multipolygony:

<P7>="0" - celé číslo - značka hranice objektu
<P7>="1" - textový řetězec - jméno databázové položky, ve které je uložena značka pro hranici daného objektu.
<P9> | Boolean - určuje, zda bude barva pro značky určena pomocí uzlů <P1> a <P2> (<P9>0</P9>), nebo zda bude barva značek určena dle knihoven značek/stylů - <P9>1</P9>.
<P10> | Boolean - určuje, zda budou (<P10>1</P10>) nebo nebudou (<P10>0</P10>) značky objektů transparentní.
<P11> | Boolean - Pouze pro texty. Určuje, zda budou (<P11>1</P11>) nebo nebudou (<P11>0</P11>) texty zobrazeny transparentně.
<P12> | Boolean - Pouze pro texty. Určuje, zda budou (<P12>1</P12>) texty zobrazeny dle atributů TopoLu, nebo budou (<P12>0</P12>) použity knihovny značek/stylů.
<P13> Celé číslo - Pouze pro texty. Určuje způsob získání zarovnání textů.
0 - zarovnání je v uzlu <P14> definováno staticky
1 - zarovnání je v uzlu <P14> definováno v databázi jako hodnota databázové položky
<P14> Hodnoty uzlu jsou závislé na hodnotě uzlu <P13>
<P13>0</P13> - celé číslo - konstanta určující zarovnání dle Windows GDI
<P13>1</P13> - textový řetězec - jméno databázové položky, ve které je uložena konstanta určující zarovnání dle Windows GDI.
<P15>..<P16> | Prázdá - pro vektory v současnosti nevyužívány.
Hodnoty pro mapové listy (TypeObj = 3)
Uzel | Hodnota
<P1> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P2> | Celé číslo - barva v RGB dle Windows GDI.
<P3> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P4> | Celé číslo - značka pro vykreslení mapových listů.
<P5> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P6> | Celé číslo - Pouze pro katastrální mapy. Barva vnitřních (vedlejších) mapových listů v RGB dle Windows GDI.
<P7> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P8> | Celé číslo - Pouze pro katastrální mapy. Značka vnitřních (vedlejších) mapových listů.
<P9> | Boolean - určuje, zda bude barva pro zančky určena pomocí uzlů <P1> a <P2> (<P9>0</P9>), nebo zda bude barva značek určena dle knihoven značek/stylů - <P9>1</P9>.
<P10> | Boolean - určuje, zda budou (<P10>1</P10>) nebo nebudou (<P10>0</P10>) značky mapových listů transparentní.
<P11>..<P16> | Prázdá - pro mapové listy v současnosti nevyužívány.
Hodnoty pro čtvercové sítě - gridy (TypeObj = 5)
Uzel | Hodnota
<P1> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P2> | Celé číslo - barva gridu v RGB dle Windows GDI.
<P3> Celé číslo - určuje způsob získání značky objektu.
0 - značka je v uzlu <P4> definována celým číslem - staticky
1 - značka je křížek definovaný v uzlu <P4> jeho rozměrem
<P4> Hodnoty uzlu jsou závislé na hodnotě uzlu <P3>.
<P3>0</P3> - celé číslo - značka pro grid
<P3>1</P3> - reálné číslo - velikost křížku v jednotkách souřadného systému použitého pro grid
<P5> | Celé číslo - pro pozdější použití, v současnosti musí mít hodnotu 0.
<P6> | Reálné číslo - úhel otočení značky gridu v radiánech.
<P7>, <P8> | Prázdá - pro gridy v současnosti nevyužívány.
<P9> | Boolean - určuje, zda bude barva pro značky určena pomocí uzlů <P1> a <P2> (<P9>0</P9>), nebo zda bude barva značek určena dle knihoven značek/stylů - <P9>1</P9>.
<P10> | Boolean - určuje, zda budou (<P10>1</P10>) nebo nebudou (<P10>0</P10>) značky mapových listů transparentní.
<P11>..<P16> | Prázdá - pro gridy v současnosti nevyužívány.
Atributy
Jméno | Povinný | Popis
ord | ano | Určuje pořadí v nadřízeném uzlu <ViewEntry>. (viz. Tabulka hodnot atributu ord)
dtv | ano | Určuje datový typ hodnoty uzlu. 0- prázdný 3- celé číslo (integer) 5- reálné číslo (real) 8- textový řetězec (string) 11- Ano/Ne (boolean)
Tabulka hodnot atributu ord
Uzel | Hodnota | Uzel | Hodnota
<P1> | 12 | <P9> | 20
<P2> | 13 | <P10> | 21
<P3> | 14 | <P11> | 22
<P4> | 15 | <P12> | 23
<P5> | 16 | <P13> | 24
<P6> | 17 | <P14> | 25
<P7> | 18 | <P15> | 26
<P8> | 19 | <P16> | 27
Subuzly

Nejsou definovány.

Nadřízený uzel

<ViewColl> nebo <HighLights>

Příklad

Uzel <ViewEntry> definovaný pro rastr.

<ViewEntry UserID="Rastr">
<TypeObj ord="1" dtv="3">1</TypeObj>
<SubType ord="2" dtv="3">0</SubType>
<Visible ord="3" dtv="3">1</Visible>
<Status ord="4" dtv="3">0</Status>
<Locatable ord="5" dtv="3">1</Locatable>
<MinScale ord="6" dtv="3">0</MinScale>
<MaxScale ord="7" dtv="3">5000</MaxScale>
<Text ord="8" dtv="8">|Data|rastr.ras</Text>
<SubText ord="9" dtv="8">Rastr</SubText>
<GeomName ord="10" dtv="0"/>
<DBKeyName ord="11" dtv="0"/>
<P1 ord="12" dtv="3">0</P1>
<P2 ord="13" dtv="0"/>
<P3 ord="14" dtv="0"/>
<P4 ord="15" dtv="0"/>
<P5 ord="16" dtv="0"/>
<P6 ord="17" dtv="0"/>
<P7 ord="18" dtv="0"/>
<P8 ord="19" dtv="0"/>
<P9 ord="20" dtv="0"/>
<P10 ord="21" dtv="0"/>
<P11 ord="22" dtv="0"/>
<P12 ord="23" dtv="0"/>
<P13 ord="24" dtv="0"/>
<P14 ord="25" dtv="0"/>
<P15 ord="26" dtv="0"/>
<P16 ord="27" dtv="0"/>
<ColorTrf ord="28" dtv="0"/>
<SymbolTrf ord="29" dtv="0"/>
<CSTransfObj ord="30" dtv="0"/>
</ViewEntry>

Uzel <ViewEntry> definovaný pro plochy. Barva a značka plochy je dle databáze (dle atributů z TopoLu), hranice plochy budou červenou (RGB=255) značkou 3.

<ViewEntry UserID="Plochy">
<TypeObj ord="1" dtv="3">2</TypeObj>
<SubType ord="2" dtv="3">3</SubType>
<Visible ord="3" dtv="3">1</Visible>
<Status ord="4" dtv="3">0</Status>
<Locatable ord="5" dtv="3">1</Locatable>
<MinScale ord="6" dtv="3">0</MinScale>
<MaxScale ord="7" dtv="3">0</MaxScale>
<Text ord="8" dtv="8">Mesta.P001</Text>
<SubText ord="9" dtv="8">plochy_mest</SubText>
<GeomName ord="10" dtv="0"/>
<DBKeyName ord="11" dtv="0"/>
<P1 ord="12" dtv="1">0</P1>
<P2 ord="13" dtv="8">_COLOR</P2>
<P3 ord="14" dtv="3">1</P3>
<P4 ord="15" dtv="8">_SYMBOL</P4>
<P5 ord="16" dtv="3">0</P5>
<P6 ord="17" dtv="3">255</P6>
<P7 ord="18" dtv="3">0</P7>
<P8 ord="19" dtv="3">3</P8>
<P9 ord="20" dtv="0"/>
<P10 ord="21" dtv="0"/>
<P11 ord="22" dtv="0"/>
<P12 ord="23" dtv="0"/>
<P13 ord="24" dtv="0"/>
<P14 ord="25" dtv="0"/>
<P15 ord="26" dtv="0"/>
<P16 ord="27" dtv="0"/>
<ColorTrf ord="28" dtv="8">COLTRF1</ColorTrf>
<SymbolTrf ord="29" dtv="8">SYMTRF1</SymbolTrf>
<CSTransfObj ord="30" dtv="0"/>
</ViewEntry>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <ViewColl>, Uzel <HighLights>

Nová


Uzel <HighLights>

Obsahuje seznam předdefinovaných pohledů na data (subuzlů <ViewEntry>). Tyto pohledy na data se používají při zvýraznění vybraných vektorových objeků (viz.

Povinný

Tento uzel je nepovinný.

Hodnota

Není definována.

Atributy

Nejsou definovány

Subuzly
Jméno | Povinný | Popis
<ViewEntry> | ano | Tento subuzel musí být v uzlu <HighLights> alespoň jeden. Obsahuje definici pohledu na konkrétní data vektorová(linie, body, plochy).
Nadřízený uzel

<Project>

Příklad

<HighLights>
<ViewEntry>
...
</ViewEntry>
<ViewEntry>
...
</ViewEntry>
...
</HighLights>

Související témata

schéma tématu, ukázkové téma, Popis tématu, Uzel <Project>


Komunikace s TISem

Komunikace mezi TISem a dynamickými HTML stránkami probíhá standardně formátovanými řetězci ve formátu Key1=Value1&Key2=Value2&...&KeyN=ValueN, kde Key je jméno položky a Value hodnota položky. Jména klíčů jsou předdefinována. Řetězce s tímto formátem jsou používány pro zadávání hodnot i jako odpověď TISu.

TIS při zpracování požadavku generuje dočasné soubory *.GIF (*.JPG), *.XML a *.HTML), které slouží dynamickým HTML stránkám k získávání potřebných informací o zobrazovaných datech. V rastrových souborech (GIF nebo JPG) je uložen pohled na požadovaná data, v souboru XML je uložen výpis databázových atributů zobrazovaných dat a v souboru HTML je uložena klikací mapa (element <MAP> dle definice HTML) pro zobrazovaná data. Tyto soubory jsou ukládány do adresáře specifikovaného v INI souboru TISu (viz. kapitola Popis souboru INI). Po uplynutí doby určené také v tomto INI souboru je TIS automaticky maže. Soubory jsou pojmenovávány jako kontinuální řada osmimístných čísel v šestnáctkové soustavě s příslušnou příponou (00000000.* - FFFFFFFF.*). Po překročení hodnoty FFFFFFFF jsou soubory pojmenovávány znovu od nuly. Součástí odpovědi TISu na požadavek je vždy jméno dočasného souboru.

Způsoby komunikace

Komunikovat s TISem lze dvěma způsoby:

Komunikace pomocí socketů

S TISem lze komunikovat pomocí socketů na zvoleném portu (číslo portu lze zadat v souboru TLINTSVR.INI). Komunikaci pomocí socketů lze použít například v jazyce PHP.

Příklad komunikace s TISem v jazyce PHP

..
<?
//Adresa počítače na kterém běží TIS
$socketAdr = nekdo.nekde.cz;

//Port na kterém TIS komunikuje
$socketPort = 5001;

//Sestavení požadavku
$request = TLSRV00087Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;
$request .= &Dvert=0&Dhorz=0&RasDx=640&RasDy=480;

//Otevření socketu
$fp = @FSockOpen($socketAdr, $socketPort, $errCode, $errNumber);
if ($fp):
//Pokud se podaří socket otevřít

//Odeslání požadavku
FPutS($fp, $request);

//Přečtení výsledku
$result = FGetS($fp, 2049);

//Zpracování výsledku
echo "Returned string: $result";

//Zavření socketu
FClose($fp);
else:
//Socket se nepodařilo otevřít
echo "Error: $errNumber - $errCode";
endif;
?>
..

Komunikace pomocí COM objektu

S TISem lze také komunikovat pomocí COM objektu AspTisX.AspTisObj. Tento COM objekt lze s výhodou použít v jazyce ASP.

Příklad komunikace s TISem v jazyce ASP

..
<%@ LANGUAGE="JScript" CODEPAGE="1250" %>
<%
var Request, Result = "";

//Sestavení požadavku
Request = "Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;"
Request +="&Dvert=0&Dhorz=0&RasDx=640&RasDy=480";

//Vytvoření COM objektu
var ObjTis = Server.CreateObject("AspTisX.AspTisObj");

//Odeslání požadavku
ObjTis.Execute(Request);

//Čtení odpovědi
Result = ObjTis.Result;
%>
..

Související témata

Zadávání požadavků, Vyřizování požadavků, Popis tématu


Zadávání požadavků

Požadavky pro TIS se zadávají v standardně formátovaných řetězcích ve formátu Key1=Value1&Key2=Value2&...&KeyN=ValueN, kde Key je jméno klíče a Value jeho hodnota. Jména klíčů jsou předdefinována. Řetězce s tímto formátem jsou používány pro zadávání hodnot i jako odpověď TISu.

V případě, že s TISem komunikujete pomocí socketů (viz. kapitola Komunikace s TISem), musí mít řetězec s požadavky povinnou hlavičku TLSRVnnnnn, kde nnnnn je délka řetězce (bez hlavičky).

Poznámka: Maximální délka požadavku je 2048 znaků a maximální počet dvojic Key=Val je 100.

Příklad

TLSRV00087Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;&Dvert=0&Dhorz=0&RasDx=640&RasDy=480

TIS ve verzi 1.0 umožňuje provádět tyto základní operace:
Operace 1

Jde o operaci, kdy vstupem je výřez a výsledkem jsou databázové záznamy k elementům ve výřezu (soubor XML), obrázek ve formátu GIF (JPG) dle klíče SubTema a zadaného okna a klikací mapa (soubor HTML).

Operace 2

Vstupem pro operaci 2 je SQL dotaz do databáze a výsledkem jsou zvýrazněné nalezené záznamy v obrázku. K vybraným elementům v obrázku se vygeneruje klikací mapa spolu se souborem XML, který obsahuje nalezené záznamy.

Operace 3

Výsledkem této operace je grafické měřítko ve formátu GIF.

Operace 4

Tato operace umožňuje vytvářet obrázky ve formátu GIF a kreslit do obrázku ve formátu GIF grafické elementy (linie, plochy, atd.).

Popisy klíčů a jejich hodnot, podrobnosti k jednotylivým operacím jsou uvedeny v následujících kapitolách:
  • Klíče společné pro všechny operace
  • Klíče pro operace 1 a 2
  • Klíče pro operaci 3
  • Klíče pro operaci 4
Související témata

Zadávání požadavků, Klíče společné pro všechny operace, Klíče pro operace 1 a 2, Klíče pro operaci 3, Klíče pro operaci 4, Vyřizování požadavků


Klíče společné pro všechny operace

Klíče
Tema | povinný | symbolické jméno tématu ze kterého se budou zobrazovat data. Jméno musí být stejné jaké je zadáno v INI souboru TISu.
Oper | povinný | [1, 2, 3, 4] - typ operace, která se bude provádět. TIS ve verzi 1.0 umožňuje provádět oprace 1 až 4.

Klíč Oper

Oper=1

Jde o operaci, kdy vstupem je výřez a výsledkem jsou databázové záznamy k elementům ve výřezu (soubor XML), obrázek ve formátu GIF (JPG) dle klíče SubTema a zadaného okna a klikací mapa (soubor HTML).

Provedení operace

TIS provede výběr obdélníkem nad zadanými tabulkami (klíč SubTema), vybrané elementy vykreslí do obrázku a z těchto elementů vygeneruje klikací mapu a výpis jejich databáze.

Oper=2

Vstupem pro operaci 2 je SQL dotaz do databáze a výsledkem jsou zvýrazněné nalezené záznamy v obrázku. K vybraným elementům v obrázku se vygeneruje klikací mapa spolu se souborem XML, který obsahuje nalezené záznamy.

Provedení operace

TIS provede výběr z databázové tabulky (celé, nebo části zadané obdélníkem) zadaným SQL dotazem poté volitelně provede zoom okolo vybraných, nebo ponechá vstupní výřez. Vybrané zobrazí zvýrazněně. Z vybraných se vygeneruje klikací mapa a výpis vybraných záznamů v souboru XML.

Oper=3

Výsledkem této operace je grafické měřítko ve formátu GIF.

Oper=4

Tato operace umožňuje vytvářet obrázky ve formátu GIF a kreslit do obrázku ve formátu GIF grafické elementy (linie, plochy, atd.).

Související témata

Zadávání požadavků, Klíče pro operace 1 a 2, Klíče pro operaci 3, Klíče pro operaci 4, Vyřizování požadavků


Klíče pro operace 1 a 2

Klíče pro operace 1 a 2

SubTema | povinný | jméno subtématu ze souboru s tématem (viz. uzel <ViewList>).
GifJpg | povinný | [0, 1] - rastr s pohledem na data bude (GifJpg=0) ve formátu GIF nebo ve formátu JPG (GifJpg=1).
VMin | povinný | [reálné číslo] - minimální vertikální souřadnice výřezu s pohledem na data.
HMin | povinný | [reálné číslo] - minimální horizontální souřadnice výřezu s pohledem na data.
DVert | povinný | [reálné číslo] - vertiklání rozměr výřezu s pohledem na data - ve světových souřadnicích. Pokud jsou klíče DVert a DHorz rovny nule, provede se změna výřezu tak, aby byly ve výřezu všechna data (FitAll).
DHorz | povinný | [reálné číslo] - horizontální rozměr výřezu s pohledem na data - ve světových souřadnicích. Pokud jsou klíče DVert a DHorz rovny nule, provede se změna výřezu tak, aby byly ve výřezu všechna data (FitAll).
RasDx | povinný | [celé kladné číslo] - vodorovný rozměr generovaného rastru v pixelech.
RasDy | povinný | [celé kladné číslo] - svislý rozměr generovaného rastru v pixelech.
Příklad

Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;&Dvert=0&Dhorz=0&RasDx=640&RasDy=480

Visible nepovinný umožňuje dynamicky nastavit vykreslování položek (uzel <ViewEntry>) ze subtématu (uzel <ViewList>).
Hodnota klíče musí být bez mezer ve tvaru Key1:Val1,Key2:Val2,..., kde Key je hodnota subuzlu <SubText> z uzlu <ViewEntry> a Val má hodnotu 0 pro nekreslení a hodnotu 1 pro kreslení.
Příklad

Visible=MESTA:1,OKRESY:0,RAS:0

MapName | nepovinný | jméno klikací mapy z tématu (viz. uzel <ClickMap>).
MapAttr | nepovinný | uživatelské atributy přidané do položek klikací mapy
ScrName | nepovinný | jméno skriptu, kam bude odkazovat atribut HREF ve vygenerované klikací mapě.
MapFmt | nepovinný | [1, 2] - formát atributu HREF ve vygenerované klikací mapě. 1 (implicitní hodnota) - atribut bude mít formát odkazu na html stránku s atributy oddělenými znakem & 2 - atribut bude mít formát odkazu na např. JavaScript s atributy oddělenými čárkou
MapPar | nepovinný | uživatelské parametry přidané do atributu HREF ve vygenerované klikací mapě.
Příklad 1

MapName=CLICKMAP1&ScrName=info.php&MapFmt=1&MapAttr=TARGET="main"

Výsledkem je soubor HTML, který obsahuje klikací mapu:

<MAP NAME="CLICKMAP1">
<AREA SHAPE="POLY" TARGET="main" COORDS="174,43,173,42,177,42,176,44,174,43"
HREF="info.php?XmlName=c:\00000001.Xml&KeyName=CISLO&KeyValue=1"
ALT="Brno">
<AREA SHAPE="POLY"...
...
<MAP>

Příklad 2

MapName=CLICKMAP2&ScrName=javascript: getInfo&MapFmt=2&MapPar=3

Výsledkem je soubor HTML, který obsahuje klikací mapu:

<MAP NAME="CLICKMAP1">
<AREA SHAPE="POLY" COORDS="174,43,173,42,177,42,176,44,174,43"
HREF="javascript: getInfo('c:\00000001.Xml', 'CISLO', 1, 3)"
ALT="Brno">
<AREA SHAPE="POLY"...
...
<MAP>

ExtDB | nepovinný | jméno externí databáze z uzlu <ExtDatabase>. viz. kapitola Provádění databázových operací.
ExtSQL | nepovinný | SQL příkaz do externí databáze. viz. kapitola Provádění databázových operací.
ExtRel | nepovinný | jméno relace z uzlu <Relations>. která propojuje primární a externi databázi. viz. kapitola Provádění databázových operací.
Příklad

ExtDB=Pamatky&ExtSWL=SELECT * FROM pamfond WHERE name LIKE 'ho%'&ExtRel=Jedna

Klíče pouze pro operaci 2

SQLTable | nepovinný | jméno tabulky s primární databáze dle uzlu <Database>. viz. kapitola Provádění databázových operací.
SQLWhere | nepovinný | atributová podmínka do primární tabulky. viz. kapitola Provádění databázových operací.
Příklad

SQLTable=Mesta.P0009&SQLWhere=Obyvatel>=50000 AND Plocha>10000

HighLight | nepovinný | jméno subuzlu <ViewEntry>. z uzlu <HighLights>, pomocí kterého se provede zvýraznění vybraných vektorových objektů.
SQLZoom | nepovinný | [celé číslo 0 .. 100] - změna výřezu s ohledem na vybrané vektorové objekty 0 - změna výřezu nebude provedena, použije se zadaný obdélník 1..100 - zoom okolo vybraných. Udává v procentech velikost vybraných vůči celému oknu (100 - vybrané zcela zaplní okno (FitAll z vybraných), 50 - 50% okraj okolo vybraných, atd.

Provádění databázových operací

V zásadě se celkový dotaz na výběr z databáze(í) dá rozdělit na následující části:

  • výběr zadaný geometrickou podmínkou v primární databázi (např. obdélníkem, polygonem, ...)
  • výběr zadaný atributovou podmínkou v primární databázi (where Val > 100) - TIS nejprve vždy provede geometrickou podmínku a výsledek přefiltruje dle atributové podmínky
  • obecný SQL dotaz na externí databáze
  • spojení výsledku dotazů do primární a externí databáze operací "JOIN" dle zadané relace
Oper = 1

Provede se geometrická podmínka, provede se externi dotaz, provede se "JOIN" a tento se zapíše do XML a vygeneruje klikací mapa. Není-li zadán externí dotaz pak se prostě pouze vyberou DB řádky v zadaném obdélníku. U externího dotazu přichází v úvahu hlavně dotaz typu Select * from ExtTbl bez podmínky, kde následující "JOIN" doplní ke všem vybramým řádkům z primární DB atributy z externí DB.

Oper = 2

Provede se geometrická podmínka. Je-li zadána atributová podmínka pro primární DB provede se nad geom. výběrem. Pokud není zadán externí dotaz máme výsledek. Je-li zadán externí dotaz, provede se, a pak se udělá "JOIN" obou výběrů podle zadané relace. Z tohoto výsledku se vytvoří klikací mapa a XML soubor.

Související témata

Zadávání požadavků, Klíče pro operaci 3, Klíče pro operaci 4, Vyřizování požadavků


Klíče pro operaci 3

Tato operace generuje rastrový obraz z grafickým měřítkem ve formátu GIF. Po úspěšném provedení této operace vygeneruje TIS soubor typu GIF s měřítkem a vrátí jeho jméno jako odpověď na požadavek.

Klíče
RasDx | povinný | [celé kladné číslo] - vertikální velikost obrázku v pixelech
RasDy | povinný | [celé kladné číslo] horizontální velikost obrázku v pixelech
MPerPixel | povinný | [reálné kladné číslo] - počet metrů na jeden pixel
FontName | nepovinný | implicitní hodnota Ariel - jméno fontu použitého pro popis měřítka
BcgColor | nepovinný | [barva] - implicitní hodnota White - barva pozadí obrázku
BrushColor | nepovinný | [barva] - implicitní hodnota White - barva pozadí měřítka
PenColor | nepovinný | [barva] - implicitní hodnota Black - barva popředí a popisu měřítka
Transparent | nepovinný | [0, 1] - implicitní hodnota 0 - určuje zda bude (Transparent=1) nebo nebude (Transparent=0) pozadí obrazku průhledné.

Význam hodnoty typu barva je popsán v kapitole Typy hodnot pro kreslení.

Význam jednotlivých barev

Příklad

Oper=3&Tema=uzemi&RasDx=400&RasDy=25&MPerPixel=1250.65&Transparent=1&BcgColor=#CEFFCE&BrushColor=white&PenColor=#004242&FontName=verdana

Související témata

Zadávání požadavků, Klíče společné pro všechny operace, Klíče pro operace 1 a 2, Klíče pro operaci 4, Typy hodnot pro kreslení, Vyřizování požadavků


Klíče pro operaci 4

Tato operace umožňuje nakreslit do souboru typu GIF grafické elementy. Vstupem je existující soubor do kterého se nakreslí zadané požadavky. Neexistuje-li soubor, pak se nejprve vytvoří prázdný (v tom případě musí být zadány klíče RasDx a RasDy.

Klíče
RasDx | nepovinný | [celé kladné číslo] - vertikální velikost obrázku v pixelech. Tento klíč je povinný pouze když je vytvářen nový rastr.
RasDy | nepovinný | [celé kladné číslo] horizontální velikost obrázku v pixelech. Tento klíč je povinný pouze když je vytvářen nový rastr.
TmpFile | nepovinný | [0, 1] - implicitní hodnota 1 - určuje zda bude (TmpFile=1) přepsán vstupní soubor nebo zda bude (TmpFile=0) výstupem dočasný soubor generovaný TISem.
File | povinný | Jméno souboru do kterého se bude kreslit.
Draw | nepovinný | Seznam příkazů pro kreslení grafických elementů. Pokud je příkazů víc, musí být odděleny středníkem. Definované příkazy jsou uvedeny v části Seznam příkazů.
Příklad

Oper=4&Tema=uzemi&File=c:\draw.gif&Draw=Rectangle(Red,2,0,0,10,10,150,100);Line(#006666,3,0,0,10,25);TransparentColor=white

Seznam příkazů
Arc | vykreslí oblouk
Ellipse | vykreslí elipsu
Line | vykreslí čáru
Pie | vykreslí kruhovou výseč
Polygon | vykreslí polygon
Polyline | vykreslí polylinii
Rectangle | vykreslí obdélník
SetPixel | nastaví barvu jednoho pixelu
Text | vykreslí text
TransparentColor | nastaví transparentní barvu obrázku
Související témata

Zadávání požadavků, Klíče společné pro všechny operace, Klíče pro operace 1 a 2, Klíče pro operaci 3, Typy hodnot pro kreslení, Vyřizování požadavků


Příkaz Arc

Arc(color, style, x1, y1, x2, y2, x3, y3, x4, y4)

Vykreslí barvou color oblouk definovaný souřadnicemi x1, y1 až x4, y4. Parametr style určuje způsob vykreslení oblouku.

Parametry
color | [barva] | barva oblouku
style | [čára] | styl oblouku
x1,y1...x4,y4 | [celé číslo] | souřadnice definující oblouk v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Arc(red, 2, 10, 10, 190, 100, 0, 0, 200, 100)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Ellipse

Ellipse(colorline, styleline, color, style, x1, y1, x2, y2)

Vykreslí barvou color elipsu. Elipsa je určena opsaným obdélníkem - pravým horním rohem (souřadnice x1, y1) a levým dolním rohem (souřadnice x2, y2). Parametr style určuje šrafu, kterou bude elipsa vyplněna. Parametry colorline a styleline určují způsob vykreslení hraniční linie elipsy.

Parametry
colorline | [barva] | barva hraniční linie elipsy
styleline | [čára] | styl hraniční linie elipsy
color | [barva] | barva výplně elipsy
style | [výplň] | výplň elipsy
x1,y1, x2,y2 | [celé číslo] | souřadnice pravého horního a levého dolního rohu opsaného obdélníku elipsy v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Ellipse(green, -1, #FF0000, 7, 15, 10, 190, 105)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Line

Line(color, style, x1, y1, x2, y2)

Vykreslí barvou color linii ze souřadnic x1, y1 do souřadnic x2, y2. Tloušťka a styl linie se řídí parametrem style.

Parametry
color | [barva] | barva linie
style | [čára] | styl linie
x1,y1,x2,y2 | [celé číslo] | souřadnice začátku a konce linie v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Line(#800080, 10, 25, 19, 190, 105)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Pie

Pie(colorline, styleline, color, style, x1, y1, x2, y2, x3, y3, x4, y4)

Vykreslí barvou color výseč elipsy definovanou souřadnicemi x1, y1 až x4, y4. Parametr style určuje styl pozadí výplně. Hraniční linie výseče je určena parametry colorline a styleline.

Parametry
colorline | [barva] | barva hraniční linie výseče
styleline | [čára] | styl hraniční linie výseče
color | [barva] | barva výplně výseče
style | [výplň] | výplň výseče
x1,y1..x4,y4 | [celé číslo] | souřadnice definující výseč v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Pie(0, 3, #009600, 1, 10, 10, 190, 100, 0, 0, 200, 100)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Polygon

Polygon(colorline, styleline, color, style, count, x1, y1.. xN, yN)

Vykreslí barvou color polylgon o počtu lomových bodů count. Minimální počet lomových bodů je tři. Polylgon je určen souřadnicemi x1, y1 až xN, yN. Tloušťka a styl hraniční linie polylgonu se řídí parametrem styleline. Parametr style určuje výplň polygonu.

Parametry
colorline | [barva] | barva hraniční linie polygonu
styleline | [čára] | styl hraniční linie polygonu
color | [barva] | barva výplně polygonu
style | [čára] | styl výplně polygonu
count | [celé číslo] | počet lomových bodů polygonu
x1,y1..xN,yN | [celé číslo] | souřadnice lomových bodů polygonu v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Polygon(maroon, 1, fuchsia, 6, 5, 10, 10, 190, 5, 105, 110, 100, 62, 5, 112)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Polyline

Polyline(color, style, count, x1, y1..xN, yN)

Vykreslí barvou color polylinii o počtu lomových bodů count. Minimální počet lomových bodů je dva. Polylinie je určena souřadnicemi x1, y1 až xN, yN. Tloušťka a styl polylinie se řídí parametrem style.

Parametry
color | [barva] | barva polylinie
style | [čára] | styl polylinie
count | [celé číslo] | počet lomových bodů polylinie
x1,y1..xN,yN | [celé číslo] | souřadnice lomových bodů polylinie v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Polyline(teal, -4, 5, 25, 19, 190, 105, 5, -10, 200, 60, 10, 189)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Rectangle

Rectangle(colorline, styleline, color, style, x1, y1, x2, y2)

Vykreslí barvou color obdélník určený souřadnicemi pravého horního rohu - x1, y1 a souřadnicemi levého dolního rohu - x2, y2. Tloušťka a styl hraniční linie obdélníku se řídí parametrem styleline. Parametr style určuje výplň obdélníku.

Parametry
colorline | [barva] | barva hraniční linie obdélníku
styleline | [čára] | styl hraniční linie obdélníku
color | [barva] | barva výplně obdélníku
style | [výplň] | styl výplně obdélníku
x1,y1,x2,y2 | [celé číslo] | souřadnice rohů obdélníku v pixelech
Příklad

obrázek o velikosti 200x126 pixelů

Rectangle(black, 5, green, 1, 10, 15, 180, 120)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz SetPixel

SetPixel(color, x, y)

Nastaví barvu pixelu na souřadnicích x, y na hodnotu color.

Parametry
color | [barva] | barva pixelu
x,y | [celé číslo] | souřadnice pixelu
Příklad

SetPixel(#8080FF, 10, 25)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz Text

Text(color, bcgcolor, fontname, fontsize, flag, align, x, y, text)

Vykreslí na souřadnice x a y barvou color text zadaný parametrem text pomocí fontu fontname. Velikost textu (fontsize) je uváděna v pixelech. Barva pozadí textu se zadává parametrem bcgcolorg. Text bude transparentní pokud bude hodnota tohoto parametru menší než nula. Zarovnání textu se určuje parametrem align. V parametru flag se zadávají další vlastnosti textu.

Parametry
color | [barva] | barva textu
bcgcolor | [barva] | barva pozadí textu, pokud je hodnota menší než nula, je pozadí textu transparentní
fontname | [text] | jméno fontu
fontsize | [celé kladné číslo] | velikost fontu v pixelech
flag | [celé kladné číslo] | Tento parametr je považován za bitové pole, v němž se využívají čtyři nejnižší bity (0 - 3). bit 0 - text bude (bit 0 = 1) nebo nebude (bit 0 = 0) tučný bit 1 - text bude (bit 1 = 1) nebo nebude (bit 1 = 0) kurzívou bit 2 - text bude (bit 2 = 1) nebo nebude (bit 2 = 0) podtržený bit 3 - text bude (bit 3 = 1) nebo nebude (bit 2 = 0) přeškrtnutý
align | [celé číslo] | Tento parametr musí být v intervalu 0..8 a určuje polohu textu vzhledem k bodu zadaným parametry x a y. 0 - vlevo nahoře 1 - vprostřed nahoře 2 - vpravo nahoře 3 - vlevo na středu 4 - vprostřed 5 - vpravo na středu 6 - vlevo dole 7 - na středu dole 8 - vpravo dole
x,y | [celé číslo] | souřadnice vztažného bodu pro text v pixelech
text | [text] | zobrazovaný text
Příklad

obrázek o velikosti 200x126 pixelů

Text(#006666, -1, Verdana, 15, 6, 4, 100, 30, ampersand podtrženou kurzívou \&)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Příkaz TransparentColor

TransparentColor(color)

Nastaví transparentní barvu obrázku na hodnotu color.

Parametry
color [barva] určuje, která barva bude ve výsledném obrázku transparentní. Pokud je zadána hodnota -1, obrázek nebude transparentní
Příklad

TransparentColor(white)

Související témata

Klíče pro operaci 4, Typy hodnot pro kreslení


Typy hodnot pro kreslení

Celé číslo

Celé číslo se dá kromě v desítkové soustavě vyjádřit i v soustavě šestnáctkové. Potom musí být uvozeno identifikátorem 0x nebo $.

Příklad

255 0xFF $FF

Reálné číslo

K oddělení desetinných míst se používá vždy desetinná tečka.

Barva

Barvu lze vyjádřit třemi způsoby:

  • Celým nezáporným číslem vyjadřující barvu v RGB dle Windows GDI
  • Symbolickým jménem dle definice HTML:
    black | silver
    gray | white
    maroon | red
    purple | fuchsia
    green | lime
    olive | yellow
    navy | blue
    teal | aqua
  • Jako hodnotu složek RGB uvedených v šestnáctkové soustavě. Takto uvedená barva musí být uvozena znakem # (ASCII 35).
Příklad

255 red #FF0000

Čára

Celé číslo. Pokud je kladné, vyjadřuje tloušťku čáry grafického elementu v pixelech, jinak vyjadřuje styl čáry:
0 | žádná čára
-1 | čárkovaná
-2 | tečkovaná
-3 | čerchovaná
-4 | čerchovaná se dvěma tečkami

Výplň

Celé číslo v intervalu 0 až 7. Určuje typ šrafy, kterou bude grafický element vyplněn:
0 | žádná výplň
1 | plná výplň
2 |
3 |
4 |
5 |
6 |
7 |

Text

V parametru, který je textový řetězec musí být znaky sloužící k oddělování parametrů uvozeny znakem \ (zpětné lomítko - ASCII 47). Pro zápis samotného zpětného lomítka se použije \\. Přehled znaků, které musí být zapsány tímto způsobem:
znak | zápis | ASCII | význam
& | \& | 38 | ampersand
( | \( | 40 | levá závorka
) | \) | 41 | pravá závorka
, | \, | 44 | čárka
; | \; | 59 | středník
= | \= | 61 | rovnítko
\ | \\ | 92 | zpětné lomítko

Související témata

Klíče pro operaci 3, Klíče pro operaci 4


Vyřizování požadavků

Na základě požadavků generuje TIS dočasné soubory *.GIF (*.JPG), *.XML a *.HTML), které slouží dynamickým HTML stránkám k získávání potřebných informací o zobrazovaných datech. V rastrových souborech (GIF nebo JPG) je uložen pohled na požadovaná data, v souboru XML je uložen výpis databázových atributů zobrazovaných dat a v souboru HTML je uložena klikací mapa (element <MAP> dle definice HTML) pro zobrazovaná data. Tyto soubory jsou ukládány do adresáře specifikovaného v INI souboru TISu (viz. kapitola Popis souboru INI). Po uplynutí doby určené také v tomto INI souboru je TIS automaticky maže. Soubory jsou pojmenovávány jako kontinuální řada osmimístných čísel v žestnáctkové soustavě s příslušnou příponou (00000000.* - FFFFFFFF.*). Po překročení hodnoty FFFFFFFF jsou soubory pojmenovávány znovu od nuly. Součástí odpovědi TISu na požadavek je vždy jméno dočasného souboru.

Po vygenerování dočasných souborů odpovídá TIS aplikaci ve formě standardně formátovaného řetězce. Tento řetězec aplikace čte buď z otevřeného socketu (pokud komunikujeme přes sockety) nebo z vlastnosti Result COM objektu AspTisX.AspTisObj (viz. Příklad komunikace s TISem v jazyce PHP a Příklad komunikace s TISem v jazyce ASP).

Řetězec z odpovědí má tvar Key1=Value1&Key2=Value2&...&KeyN=ValueN, kde Key je jméno klíče a Value jeho hodnota.

Klíče použité při odpovědi TISu
File | Jméno vygenerovaného obrázku (včetně celé cesty a přípony). Ostatní generované soubory mají stejné jméno, pouze jinou koncovku.
VMin | Minimální vertikální souřadnice vygenerovaného pohledu na data.
HMin | Minimální horizontální souřadnice vygenerovaného pohledu na data.
DVert | Vertikální velikost vygenerovaného pohledu na data.
DHorz | Horizontální velikost vygenerovaného pohledu na data.
RecCount | Počet nalezených databázových záznamů.

Poznámka: Odpověď TISu nemusí vždy obsahovat všechny tyto klíče. Například při odpovědi na generování měřítka (Operace 3) je v odpovědi uveden pouze klíč File, ostatní klíče v tomto případě nemají smysl.

Příklad

File=c:\out\00000008.gif&Vmin=7500162.530&Hmin=907015.342&Dvert=40250.122&Dhorz=55258.160&RecCount=126

Související témata

Komunikace s TISem, Zadávání požadavků