Struktura XML datotek: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
m
m (Primer grida za transformacijo koordinat)
 
(74 vmesnih redakcij 2 uporabnikov ni prikazanih)
Vrstica 1: Vrstica 1:
== TMS.XML ==
+
== CRS*.XML (transformacije koordinatnih sistemov) ==
 +
Transformacije koordinatnih sistemov so vgrajene v sam program. Parametri za Helmertovo 7-parametrsko transformacijo pa se lahko podajo v XML datoteki.
 +
=== Primer ===
 +
<pre>
 +
<?xml version="1.0" encoding="windows-1250"?>
 +
<crs>
 +
  <projection>
 +
    <prcode>SI-D48</prcode>
 +
    <transformation>
 +
      <trcode>GURS-08</trcode>
 +
      <trnote>Cela Slovenija (15-125cm)</trnote>
 +
      <trtowgs>409.545, 72.164, 486.872, 3.085957, 5.469110, -11.020289, 17.919665</trtowgs>
 +
      <trtocrs>-473.862, -124.587, -413.576, -4.730807, -2.380796, 11.786482, -10.645117</trtocrs>
 +
      <trtest>SITRANET, 16, 0, 0, 46, 0, 0, 577825.261, 95579.074</trtest>
 +
    </transformation>
 +
  </projection>
 +
</crs>
 +
</pre>
  
V vsakem navedenem SERVICE tagu se nahaja definicija posameznega TMS-a.
+
== TMS*.XML (definicije tile map servisov) ==
 +
=== Primer ===
 +
<pre>
 +
<?xml version="1.0" encoding="windows-1250"?>
 +
<tms>
 +
  <service>
 +
    <code>OSM</code>
 +
    <name>OSM - OpenStreetMap</name>
 +
    <server>a.tile.openstreetmap.org</server>
 +
    <server>b.tile.openstreetmap.org</server>
 +
    <server>c.tile.openstreetmap.org</server>
 +
    <levels>
 +
      <codes>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19</codes>
 +
      <link>/%Z/%X/%Y.png</link>
 +
    </levels>
 +
    <format>png</format>
 +
    <validity>7</validity>
 +
  </service>
 +
</tms>
 +
</pre>
  
Parametri TMS-a so naslednji:
+
=== Parametri taga SERVICE ===
 +
*CODE (1) - koda, ki naj bo unikatna in naj se nikoli ne spremeni
 +
*NAME (1) - opisno ime, tudi unikatno, da se pri izbiri lahko ločijo med sabo
 +
*CRS (0..1) - koda koordinatnega sistema, za kode poglej v CRS.XML (privzeto WGS-84)
 +
*ORIGIN (0..1) - izhodišče sistema, TOP za levo-zgoraj ali BOTTOM za levo-spodaj (privzeto TOP)
 +
*ORIGINX (0..1) - koordinata izhodišča sistema (levo) (privzeto 0)
 +
*ORIGINY (0..1) - koordinata izhodišča sistema (zgoraj/spodaj) (privzeto 0)
 +
*PIXELSIZE (0..1) - dimenzije piksla v metrih na prvem nivoju (privzeto 104857.6)
 +
*TILESIZE (0..1) - dimenzija slike v pikslih (privzeto 256)
 +
*FORMAT (1) - format slike, JPG, PNG ali TIF
 +
*VALIDITY (0..1) - število dni do ponovnega preverjanja veljavnosti (privzeto 7)
 +
*CHROMACOLORHEX (0..1) - barva, ki se naj spremeni v prozorno, npr. FFFFFE (privzeto 0)
 +
*CHROMATOLERANCE (0..1) - toleranca, za prozornost, npr. 1 (privzeto 0)
 +
*TOPLEVELINDEX (0..1) - index nivoja, na katerem se začnejo karte (če želimo ignorirati zgornje nivoje) (privzeto 0)
 +
*SERVER (1..N) - naslovi strežnikov
 +
*LEVELS (1..N) - definicije nivojev
  
