TTransform: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
m
m (Area)
 
(42 vmesnih redakcij 2 uporabnikov ni prikazanih)
Vrstica 1: Vrstica 1:
__NOTOC__
 
 
{{Work}}
 
{{Work}}
 
Razred '''TTransform''' je namenjen transformaciji koordinat.
 
Razred '''TTransform''' je namenjen transformaciji koordinat.
  
<my test="1">
+
==Tipična uporaba==
par1,tip,opis
+
Uporabnik lahko sam ročno nastavi parametre v prikazanem oknu in nato izvede transformacijo:
par2,tip,opis
+
<source>// odpre masko z nastavitvami in nato izvede transformacijo
par3,tip,opis
+
If Transform.Edit Then
</my>
+
  Transform.Execute
 +
EndIf</source>
  
Tipično se uporablja na dva načina.
+
===Edit===
 +
Metoda '''Edit''' odpre masko za ročno določanje nastavitev transformacije.
 +
<declaration>
 +
Method|TTransform.Edit
 +
Result|Optional Boolean|Vrne ''true/false'' glede na to, ali je uporabnik zapustil masko s ''Potrdi'' oz. ''Opusti''.
 +
</declaration>
  
Uporabnik lahko sam nastavi parametre v prikazanem oknu:
+
===Execute===
<source class="example">
+
Metoda '''Execute''' izvede transformacijo podatkov iz vhodne v izhodno podatkovno plast.
// odpre masko z nastavitvami in nato izvede transformacijo
+
<declaration>
If Transform.Edit Then
+
Method|TTransform.Execute
  Transform.Execute
+
Result|Optional Boolean|Metoda vrne ''true/false'' glede na to, ali se je transformacija uspešno izvedla.
EndIf
+
</declaration>
</source>
 
  
ali pa izvede transformacijo s fiksnimi nastavitvami:
+
==Direktna uporaba s parametri==
<source class="example">
+
Transformacija se lahko izvede tudi avtomatsko z vnaprej določenimi parametri:
// naredi nekaj
+
<source>Dim PA As TPointArray
Transform.InputLayer = [ime plasti]
+
Transform.InputLayer = [vhodna plast]
Transform.OutputLayer = L2
+
Transform.OutputLayer = [izhodna plast]
Transform.TransformType = 1
+
Transform.TransformType = ...
Transform.TransformLayer = L
+
// nastavimo še ostale parametre transformacije
Transform.TransformCoorType = 2
+
Transform.Execute</source>
If InputPolygon ("Vnesi območje transformacije", PA) Then
 
  Transform.Area = PA
 
  Destroy (PA)
 
Else
 
  Transform.Area = Nil
 
EndIf
 
Transform.Execute
 
</source>
 
  
==Edit==
+
===InputLayer===
<source class="declaration">Method TTransform.Edit As Boolean</source>
+
Lastnost '''InputLayer''' določa vhodno podatkovno plast transformacije.
Metoda '''Edit''' odpre masko za roćno določanje nastavitev transformacije. Metoda vrne ''true/false'' glede na to, ali je uporabnik zapustil masko s ''Potrdi'' oz. ''Opusti''.
+
<declaration>
 +
Property|TTransform.InputLayer
 +
Result|TLayer|Vhodna podatkovna plast.
 +
</declaration>
 +
Te lastnosti ni potrebno nastavljati, kadar se nastavi {{PL|InputRecordList}}, ker se upošteva kar podatkovna plast iz liste zapisov.
  
==Execute==
+
===InputRecordList===
<source class="declaration">Method TTransform.Execute As Boolean</source>
+
Lastnost '''InputRecordList''' določa vhodno listo zapisov transformacije.
Metoda '''Execute''' izvede transformacijo podatkov iz vhodne v izhodno podatkovno plast. Metoda vrne ''true/false'' glede na to, ali se je transformacija uspešno izvedla.
+
<declaration>
 +
Property|TTransform.InputRecordList
 +
Result|TRecordList|Vhodna lista zapisov.
 +
