Professional Documents
Culture Documents
UTM
'declaracion de variables
Dim e1, e2 As Double
Dim n1, n2 As Double
Dim d, x, y As Double
x = (e2 - e1) ^ 2
y = (n2 - n1) ^ 2
TextBox5.Text = d
End Sub
End Class
2)Distancia entre dos puntos utilizando coordenadas
geográficas
lat1 = TextBox1.Text
lon1 = TextBox2.Text
lat2 = TextBox3.Text
lon2 = TextBox4.Text
g1 = TextBox5.Text
m1 = TextBox6.Text
s1 = TextBox7.Text
g2 = TextBox8.Text
m2 = TextBox9.Text
s2 = TextBox10.Text
g3 = TextBox11.Text
m3 = TextBox12.Text
s3 = TextBox13.Text
g4 = TextBox14.Text
m4 = TextBox15.Text
s4 = TextBox16.Text
'trasformando a radianes
'caso 1
If (lat1 = "N" And lat2 = "N") Then
If (lon1 = "W" And lon2 = "W") Or (lon1 = "E" And lon2 = "E") Then
r = (((Math.Cos(Math.PI / 2 - lat1rad)) * (Math.Cos(Math.PI / 2 - lat2rad)) +
(Math.Sin(Math.PI / 2 - lat1rad)) * (Math.Sin(Math.PI / 2 - lat2rad)) * (Math.Cos(lon2rad - lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
TextBox17.Text = d
End If
End If
'caso 2
If (lat1 = "S" And lat2 = "S") Then
If (lon1 = "W" And lon2 = "W") Or (lon1 = "E" And lon2 = "E") Then
r = (((Math.Cos(Math.PI / 2 + lat1rad)) * (Math.Cos(Math.PI / 2 + lat2rad)) +
(Math.Sin(Math.PI / 2 + lat1rad)) * (Math.Sin(Math.PI / 2 + lat2rad)) * (Math.Cos(lon2rad - lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 3
If (lat1 = "N" And lat2 = "S") Then
If (lon1 = "W" And lon2 = "W") Or (lon1 = "E" And lon2 = "E") Then
r = (((Math.Cos(Math.PI / 2 - lat1rad)) * (Math.Cos(Math.PI / 2 + lat2rad)) +
(Math.Sin(Math.PI / 2 - lat1rad)) * (Math.Sin(Math.PI / 2 + lat2rad)) * (Math.Cos(lon2rad - lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 4
If (lat1 = "S" And lat2 = "N") Then
If (lon1 = "W" And lon2 = "W") Or (lon1 = "E" And lon2 = "E") Then
r = (((Math.Cos(Math.PI / 2 + lat1rad)) * (Math.Cos(Math.PI / 2 - lat2rad)) +
(Math.Sin(Math.PI / 2 + lat1rad)) * (Math.Sin(Math.PI / 2 - lat2rad)) * (Math.Cos(lon2rad - lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 5
If (lat1 = "N" And lat2 = "N") Then
If (lon1 = "W" And lon2 = "E") Or (lon1 = "E" And lon2 = "W") Then
r = (((Math.Cos(Math.PI / 2 - lat1rad)) * (Math.Cos(Math.PI / 2 - lat2rad)) +
(Math.Sin(Math.PI / 2 - lat1rad)) * (Math.Sin(Math.PI / 2 - lat2rad)) * (Math.Cos(lon2rad + lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 6
If (lat1 = "S" And lat2 = "S") Then
If (lon1 = "W" And lon2 = "E") Or (lon1 = "E" And lon2 = "W") Then
r = (((Math.Cos(Math.PI / 2 + lat1rad)) * (Math.Cos(Math.PI / 2 + lat2rad)) +
(Math.Sin(Math.PI / 2 + lat1rad)) * (Math.Sin(Math.PI / 2 + lat2rad)) * (Math.Cos(lon2rad + lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 7
If (lat1 = "N" And lat2 = "S") Then
If (lon1 = "W" And lon2 = "E") Or (lon1 = "E" And lon2 = "W") Then
r = (((Math.Cos(Math.PI / 2 - lat1rad)) * (Math.Cos(Math.PI / 2 + lat2rad)) +
(Math.Sin(Math.PI / 2 - lat1rad)) * (Math.Sin(Math.PI / 2 + lat2rad)) * (Math.Cos(lon2rad + lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
'caso 8
If (lat1 = "S" And lat2 = "N") Then
If (lon1 = "W" And lon2 = "E") Or (lon1 = "E" And lon2 = "W") Then
r = (((Math.Cos(Math.PI / 2 + lat1rad)) * (Math.Cos(Math.PI / 2 - lat2rad)) +
(Math.Sin(Math.PI / 2 + lat1rad)) * (Math.Sin(Math.PI / 2 - lat2rad)) * (Math.Cos(lon2rad + lon1rad))))
p = Math.Acos(r)
d = 6378.137 * p
End If
End If
TextBox17.Text=d
End Sub
End Class
'declaracion de variables
Dim a, b As Double
Dim g1, g2, m1, m2, s1, s2 As Double
Dim latitud, longitud As String
Dim h, ƛ, ƛrad, Δƛ, c, α, ex, se, cse As Double
Dim gdlat, gdlon, latrad, lonrad As Double
Dim Ao, A1, A2, J2, J4, J6, ξ, n, v, Co As Double
Dim z, β, Ȣ, Bo As Double
Dim x, y As Double
latitud = TextBox3.Text
longitud = TextBox4.Text
g1 = TextBox5.Text
m1 = TextBox6.Text
s1 = TextBox7.Text
g2 = TextBox8.Text
m2 = TextBox9.Text
s2 = TextBox10.Text
'calculos previos
α = (a - b) / a 'aplanamiento
If (longitud = "W" Or longitud = "w") And (latitud = "n" Or latitud = "N") Then
'convirtiendo a radianes
h = Int((gdlon) / 6 + 31)
ƛ = h * 6 - 183
ƛrad = ƛ * (Math.PI) / 180
Δƛ = lonrad - ƛrad
'Calculo de Parametros
Ao = Math.Cos(latrad) * Math.Sin(Δƛ)
ξ = (Math.Log((1 + Ao) / (1 - Ao))) * 0.5
n = Math.Atan((Math.Tan(latrad)) / (Math.Cos(Δƛ))) - latrad
v = ((c * 0.9996) / (Math.Sqrt(1 + 0.00676817 * (Math.Cos(latrad)) ^ 2)))
Co = (0.00676817 / 2) * (ξ ^ 2) * (Math.Cos(latrad)) ^ 2
A1 = Math.Sin(2 * latrad)
A2 = A1 * (Math.Cos(latrad)) ^ 2
J2 = latrad + A1 / 2
J4 = (3 * J2 + A2) / 4
J6 = (5 * J4 + A2 * (Math.Cos(latrad)) ^ 2) / 3
z = (3 * cse) / 4
β = (5 * (z ^ 2)) / 3
Ȣ = (35 * (z ^ 3)) / 27
Bo = 0.9996 * c * (latrad - z * J2 + β * J4 - Ȣ * J6)
x = ξ * v * (1 + Co / 3) + 500000
y = n * v * (1 + Co) + Bo
End If
If (longitud = "E" Or longitud = "e") And (latitud = "n" Or latitud = "N") Then
'convirtiendo a radianes
h = Int((gdlon) / 6 + 31)
ƛ = h * 6 - 183
ƛrad = ƛ * (Math.PI) / 180
Δƛ = lonrad - ƛrad
'Calculo de Parametros
Ao = Math.Cos(latrad) * Math.Sin(Δƛ)
ξ = (Math.Log((1 + Ao) / (1 - Ao))) * 0.5
n = Math.Atan((Math.Tan(latrad)) / (Math.Cos(Δƛ))) - latrad
v = ((c * 0.9996) / (Math.Sqrt(1 + 0.00676817 * (Math.Cos(latrad)) ^ 2)))
Co = (0.00676817 / 2) * (ξ ^ 2) * (Math.Cos(latrad)) ^ 2
A1 = Math.Sin(2 * latrad)
A2 = A1 * (Math.Cos(latrad)) ^ 2
J2 = latrad + A1 / 2
J4 = (3 * J2 + A2) / 4
J6 = (5 * J4 + A2 * (Math.Cos(latrad)) ^ 2) / 3
z = (3 * cse) / 4
β = (5 * (z ^ 2)) / 3
Ȣ = (35 * (z ^ 3)) / 27
Bo = 0.9996 * c * (latrad - z * J2 + β * J4 - Ȣ * J6)
x = ξ * v * (1 + Co / 3)
y = n * v * (1 + Co) + Bo
End If
If (longitud = "W" Or longitud = "w") And (latitud = "s" Or latitud = "S") Then
'convirtiendo a radianes
h = Int((gdlon) / 6 + 31)
ƛ = h * 6 - 183
ƛrad = ƛ * (Math.PI) / 180
Δƛ = lonrad - ƛrad
'Calculo de Parametros
Ao = Math.Cos(latrad) * Math.Sin(Δƛ)
ξ = (Math.Log((1 + Ao) / (1 - Ao))) * 0.5
n = Math.Atan((Math.Tan(latrad)) / (Math.Cos(Δƛ))) - latrad
v = ((c * 0.9996) / (Math.Sqrt(1 + 0.00676817 * (Math.Cos(latrad)) ^ 2)))
Co = (0.00676817 / 2) * (ξ ^ 2) * (Math.Cos(latrad)) ^ 2
A1 = Math.Sin(2 * latrad)
A2 = A1 * (Math.Cos(latrad)) ^ 2
J2 = latrad + A1 / 2
J4 = (3 * J2 + A2) / 4
J6 = (5 * J4 + A2 * (Math.Cos(latrad)) ^ 2) / 3
z = (3 * cse) / 4
β = (5 * (z ^ 2)) / 3
Ȣ = (35 * (z ^ 3)) / 27
Bo = 0.9996 * c * (latrad - z * J2 + β * J4 - Ȣ * J6)
x = ξ * v * (1 + Co / 3) + 500000
y = n * v * (1 + Co) + Bo + 10000000
End If
If (longitud = "e" Or longitud = "E") And (latitud = "s" Or latitud = "S") Then
'convirtiendo a radianes
h = Int((gdlon) / 6 + 31)
ƛ = h * 6 - 183
ƛrad = ƛ * (Math.PI) / 180
Δƛ = lonrad - ƛrad
'Calculo de Parametros
Ao = Math.Cos(latrad) * Math.Sin(Δƛ)
ξ = (Math.Log((1 + Ao) / (1 - Ao))) * 0.5
n = Math.Atan((Math.Tan(latrad)) / (Math.Cos(Δƛ))) - latrad
v = ((c * 0.9996) / (Math.Sqrt(1 + 0.00676817 * (Math.Cos(latrad)) ^ 2)))
Co = (0.00676817 / 2) * (ξ ^ 2) * (Math.Cos(latrad)) ^ 2
A1 = Math.Sin(2 * latrad)
A2 = A1 * (Math.Cos(latrad)) ^ 2
J2 = latrad + A1 / 2
J4 = (3 * J2 + A2) / 4
J6 = (5 * J4 + A2 * (Math.Cos(latrad)) ^ 2) / 3
z = (3 * cse) / 4
β = (5 * (z ^ 2)) / 3
Ȣ = (35 * (z ^ 3)) / 27
Bo = 0.9996 * c * (latrad - z * J2 + β * J4 - Ȣ * J6)
TextBox11.Text = x
TextBox12.Text = y
End Sub
End Class
'declaracion de variables
Dim a, b As Double
Dim x, y, x1, y1 As Double
Dim huso As Integer
Dim latert As String
Dim ϕ, ǿ, Ƭ, ƛo, ƛ, Δƛ, c, α, ex, se, cse As Double
Dim a3, b1, Ao, A1, A2, J2, J4, J6, ξ, n, v, Co As Double
Dim z, β, Ȣ, Bo As Double
Dim latitud, longitud As String
Dim g1, g2, m1, m2, s1, s2 As Double
x = TextBox3.Text
y = TextBox4.Text
huso = TextBox5.Text
latert = TextBox6.Text 'valor N o S de lalatitud para eliminar retranqueo
'calculos previos
x1 = x - 500000
y1 = y
ƛo = huso * 6 - 183
End If
x1 = x - 500000
y1 = y - 10000000
ƛo = huso * 6 - 183
End If
If ƛ < 0 Then
g2 = Int(ƛ + 1)
m2 = Int(((ƛ - g2) * 60) + 1)
s2 = ((ƛ - g2) * 60 - m2) * 60 + 1
longitud = "W"
Else
g2 = Int(ƛ)
m2 = Int((ƛ - g2) * 60)
s2 = ((ƛ - g2) * 60 - m2) * 60
longitud = "E"
End If
If ϕ < 0 Then
g1 = Int(ϕ + 1)
m1 = Int(((ϕ - g1) * 60) + 1)
s1 = (((ϕ - g1) * 60) - m1) * 60 + 1
latitud = "S"
Else
g1 = Int(ϕ)
m1 = Int((ϕ - g1) * 60)
s1 = (((ϕ - g1) * 60) - m1) * 60
latitud = "N"
End If
TextBox7.Text = latitud
TextBox16.Text = longitud
TextBox8.Text = ϕ
TextBox9.Text = g1
TextBox10.Text = m1
TextBox11.Text = s1
TextBox12.Text = ƛ
TextBox13.Text = g2
TextBox14.Text = m2
TextBox15.Text = s2
End Sub
End Class