CODE - Koda, ki naj bo unikatna in naj se nikoli ne spremeni
+
=== Parametri taga LEVELS ===
NAME - Opisno ime, tudi unikatno, da se pri izbiri ločijo med sabo
+
*CODES (1) - seznam šifer nivojev, ločenih z vejico
CRS - Koda koordinatnega sistema, za kode glej v CRS.XML
+
*LINK (1) - povezava na sliko, kjer se % sekvence nadomeščajo z dejanskimi vrednosti
ORIGIN - Izhodišče sistema, TOP za levo-zgoraj ali BOTTOM za levo-spodaj
+
 
ORIGINX - Koordinata izhodišča sistema (levo)
+
=== % sekvence ===
ORIGINY - Koordinata izhodišča sistema (zgoraj/spodaj)
+
*%Z se nadomesti s šifro nivoja
PIXELSIZE - Dimenzije piksla v metrih na prvem nivoju
+
*%X se nadomesti s horizontalnim indeksom slike
TILESIZE - Dimenzija slike v pikslih
+
*%Y se nadomesti z vertikalnim indeksom slike
FORMAT - Format slike, JPG ali PNG
+
*%Q se nadomesti s quad-tree nazivom slike
CHROMACOLORHEX - Barva, ki se naj spremeni v prozorno, npr. FFFFFE
+
 
CHROMATOLERANCE - Toleranca, za prozornost, npr. 1
+
== CTR*.XML (definicije barvnih transformacij) ==
TOPLEVELINDEX - Index nivoja, na katerem se začnejo karte (če želimo ignorirati zgornje nivoje)
+
=== Primer ===
SERVER * - Naslov strežnika, ki se lahko ponavlja, če je na voljo več strežnikov
+
<pre>
LEVELS * - Definicija nivojev, ki se lahko ponavlja, če so definicije nivojev različne
+
<?xml version="1.0" encoding="windows-1250"?>
  CODES - Seznam šifer nivojev, ločenih z vejico
+
<cts>
  LINK - opis povezave na sliko, kjer se naslednje sekvence nadomeščajo z dejanskimi vrednosti:
+
  <ct>
    %Z se nadomesti s šifro nivoja
+
    <ctcode>1</ctcode>
    %X se nadomesti s horizontalnim indeksom slike
+
    <ctname>Cyan, Orange - 8 Bands</ctname>
    %Y se nadomesti z vertikalnim indeksom slike
+
    <ctlinear>true</ctlinear>
    %Q se nadomesti s quad-tree nazivom slike
+
    <ctshadow>NW</ctshadow>
 +
    <ctpair>  0, 806000</ctpair>
 +
    <ctpair> 100, 808000</ctpair>
 +
    <ctpair> 200, A0A000</ctpair>
 +
    <ctpair> 300, C0C000</ctpair>
 +
    <ctpair> 400, F0F000</ctpair>
 +
    <ctpair> 600, CAE8DD</ctpair>
 +
    <ctpair> 800, 55AAFF</ctpair>
 +
    <ctpair>1000, 4484DD</ctpair>
 +
    <ctpair>1300, 337CCE</ctpair>
 +
    <ctpair>1700, 2967AB</ctpair>
 +
    <ctpair>2100, 1A416C</ctpair>
 +
    <ctpair>2900, 4A484D</ctpair>
 +
  </ct>
 +
</cts>
 +
</pre>
 +
=== Parametri taga CT ===
 +
*CTCODE (1) - koda barvne transformacije
 +
*CTNAME (1) - opisno ime barvne transformacije
 +
*CTLINEAR (0..1) - ali se vrednosti med dvema barvama linearno prelivajo (privzeto false)
 +
*CTSHADOW (0..1) - smer osvetlitve za senčenje NW, N, NE, W, E, SW, S, SE (privzeto se ne senči)
 +
*CTPAIR (1..N) - seznam parov vrednost,barva (primer 200,FF00FF)
 +
 
 +
== XML struktura piramide ==
 +
=== Uporaba ===
 +
