1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
Function Transfo2D(DONNESYSTREF() As Variant, DONNESYSTLOCAL() As Variant, Optional FACT As Double = 0) As Variant()
Application.Volatile
'Transforme un jeu de coordonnées d'un systéme a un autre en fonction des paramètres données et du listing de points(mat,x,y,z)
Dim K, I, J As Integer
Dim FACTECH As Double
Dim DONNECOMMUNEtemp() As Variant
Dim PARAMtemp(10) As Double
Dim NEWCOORD()
Dim NEWCOORDTEMP()
Set DONNECOMMUNE = WPtsCommuns2systeme(DONNESYSTREF, DONNESYSTLOCAL)
K = UBound(DONNECOMMUNE)
ReDim DONNECOMMUNEtemp(K, 7)
For I = 0 To K
For J = 0 To 7
DONNECOMMUNEtemp(I, J) = DONNECOMMUNE(I, J)
Next J
Next I
COORDATRANS = DONNESYSTLOCAL
If FACT <> 0 Then
FACTECH = FACT
Else
FACTECH = 0
End If
PARAM = WCalculParamTrans2D(DONNECOMMUNE, FACTECH)
'For I = 0 To 10
'PARAMtemp(I) = PARAM(I)
'Next I
Transfo2D = PARAM
'K = DONNESYSTLOCAL.Rows.Count
'ReDim NEWCOORD(K, 2)
'ReDim NEWCOORDTEMP(K, 4)
'For I = 1 To K
'NEWCOORDTEMP(I - 1, 0) = COORDATRANS(I, 2) + PARAM(2)
' NEWCOORDTEMP(I - 1, 1) = COORDATRANS(I, 3) + PARAM(3)
'NEWCOORDTEMP(I - 1, 2) = GIS(PARAM(4), PARAM(5), NEWCOORDTEMP(I - 1, 0), NEWCOORDTEMP(I - 1, 1))
'NEWCOORDTEMP(I - 1, 3) = DIST(PARAM(4), PARAM(5), NEWCOORDTEMP(I - 1, 0), NEWCOORDTEMP(I - 1, 1))
'Next I
'For I = 1 To K
'NEWCOORD(I - 1, 0) = COORDATRANS(I, 1)
'NEWCOORD(I - 1, 1) = WXpol(PARAM(4), NEWCOORDTEMP(I - 1, 2), NEWCOORDTEMP(I - 1, 3))
'NEWCOORD(I - 1, 2) = WYpol(PARAM(5), NEWCOORDTEMP(I - 1, 2), NEWCOORDTEMP(I - 1, 3))
'NEWCOORD(I - 1, 3) = COORDATRANS(I, 4)
'Next I
'Transfo2D = NEWCOORD
End Function |
Partager