</declaration>
 +
Če se ne nastavi oz. je nastavljena na ''nil'', se privzame lista vseh zapisov. Če se nastavi, ni potrebno dodatno nastavljati {{PL|InputLayer}}, saj se plast prevzame iz liste zapisov.
  
==InputLayer==
+
===OutputLayer===
<source class="declaration">Property TTransform.InputLayer As TLayer</source>
+
Lastnost '''OutputLayer''' določa izhodno plast transformacije.
Lastnosti '''InputLayer''' nastavimo vhodno podatkovno plast transformacije. Kadar se nastavi [[TTransform#InputRecordList|InputRecordList]], je ni potrebno nastavljati, ker se upošteva kar podatkovna plast iz liste zapisov.
+
<declaration>
 +
Property|TTransform.OutputLayer
 +
Result|TLayer|Izhodna plast transformacije.
 +
</declaration>
 +
Če se ne nastavi, se avtomatsko naredi nova plast in je po {{PL|Execute}} ukazu shranjena referenca na novo plast. Če pa je nastavljena, se podatki in struktura obstoječe plasti briše in ponovno nastavi iz vhodne plasti za transformacijo.
  
==InputRecordList==
+
===TransformType===
<source class="declaration">Property TTransform.InputRecordList As TRecordList</source>
+
Lastnost '''TransformType''' določa tip transformacije.  
Lastnosti '''InputRecordList''' nastavimo vhodno listo zapisov transformacije. Če se ne nastavi oz. je nastavljena na ''nil'', se privzame lista vseh zapisov. Če se nastavi, ni potrebno dodatno nastavljati [[TTransform#InputLayer|InputLayer]], saj se plast prevzame iz liste zapisov.
+
<declaration>
 +
Property|TTransform.TransformType
 +
Result|Long|Tip transformacije:
 +
*0 - Linearna transformacija
 +
*1 - Po kvadratu oddaljenosti
 +
*2 - Po kvadratu oddaljenosti (za veliko transformacijskih točk)
 +
*3 - Med koordinatnimi sistemi
 +
</declaration>
  
 +
===Area===
 +
Lastnost '''Area''' določa območje transformacije.
 +
<declaration>
 +
Property|TTransform.Area
 +
Result|TPointArray|Poligon, znotraj katerega se izvaja transformacija. Če je ''nil'', se transformira cela plast. Naredi se kopija podanega poligona.
 +
</declaration>
  
 +
Transformirale se bodo le koordinate, ki so v vhodnih podatkih znotraj poligona. Če se transformira poligon oziroma polilinija in je le ta delno znotraj poligona, se transformirajo samo te točke, ostale pa ostanejo nespremenjene.
 +
<source>// ...
 +
Dim PA As TPointArray
 +
PA = CurRec.PointArray
 +
Transform.Area = PA
 +
Destroy (PA)
 +
// ...</source>
  
 +
==Transformacija med koordinatnimi sistemi==
 +
<source>// izvedemo transformacijo iz D48 v D96
 +
Transform.InputLayer = [vhodna plast]
 +
Transform.OutputLayer = Nil
 +
Transform.TransformType = 3
 +
Transform.TransformInputCS = "SI-D48,,GURS-08"
 +
Transform.TransformOutputCS = "SI-D96"
 +
Transform.Execute</source>
  
 +
===TransformInputCS===
 +
Lastnost '''TransformInputCS''' vsebuje {{ToDo|opis koordinatnih sistemov}}.
 +
<declaration>
 +
Property|TTransform.TransformInputCS
 +
Result|String|Šifra in parametri koordinatnega sistema vhodne plasti.
 +
</declaration>
  
 +
===TransformOutputCS===
 +
Lastnost '''TransformOutputCS''' {{ToDo}}.
 +
<declaration>
 +
Property|TTransform.TransformOutputCS
 +
Result|String|Šifra in parametri koordinatnega sistema izhodne plasti.
 +
</declaration>
 +
<source></source>
  
 +
==Linearna transformacija==
 +
<source>/*
 +
  izvedemo transformacijo
 +
  Zrcaljenje po horizontali okoli 500000
 +
  raztezek po vertikali od 100000
 +
  Rotacija za 90 stopinj
 +
  in zamik za 5 in 10 metrov
 +
*/
 +
Transform.InputLayer = [vhodna plast]
 +
Transform.OutputLayer = Nil
 +
Transform.TransformType = 0
 +
Transform.TransformBasePointY = 500000
 +
Transform.TransformBasePointX = 100000
 +
Transform.TransformBasePointFacY = -1
 +
Transform.TransformBasePointFacX = 2
 +
Transform.TransformBasePointAngle = DegToRad (90)
 +
Transform.TransformBasePointDeltaY = 5
 +
Transform.TransformBasePointDeltaX = 10
 +
Transform.Execute</source>
  
 +
===TransformBasePointY===
 +
Lastnost '''TransformBasePointY''' določa horizontalno koordinato.
 +
<declaration>
 +
Property|TTransform.TransformBasePointY
 +
Result|Float|.
 +
</declaration>
  
 +
===TransformBasePointX===
 +
Lastnost '''TransformBasePointX''' določa vertikalno koordinato.
 +
<declaration>
 +
Property|TTransform.TransformBasePointX
 +
Result|Float|.
 +
</declaration>
  
 +
===TransformBasePointFacY===
 +
Lastnost '''TransformBasePointFacY''' določa horizontalni raztezek glede na {{PL|TransformBasePointY}}.
 +
<declaration>
 +
Property|TTransform.TransformBasePointFacY
 +
Result|Float|.
 +
</declaration>
  
==TransformType==
+
===TransformBasePointFacX===
 +
Lastnost '''TransformBasePointFacX''' določa vertikalni raztezek glede na {{PL|TransformBasePointX}}.
 +
<declaration>
 +
Property|TTransform.TransformBasePointFacX
 +
Result|Float|.
 +
</declaration>
  
0 - Linearna transformacija
+
===TransformBasePointAngle===
1 - Po kvadratu oddaljenosti
+
Lastnost '''TransformBasePointAngle''' določa rotacijo okoli točke ({{PL|TransformBasePointY}}, {{PL|TransformBasePointX}}).
2 - Kvadrat oddaljenosti (Veliko transformacijskih točk)
+
<declaration>
3 - Med koordinatnimi sistemi
+
Property|TTransform.TransformBasePointAngle
 +
Result|Float|.
 +
</declaration>
  
==TransformLayer==
+
===TransformBasePointDeltaX===
 +
Lastnost '''TransformBasePointDeltaX''' določa vertikalni zamik.
 +
<declaration>
 +
Property|TTransform.TransformBasePointDeltaX
 +
Result|Float|.
 +
</declaration>
  
==TransformRecordList==
+
===TransformBasePointDeltaY===
 +
Lastnost '''TransformBasePointDeltaY''' določa horizontalni zamik.
 +
<declaration>
 +
Property|TTransform.TransformBasePointDeltaY
 +
Result|Float|.
 +
</declaration>
  
==TransformCoorType==
+
==Transformacija po kvadratu oddaljenosti==
0 - Centroid + Nova lokacija
+
<source>// izvedemo transformacijo po transformacijskih vektorjih
1 - Centroid + Stara lokacija
+
Transform.InputLayer = [vhodna plast]
2 - Linija (stare proti novi lokaciji)
+
Transform.OutputLayer = Nil
            '
+
Transform.TransformType = 1 // ali 2
 +
Transform.TransformLayer = [transformacijska plast]
 +
Transform.TransformCoorType = 1
 +
Transform.TransformFieldY = Transform.TransformLayer.GetField ('Y')
 +
Transform.TransformFieldX = Transform.TransformLayer.GetField ('X')
 +
Transform.Execute</source>
  
==TransformFieldY==
+
===TransformLayer===
 +
Lastnost '''TransformLayer''' določa podatkovno plast, ki vsebuje transformacijske vektorje.
 +
<declaration>
 +
Property|TTransform.TransformLayer
 +
Result|TLayer|Transformacijska podatkovna plast.
 +
</declaration>
 +
Te lastnosti ni potrebno nastavljati, kadar se nastavi {{PL|TransformRecordList}}, ker se upošteva kar podatkovna plast iz liste zapisov.
  
==TransformFieldX==
+
===TransformRecordList===
 +
Lastnost '''TransformRecordList''' določa listo zapisov transformacijskih vektorjev.
 +
<declaration>
 +
Property|TTransform.TransformRecordList
 +
Result|TRecordList|Transformacijska lista zapisov.
 +
</declaration>
 +
Če se ne nastavi oz. je nastavljena na ''nil'', se privzame lista vseh zapisov. Če se nastavi, ni potrebno dodatno nastavljati {{PL|TransformLayer}}, saj se plast prevzame iz liste zapisov.
  
<source class="declaration">OutputLayer|Property TTransform.OutputLayer As TLayer</source>
+
===TransformCoorType===
Lastnost '''OutputLayer''' nastavlja izhodno plast transformacije. Če se ne nastavi, se avtomatsko naredi nova plast in je po [[TTransform#Execute|Execute]] ukazu shranjena referenca na novo plast. Če pa je nastavljena, se podatki in struktura obstoječe plasti briše in ponovno nastavi iz vhodne plasti za transformacijo.
+
Lastnost '''TransformCoorType''' določa kako so podani transformacijski vektorji.
<source class="example">Transform.OutputLayer = [Ime Plasti]</source>
+
<declaration>
 +
Property|TTransform.TransformCoorType
 +
Result|Long|Tipi transformacijskih vektorjev:<ul><li>0 - Centroid + Nova lokacija</li><li>1 - Centroid + Stara lokacija</li><li>2 - Linija (Od stare proti novi lokaciji)</li></ul>
 +
</declaration>
 +
V primeru transformacije s točko in polji ''TransformCoorType = 0 ali 1'', je potrebno nastaviti tudi {{PL|TransformFieldY}} in {{PL|TransformFieldX}}
  
==Area==
+
===TransformFieldY===
 +
Lastnost '''TransformFieldY''' določa polje, ki vsebuje Y koordinato transformacijskih vektorjev.
 +
<declaration>
 +
Property|TTransform.TransformFieldY
 +
Result|TField|Polje z Y koordinato.
 +
</declaration>
 +
V primeru transformacije z linijami ''{{PL|TransformCoorType}} = 2'', se lastnost ignorira.
  
 +
===TransformFieldX===
 +
Lastnost '''TransformFieldX''' določa polje, ki vsebuje X koordinato transformacijskih vektorjev.
 +
<declaration>
 +
Property|TTransform.TransformFieldX
 +
Result|TField|Polje z X koordinato.
 +
</declaration>
 +
V primeru transformacije z linijami ''{{PL|TransformCoorType}} = 2'', se lastnost ignorira.
  
 
+
[[Category:Razredi|Transform]]
 
+
[[Category:SDMS Basic|Transform]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==Area==
 
<source class="declaration">Property TTransform.Area As TPointArray</source>
 
Property '''Area''' .
 
{| class="param"
 
| '''Result''' || ''TPointArray'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==Edit==
 
<source class="declaration">Method TTransform.Edit As Boolean</source>
 
Method '''Edit''' .
 
{| class="param"
 
| '''Result''' || ''Boolean'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==Execute==
 
<source class="declaration">Method TTransform.Execute As Boolean</source>
 
Method '''Execute''' .
 
{| class="param"
 
| '''Result''' || ''Boolean'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==InputLayer==
 
<source class="declaration">Property TTransform.InputLayer As TLayer</source>
 
Property '''InputLayer''' .
 
{| class="param"
 
| '''Result''' || ''TLayer'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==InputRecordList==
 
<source class="declaration">Property TTransform.InputRecordList As TRecordList</source>
 
Property '''InputRecordList''' .
 
{| class="param"
 
| '''Result''' || ''TRecordList'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==OutputLayer==
 
<source class="declaration">Property TTransform.OutputLayer As TLayer</source>
 
Property '''OutputLayer''' .
 
{| class="param"
 
| '''Result''' || ''TLayer'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointAngle==
 
<source class="declaration">Property TTransform.TransformBasePointAngle As Float</source>
 
Property '''TransformBasePointAngle''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointDeltaX==
 
<source class="declaration">Property TTransform.TransformBasePointDeltaX As Float</source>
 
Property '''TransformBasePointDeltaX''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointDeltaY==
 
<source class="declaration">Property TTransform.TransformBasePointDeltaY As Float</source>
 
Property '''TransformBasePointDeltaY''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointFacX==
 
<source class="declaration">Property TTransform.TransformBasePointFacX As Float</source>
 
Property '''TransformBasePointFacX''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointFacY==
 
<source class="declaration">Property TTransform.TransformBasePointFacY As Float</source>
 
Property '''TransformBasePointFacY''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointX==
 
<source class="declaration">Property TTransform.TransformBasePointX As Float</source>
 
Property '''TransformBasePointX''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformBasePointY==
 
<source class="declaration">Property TTransform.TransformBasePointY As Float</source>
 
Property '''TransformBasePointY''' .
 
{| class="param"
 
| '''Result''' || ''Float'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformCoorType==
 
<source class="declaration">Property TTransform.TransformCoorType As Long</source>
 
Property '''TransformCoorType''' .
 
{| class="param"
 
| '''Result''' || ''Long'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformFieldX==
 
<source class="declaration">Property TTransform.TransformFieldX As TField</source>
 
Property '''TransformFieldX''' .
 
{| class="param"
 
| '''Result''' || ''TField'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformFieldY==
 
<source class="declaration">Property TTransform.TransformFieldY As TField</source>
 
Property '''TransformFieldY''' .
 
{| class="param"
 
| '''Result''' || ''TField'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformInputCS==
 
<source class="declaration">Property TTransform.TransformInputCS As String</source>
 
Property '''TransformInputCS''' .
 
{| class="param"
 
| '''Result''' || ''String'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformLayer==
 
<source class="declaration">Property TTransform.TransformLayer As TLayer</source>
 
Property '''TransformLayer''' .
 
{| class="param"
 
| '''Result''' || ''TLayer'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformOutputCS==
 
<source class="declaration">Property TTransform.TransformOutputCS As String</source>
 
Property '''TransformOutputCS''' .
 
{| class="param"
 
| '''Result''' || ''String'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformRecordList==
 
<source class="declaration">Property TTransform.TransformRecordList As TRecordList</source>
 
Property '''TransformRecordList''' .
 
{| class="param"
 
| '''Result''' || ''TRecordList'' || .
 
|}
 
<source class="example">
 
</source>
 
2010-03-20 16:02:54
 
==TransformType==
 
<source class="declaration">Property TTransform.TransformType As Long</source>
 
Property '''TransformType''' .
 
{| class="param"
 
| '''Result''' || ''Long'' || .
 
|}
 
<source class="example">
 
</source>
 
 
 
 
 
[[Category:Razredi]]
 
[[Category:SDMS Basic]]
 

Trenutna redakcija s časom 11:56, 23. januar 2014

Ta stran je trenutno še v izdelavi.

Razred TTransform je namenjen transformaciji koordinat.

Tipična uporaba

Uporabnik lahko sam ročno nastavi parametre v prikazanem oknu in nato izvede transformacijo:

// odpre masko z nastavitvami in nato izvede transformacijo
If Transform.Edit Then
  Transform.Execute
EndIf

Edit

Metoda Edit odpre masko za ročno določanje nastavitev transformacije.

Method TTransform.Edit As Boolean
ResultOptional BooleanVrne true/false glede na to, ali je uporabnik zapustil masko s Potrdi oz. Opusti.

Execute

Metoda Execute izvede transformacijo podatkov iz vhodne v izhodno podatkovno plast.

Method TTransform.Execute As Boolean
ResultOptional BooleanMetoda vrne true/false glede na to, ali se je transformacija uspešno izvedla.

Direktna uporaba s parametri

Transformacija se lahko izvede tudi avtomatsko z vnaprej določenimi parametri:

Dim PA As TPointArray
Transform.InputLayer = [vhodna plast]
Transform.OutputLayer = [izhodna plast]
Transform.TransformType = ...
// nastavimo še ostale parametre transformacije
Transform.Execute

InputLayer

Lastnost InputLayer določa vhodno podatkovno plast transformacije.

Property TTransform.InputLayer As TLayer
ResultTLayerVhodna podatkovna plast.

Te lastnosti ni potrebno nastavljati, kadar se nastavi InputRecordList, ker se upošteva kar podatkovna plast iz liste zapisov.

InputRecordList

Lastnost InputRecordList določa vhodno listo zapisov transformacije.

Property TTransform.InputRecordList As TRecordList
ResultTRecordListVhodna lista zapisov.

Če se ne nastavi oz. je nastavljena na nil, se privzame lista vseh zapisov. Če se nastavi, ni potrebno dodatno nastavljati InputLayer, saj se plast prevzame iz liste zapisov.

OutputLayer

Lastnost OutputLayer določa izhodno plast transformacije.

Property TTransform.OutputLayer As TLayer
ResultTLayerIzhodna plast transformacije.

Če se ne nastavi, se avtomatsko naredi nova plast in je po Execute ukazu shranjena referenca na novo plast. Če pa je nastavljena, se podatki in struktura obstoječe plasti briše in ponovno nastavi iz vhodne plasti za transformacijo.

TransformType

Lastnost TransformType določa tip transformacije.

Property TTransform.TransformType (*0 - Linearna transformacija , *1 - Po kvadratu oddaljenosti , *2 - Po kvadratu oddaljenosti (za veliko transformacijskih točk) , *3 - Med koordinatnimi sistemi As ERROR) As Long
ResultLongTip transformacije:

Area

Lastnost Area določa območje transformacije.

Property TTransform.Area As TPointArray
ResultTPointArrayPoligon, znotraj katerega se izvaja transformacija. Če je nil, se transformira cela plast. Naredi se kopija podanega poligona.

Transformirale se bodo le koordinate, ki so v vhodnih podatkih znotraj poligona. Če se transformira poligon oziroma polilinija in je le ta delno znotraj poligona, se transformirajo samo te točke, ostale pa ostanejo nespremenjene.

// ...
Dim PA As TPointArray
PA = CurRec.PointArray
Transform.Area = PA
Destroy (PA)
// ...

Transformacija med koordinatnimi sistemi

// izvedemo transformacijo iz D48 v D96
Transform.InputLayer = [vhodna plast]
Transform.OutputLayer = Nil
Transform.TransformType = 3
Transform.TransformInputCS = "SI-D48,,GURS-08"
Transform.TransformOutputCS = "SI-D96"
Transform.Execute

TransformInputCS

Lastnost TransformInputCS vsebuje za narediti: opis koordinatnih sistemov.

Property TTransform.TransformInputCS As String
ResultStringŠifra in parametri koordinatnega sistema vhodne plasti.

TransformOutputCS

Lastnost TransformOutputCS za narediti: .

Property TTransform.TransformOutputCS As String
ResultStringŠifra in parametri koordinatnega sistema izhodne plasti.

Linearna transformacija

/*
  izvedemo transformacijo 
  Zrcaljenje po horizontali okoli 500000
  raztezek po vertikali od 100000
  Rotacija za 90 stopinj
  in zamik za 5 in 10 metrov
*/
Transform.InputLayer = [vhodna plast]
Transform.OutputLayer = Nil
Transform.TransformType = 0
Transform.TransformBasePointY = 500000
Transform.TransformBasePointX = 100000
Transform.TransformBasePointFacY = -1
Transform.TransformBasePointFacX = 2
Transform.TransformBasePointAngle = DegToRad (90)
Transform.TransformBasePointDeltaY = 5
Transform.TransformBasePointDeltaX = 10
Transform.Execute

TransformBasePointY

Lastnost TransformBasePointY določa horizontalno koordinato.

Property TTransform.TransformBasePointY As Float
ResultFloat.

TransformBasePointX

Lastnost TransformBasePointX določa vertikalno koordinato.

Property TTransform.TransformBasePointX As Float
ResultFloat.

TransformBasePointFacY

Lastnost TransformBasePointFacY določa horizontalni raztezek glede na TransformBasePointY.

Property TTransform.TransformBasePointFacY As Float
ResultFloat.

TransformBasePointFacX

Lastnost TransformBasePointFacX določa vertikalni raztezek glede na TransformBasePointX.

Property TTransform.TransformBasePointFacX As Float
ResultFloat.

TransformBasePointAngle

Lastnost TransformBasePointAngle določa rotacijo okoli točke (TransformBasePointY, TransformBasePointX).

Property TTransform.TransformBasePointAngle As Float
ResultFloat.

TransformBasePointDeltaX

Lastnost TransformBasePointDeltaX določa vertikalni zamik.

Property TTransform.TransformBasePointDeltaX As Float
ResultFloat.

TransformBasePointDeltaY

Lastnost TransformBasePointDeltaY določa horizontalni zamik.

Property TTransform.TransformBasePointDeltaY As Float
ResultFloat.

Transformacija po kvadratu oddaljenosti

// izvedemo transformacijo po transformacijskih vektorjih
Transform.InputLayer = [vhodna plast]
Transform.OutputLayer = Nil
Transform.TransformType = 1 // ali 2
Transform.TransformLayer = [transformacijska plast]
Transform.TransformCoorType = 1
Transform.TransformFieldY = Transform.TransformLayer.GetField ('Y')
Transform.TransformFieldX = Transform.TransformLayer.GetField ('X')
Transform.Execute

TransformLayer

Lastnost TransformLayer določa podatkovno plast, ki vsebuje transformacijske vektorje.

Property TTransform.TransformLayer As TLayer
ResultTLayerTransformacijska podatkovna plast.

Te lastnosti ni potrebno nastavljati, kadar se nastavi TransformRecordList, ker se upošteva kar podatkovna plast iz liste zapisov.

TransformRecordList

Lastnost TransformRecordList določa listo zapisov transformacijskih vektorjev.

Property TTransform.TransformRecordList As TRecordList
ResultTRecordListTransformacijska lista zapisov.

Če se ne nastavi oz. je nastavljena na nil, se privzame lista vseh zapisov. Če se nastavi, ni potrebno dodatno nastavljati TransformLayer, saj se plast prevzame iz liste zapisov.

TransformCoorType

Lastnost TransformCoorType določa kako so podani transformacijski vektorji.

Property TTransform.TransformCoorType As Long
ResultLongTipi transformacijskih vektorjev:
  • 0 - Centroid + Nova lokacija
  • 1 - Centroid + Stara lokacija
  • 2 - Linija (Od stare proti novi lokaciji)

V primeru transformacije s točko in polji TransformCoorType = 0 ali 1, je potrebno nastaviti tudi TransformFieldY in TransformFieldX

TransformFieldY

Lastnost TransformFieldY določa polje, ki vsebuje Y koordinato transformacijskih vektorjev.

Property TTransform.TransformFieldY As TField
ResultTFieldPolje z Y koordinato.

V primeru transformacije z linijami TransformCoorType = 2, se lastnost ignorira.

TransformFieldX

Lastnost TransformFieldX določa polje, ki vsebuje X koordinato transformacijskih vektorjev.

Property TTransform.TransformFieldX As TField
ResultTFieldPolje z X koordinato.

V primeru transformacije z linijami TransformCoorType = 2, se lastnost ignorira.