'''PyramidBuildAll(Code As String)''' ponovno naloži XML datoteko, izdela vse nivoje in sestavi piramido.
 +
 
 +
=== Primer ===
 +
<pre>
 +
<?xml version="1.0" encoding="windows-1250"?>
 +
<store>
 +
  <name>Ortofoto (GURS-50cm)</name>
 +
  <tilesize>512</tilesize>
 +
  <crs>SI-D48</crs>
 +
  <format>jpg,75</format>
 +
  <minscale>100</minscale>
 +
  <sourcepath>D:\Podatki\Rasters\DOF-GURS\TM050</sourcepath>
 +
  <targetpath>D:\Podatki\Rasters\DOF-GURS\TM050</targetpath>
 +
  <level>
 +
    <code>050x001</code>
 +
    <pixelsize>0.50</pixelsize>
 +
    <maxscale>5000</maxscale>
 +
    <build>files,,,000000,FFFFFF,1</build>
 +
  </level>
 +
  <level>
 +
    <code>050x002</code>
 +
    <pixelsizemul>2</pixelsizemul>
 +
    <maxscalemul>2</maxscalemul>
 +
    <build>level</build>
 +
  </level>
 +
</store>
 +
</pre>
 +
 
 +
=== Parametri taga STORE ===
 +
 
 +
*NAME (1) - opisno ime, mora biti unikatno, da se pri izbiri lahko ločijo med sabo
 +
*CRS (1) - koda koordinatnega sistema, za kode poglej v CRS.XML (privzeto WGS-84), trenutno se še ne uporablja
 +
*TILESIZE (1) - velikost tilov v pikslih
 +
*FORMAT (1) - format tilov, TG4, LZW ali JPG (ki ima lahko dodatno še kvaliteto 0-100)
 +
*MINSCALE (0..1) - minimalno merilo, do katere se piramida izrisuje
 +
*COLOR (0..1) - barva za črnobele slike pri TG4, na primer FF00FF
 +
*CHROMA (0..1) - barva in toleraca za prozornost, na primer FFFFFF,10
 +
*SOURCEPATH (0..1) - predpona, ki se doda mapam vhodnih datotek za build
 +
*TARGETPATH (0..1) - mapa, kamor se shranijo vmesni rezultati builda (nivoji)
 +
*BUILDWINDOW (0..1) - okno, ki oklepa piramido, za optimizacijo builda (privzeto 250000,0,750000,250000)
 +
*LEVEL (1..N) - definicije izdelave nivojev
 +
 
 +
=== Parametri taga LEVEL ===
 +
*CODE (1) - unikatna koda nivoja
 +
*PIXELSIZE (0..1) - velikost piksla v metrih, obvezno podana na prvem nivoju; če ni podana, je dvojna vrednost prejšnjega nivoja
 +
*PIXELSIZEMUL (0..1) - če je podan PIXELSIZE, se množi s to vrednostjo (privzeto 1)
 +
*PIXELSIZEDIV (0..1) - če je podan PIXELSIZE, se deli s to vrednostjo (privzeto 1)
 +
*MAXSCALE (0..1) - največje merilo izrisa tega nivoja, obvezno podana na prvem nivoju; če ni podana, je dvojna vrednost prejšnjega nivoja
 +
*MAXSCALEMUL (0..1) - če je podan MAXSCALE, se množi s to vrednostjo (privzeto 1)
 +
*PREPAINT (0..1) -
 +
*BUILD (0..N) - navodila za kreiranje nivoja, obvezna na prvem nivoju (privzeto LEVEL)
 +
 
 +
=== Parametri taga BUILD ===
 +
Parametri so ločeni z vejico.  
 +
*FILES,mapa,filter,barva,chroma,toleranca
 +
**mapa (0..1) -
 +
**filter (0..1) -
 +
**barva (0..1) -  
 +
**chroma (0..1) -
 +
**toleranca (0..1) -
 +
*LIST,seznam,barva,chroma,toleranca
 +
**seznam (1) - ascii datoteka s seznamom kart
 +
**barva (0..1) -
 +
**chroma (0..1) -
 +
**toleranca (0..1) -
 +
*LEVEL,koda
 +
**koda (0..1) - koda nivoja, iz katerega se reducira trenutni nivo (privzeto prejšnji nivo)
 +
*GRID,grid,polje,transformacija
 +
**grid (1) - ime xml datoteke z definicijo grida
 +
**polje (1) - indeks polja iz grida, ki naj se uporabi
 +
**transformacija (1) - koda barvne transformacije
 +
*DRAW,tematika,ymin,xmin,ymax,xmax
 +
**tematika (1) - ime tematike, ki naj se izriše
 +
**ymin, xmin, ymax, xmax (1) - okno izrisa
 +
 
 +
== XML struktura grida ==
 +
=== Primer ===
 +
<pre>
 +
<?xml version="1.0" encoding="windows-1250"?>
 +
<grid>
 +
  <Crs>SI-D48</Crs>
 +
  <OriginY>371200</OriginY>
 +
  <OriginX>25600</OriginX>
 +
  <TileCountY>20</TileCountY>
 +
  <TileCountX>14</TileCountX>
 +
  <CellCountY>512</CellCountY>
 +
  <CellCountX>512</CellCountX>
 +
  <CellDimenY>25</CellDimenY>
 +
  <CellDimenX>25</CellDimenX>
 +
  <CellField>I02,100,-600</CellField>
 +
  <CellField>I02,100,+300</CellField>
 +
</Grid>
 +
</pre>
 +
=== Parametri taga GRID ===
 +
*...
 +
*...
 +
=== Parametri taga CELLFIELD ===
 +
*TIP (1): tip polja, ena od vrednosti: W01,W02,W04,I01,I02,I04,F04,F08
 +
*FAKTOR (0..1): celoštevilčni množitelj vrednosti, za optimizacijo
 +
*DELTA (0..1): celoštevilčni dodatek vrednosti, za optimizacijo
 +
 
 +
Interna vrednost polja se računa po formuli:
 +
*interna vrednost = (realna vrednost + delta) * faktor
 +
 
 +
=== Primer grida za transformacijo koordinat ===
 +
Primer XML datoteke (SI-D96;SI-D48):
 +
<pre>
 +
<?xml version="1.0" encoding="WINDOWS-1250"?>
 +
<Grid>
 +
<Crs>SI-D96</Crs>
 +
<OriginY>370000</OriginY>
 +
<OriginX>25000</OriginX>
 +
<CellDimenY>500</CellDimenY>
 +
<CellDimenX>500</CellDimenX>
 +
<TileCountY>1</TileCountY>
 +
<TileCountX>1</TileCountX>
 +
<CellCountY>520</CellCountY>
 +
<CellCountX>340</CellCountX>
 +
<CellField>I02,1000,-370</CellField>
 +
<CellField>I02,1000,+485</CellField>
 +
</Grid>
 +
 
 +
</pre>
 +
Procedura za izračun grida:
 +
<pre>
 +
Dim G As TGrid, IY, IX As Long, Y1, X1, X2, Y2 As Float
 +
G = CreateGrid(ProgramPath + 'QTS;SI-D96;SI-D48.XML')
 +
If Assigned(G) Then
 +
  CRSToCRSParams('SI-D48', 'SI-D96')
 +
  For IY = 0 To G.TileCountY * G.CellCountY - 1
 +
    Y1 = G.OriginY + IY * G.CellDimenY + G.CellDimenY / 2
 +
    For IX = 0 To G.TileCountX * G.CellCountX - 1
 +
      X1 = G.OriginX + IX * G.CellDimenX + G.CellDimenX / 2
 +
      CRSToCRS(Y1, X1, Y2, X2)
 +
      G.CellValue(Y1, X1, 0) = Y2 - Y1
 +
      G.CellValue(Y1, X1, 1) = X2 - X1
 +
    Next
 +
  Next
 +
  G.Save
 +
  G.Destroy
 +
EndIf
 +
</pre>

Trenutna redakcija s časom 14:13, 12. november 2015

CRS*.XML (transformacije koordinatnih sistemov)

Transformacije koordinatnih sistemov so vgrajene v sam program. Parametri za Helmertovo 7-parametrsko transformacijo pa se lahko podajo v XML datoteki.

Primer

<?xml version="1.0" encoding="windows-1250"?>
<crs>
  <projection>
    <prcode>SI-D48</prcode>
    <transformation>
      <trcode>GURS-08</trcode>
      <trnote>Cela Slovenija (15-125cm)</trnote>
      <trtowgs>409.545, 72.164, 486.872, 3.085957, 5.469110, -11.020289, 17.919665</trtowgs>
      <trtocrs>-473.862, -124.587, -413.576, -4.730807, -2.380796, 11.786482, -10.645117</trtocrs>
      <trtest>SITRANET, 16, 0, 0, 46, 0, 0, 577825.261, 95579.074</trtest>
    </transformation>
  </projection>
</crs>

TMS*.XML (definicije tile map servisov)

Primer

<?xml version="1.0" encoding="windows-1250"?>
<tms>
  <service>
    <code>OSM</code>
    <name>OSM - OpenStreetMap</name>
    <server>a.tile.openstreetmap.org</server>
    <server>b.tile.openstreetmap.org</server>
    <server>c.tile.openstreetmap.org</server>
    <levels>
      <codes>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19</codes>
      <link>/%Z/%X/%Y.png</link>
    </levels>
    <format>png</format>
    <validity>7</validity>
  </service>
</tms>

Parametri taga SERVICE

  • CODE (1) - koda, ki naj bo unikatna in naj se nikoli ne spremeni
  • NAME (1) - opisno ime, tudi unikatno, da se pri izbiri lahko ločijo med sabo
  • CRS (0..1) - koda koordinatnega sistema, za kode poglej v CRS.XML (privzeto WGS-84)
  • ORIGIN (0..1) - izhodišče sistema, TOP za levo-zgoraj ali BOTTOM za levo-spodaj (privzeto TOP)
  • ORIGINX (0..1) - koordinata izhodišča sistema (levo) (privzeto 0)
  • ORIGINY (0..1) - koordinata izhodišča sistema (zgoraj/spodaj) (privzeto 0)
  • PIXELSIZE (0..1) - dimenzije piksla v metrih na prvem nivoju (privzeto 104857.6)
  • TILESIZE (0..1) - dimenzija slike v pikslih (privzeto 256)
  • FORMAT (1) - format slike, JPG, PNG ali TIF
  • VALIDITY (0..1) - število dni do ponovnega preverjanja veljavnosti (privzeto 7)
  • CHROMACOLORHEX (0..1) - barva, ki se naj spremeni v prozorno, npr. FFFFFE (privzeto 0)
  • CHROMATOLERANCE (0..1) - toleranca, za prozornost, npr. 1 (privzeto 0)
  • TOPLEVELINDEX (0..1) - index nivoja, na katerem se začnejo karte (če želimo ignorirati zgornje nivoje) (privzeto 0)
  • SERVER (1..N) - naslovi strežnikov
  • LEVELS (1..N) - definicije nivojev

Parametri taga LEVELS

  • CODES (1) - seznam šifer nivojev, ločenih z vejico
  • LINK (1) - povezava na sliko, kjer se % sekvence nadomeščajo z dejanskimi vrednosti

% sekvence

  • %Z se nadomesti s šifro nivoja
  • %X se nadomesti s horizontalnim indeksom slike
  • %Y se nadomesti z vertikalnim indeksom slike
  • %Q se nadomesti s quad-tree nazivom slike

CTR*.XML (definicije barvnih transformacij)

Primer

<?xml version="1.0" encoding="windows-1250"?>
<cts>
  <ct>
    <ctcode>1</ctcode>
    <ctname>Cyan, Orange - 8 Bands</ctname>
    <ctlinear>true</ctlinear>
    <ctshadow>NW</ctshadow>
    <ctpair>   0, 806000</ctpair>
    <ctpair> 100, 808000</ctpair>
    <ctpair> 200, A0A000</ctpair>
    <ctpair> 300, C0C000</ctpair>
    <ctpair> 400, F0F000</ctpair>
    <ctpair> 600, CAE8DD</ctpair>
    <ctpair> 800, 55AAFF</ctpair>
    <ctpair>1000, 4484DD</ctpair>
    <ctpair>1300, 337CCE</ctpair>
    <ctpair>1700, 2967AB</ctpair>
    <ctpair>2100, 1A416C</ctpair>
    <ctpair>2900, 4A484D</ctpair>
  </ct>
</cts>

Parametri taga CT

  • CTCODE (1) - koda barvne transformacije
  • CTNAME (1) - opisno ime barvne transformacije
  • CTLINEAR (0..1) - ali se vrednosti med dvema barvama linearno prelivajo (privzeto false)
  • CTSHADOW (0..1) - smer osvetlitve za senčenje NW, N, NE, W, E, SW, S, SE (privzeto se ne senči)
  • CTPAIR (1..N) - seznam parov vrednost,barva (primer 200,FF00FF)

XML struktura piramide

Uporaba

PyramidBuildAll(Code As String) ponovno naloži XML datoteko, izdela vse nivoje in sestavi piramido.

Primer

<?xml version="1.0" encoding="windows-1250"?>
<store>
  <name>Ortofoto (GURS-50cm)</name>
  <tilesize>512</tilesize>
  <crs>SI-D48</crs>
  <format>jpg,75</format>
  <minscale>100</minscale>
  <sourcepath>D:\Podatki\Rasters\DOF-GURS\TM050</sourcepath>
  <targetpath>D:\Podatki\Rasters\DOF-GURS\TM050</targetpath>
  <level>
    <code>050x001</code>
    <pixelsize>0.50</pixelsize>
    <maxscale>5000</maxscale>
    <build>files,,,000000,FFFFFF,1</build>
  </level>
  <level>
    <code>050x002</code>
    <pixelsizemul>2</pixelsizemul>
    <maxscalemul>2</maxscalemul>
    <build>level</build>
  </level>
</store>

Parametri taga STORE

  • NAME (1) - opisno ime, mora biti unikatno, da se pri izbiri lahko ločijo med sabo
  • CRS (1) - koda koordinatnega sistema, za kode poglej v CRS.XML (privzeto WGS-84), trenutno se še ne uporablja
  • TILESIZE (1) - velikost tilov v pikslih
  • FORMAT (1) - format tilov, TG4, LZW ali JPG (ki ima lahko dodatno še kvaliteto 0-100)
  • MINSCALE (0..1) - minimalno merilo, do katere se piramida izrisuje
  • COLOR (0..1) - barva za črnobele slike pri TG4, na primer FF00FF
  • CHROMA (0..1) - barva in toleraca za prozornost, na primer FFFFFF,10
  • SOURCEPATH (0..1) - predpona, ki se doda mapam vhodnih datotek za build
  • TARGETPATH (0..1) - mapa, kamor se shranijo vmesni rezultati builda (nivoji)
  • BUILDWINDOW (0..1) - okno, ki oklepa piramido, za optimizacijo builda (privzeto 250000,0,750000,250000)
  • LEVEL (1..N) - definicije izdelave nivojev

Parametri taga LEVEL

  • CODE (1) - unikatna koda nivoja
  • PIXELSIZE (0..1) - velikost piksla v metrih, obvezno podana na prvem nivoju; če ni podana, je dvojna vrednost prejšnjega nivoja
  • PIXELSIZEMUL (0..1) - če je podan PIXELSIZE, se množi s to vrednostjo (privzeto 1)
  • PIXELSIZEDIV (0..1) - če je podan PIXELSIZE, se deli s to vrednostjo (privzeto 1)
  • MAXSCALE (0..1) - največje merilo izrisa tega nivoja, obvezno podana na prvem nivoju; če ni podana, je dvojna vrednost prejšnjega nivoja
  • MAXSCALEMUL (0..1) - če je podan MAXSCALE, se množi s to vrednostjo (privzeto 1)
  • PREPAINT (0..1) -
  • BUILD (0..N) - navodila za kreiranje nivoja, obvezna na prvem nivoju (privzeto LEVEL)

Parametri taga BUILD

Parametri so ločeni z vejico.

  • FILES,mapa,filter,barva,chroma,toleranca
    • mapa (0..1) -
    • filter (0..1) -
    • barva (0..1) -
    • chroma (0..1) -
    • toleranca (0..1) -
  • LIST,seznam,barva,chroma,toleranca
    • seznam (1) - ascii datoteka s seznamom kart
    • barva (0..1) -
    • chroma (0..1) -
    • toleranca (0..1) -
  • LEVEL,koda
    • koda (0..1) - koda nivoja, iz katerega se reducira trenutni nivo (privzeto prejšnji nivo)
  • GRID,grid,polje,transformacija
    • grid (1) - ime xml datoteke z definicijo grida
    • polje (1) - indeks polja iz grida, ki naj se uporabi
    • transformacija (1) - koda barvne transformacije
  • DRAW,tematika,ymin,xmin,ymax,xmax
    • tematika (1) - ime tematike, ki naj se izriše
    • ymin, xmin, ymax, xmax (1) - okno izrisa

XML struktura grida

Primer

<?xml version="1.0" encoding="windows-1250"?>
<grid>
  <Crs>SI-D48</Crs>
  <OriginY>371200</OriginY>
  <OriginX>25600</OriginX>
  <TileCountY>20</TileCountY>
  <TileCountX>14</TileCountX>
  <CellCountY>512</CellCountY>
  <CellCountX>512</CellCountX>
  <CellDimenY>25</CellDimenY>
  <CellDimenX>25</CellDimenX>
  <CellField>I02,100,-600</CellField>
  <CellField>I02,100,+300</CellField>
</Grid>

Parametri taga GRID

  • ...
  • ...

Parametri taga CELLFIELD

  • TIP (1): tip polja, ena od vrednosti: W01,W02,W04,I01,I02,I04,F04,F08
  • FAKTOR (0..1): celoštevilčni množitelj vrednosti, za optimizacijo
  • DELTA (0..1): celoštevilčni dodatek vrednosti, za optimizacijo

Interna vrednost polja se računa po formuli:

  • interna vrednost = (realna vrednost + delta) * faktor

Primer grida za transformacijo koordinat

Primer XML datoteke (SI-D96;SI-D48):

<?xml version="1.0" encoding="WINDOWS-1250"?>
<Grid>
	<Crs>SI-D96</Crs>
	<OriginY>370000</OriginY>
	<OriginX>25000</OriginX>
	<CellDimenY>500</CellDimenY>
	<CellDimenX>500</CellDimenX>
	<TileCountY>1</TileCountY>
	<TileCountX>1</TileCountX>
	<CellCountY>520</CellCountY>
	<CellCountX>340</CellCountX>
	<CellField>I02,1000,-370</CellField>
	<CellField>I02,1000,+485</CellField>
</Grid>

Procedura za izračun grida:

Dim G As TGrid, IY, IX As Long, Y1, X1, X2, Y2 As Float
G = CreateGrid(ProgramPath + 'QTS;SI-D96;SI-D48.XML')
If Assigned(G) Then
  CRSToCRSParams('SI-D48', 'SI-D96')
  For IY = 0 To G.TileCountY * G.CellCountY - 1
    Y1 = G.OriginY + IY * G.CellDimenY + G.CellDimenY / 2
    For IX = 0 To G.TileCountX * G.CellCountX - 1
      X1 = G.OriginX + IX * G.CellDimenX + G.CellDimenX / 2
      CRSToCRS(Y1, X1, Y2, X2)
      G.CellValue(Y1, X1, 0) = Y2 - Y1
      G.CellValue(Y1, X1, 1) = X2 - X1
    Next
  Next
  G.Save
  G.Destroy
EndIf