#### Archived

This topic is now archived and is closed to further replies. # AJUDA!! Preciso resolver este problema com variavel de form e function para calculo

## Recommended Posts

Senhores,

Necessito muito da ajuda, estou com este codigo abaixo, quando insiro as variaveis para chamar a funcao, o calculo esta errado. por gentileza, se alguem pode me ajudar

```<%
'set rs = Conn.Execute("SELECT * FROM ctos ORDER by codigo")

DegRad = x * ((4 * Atn(1)) / 180)
End Function

Function GetGeodesicDistance(Lat1,Lon1,Lat2,Lon2,rScale)
Dim er,pr,fl,F,G,L,S,C,W,R,D,H1,H2
er = 6378.1370000
pr = 6356.7523142
fl = (er - pr) / er
S = Sin(G)^2 * Cos(L)^2 + Cos(F)^2 * Sin(L)^2
C = Cos(G)^2 * Cos(L)^2 + Sin(F)^2 * Sin(L)^2
W = Atn(Sqr(S / C))
R = Sqr(S * C) / W
D = 2 * W * er
H1 = (3 * R - 1) / (2 * C)
H2 = (3 * R + 1) / (2 * S)
Select Case rScale
Case "statute"  dScale = 1.60934
Case "nautical" dScale = 1.85200
Case "metric"   dScale = 1.00000
Case Else	   dScale = 1.60934
End Select
GetGeodesicDistance = (D * (1 + fl * H1 * Sin(F)^2 * Cos(G)^2 - fl * H2 * Cos(F)^2 * Sin(G)^2)) / dScale
End Function
%>
<div align="center">
<form name="frm" method="post" action="mapa_v.asp">
<label>Posição do cliente
<input name="latitude" type="text" id="latitude" value=-28.401684>
<input name="longitude" type="text" id="longitude" value=-49.389643>
</label>
<label>
<input type="submit" name="Submit" value="Enviar">
</label>
</form>
</div>
<%
dim Lati0, Long0, Lati1, Long1

lati0 = request.form("latitude")
long0 = request.form("longitude")

response.write GetGeodesicDistance(-28.401684,-49.389643,-28.394418,-49.395537, "metric") & " RESULTADO CORRETO<br><br><br>"

Lati1 = "-28.394418"
Long1 = "-49.395537"
response.Write(lati0) & ","
response.Write(Long0) & ","
response.Write(lati1) & ","
response.Write(Long1) & "<br><br><br>"
'Display calc
response.write GetGeodesicDistance(Lati0,Long0,Lati1,Long1, "metric") & "  RESULTADO DO CALCULO<br>"
%> ```

##### Share on other sites

Com relação na formula não posso opinar não conheço a regra mas teste colocando todos os valores com vírgula e entre aspas ao invés de ponto e converta para Cdbl() quando fizer as contas...

##### Share on other sites

Testei... e nao tem jeito, preciso muito desta formula funcionando.

Gustavo, tenta rodar ai ... me ajuda com isso...

##### Share on other sites

guga rodei a função aqui com esses parametros que passou...

GetGeodesicDistance(-28.401684,-49.389643,-28.394418,-49.395537, "metric")

retornou esse valor...  0,990992695478386

qual valor volta para você?

##### Share on other sites

deu certo gustavo... vlww muito obrigado

• #### Desempenho em múltiplos insert com PDO

By Luiz Henrique, in PHP

• #### Retorno da consulta por meses

By Fabio Jonas, in MySQL

• #### onmouseover e onmouseout

By Biel., in Javascript

• ### Similar Content

• By IgorBap
Bom dia!

Preciso escrever um código de algoritmo que realiza a conta de conversão de latitudes e longitudes em distância utilizando o Teorema de Pitágoras e não sei por onde começar.
Encontrei esse calculo que poderá ser inserido.

Triângulo Pitagórico

Imaginemos 2 pontos P=(x1,y1) e Q=(x2,y2), obtemos a distância entre P e Q, traçando as projeções destes pontos
sobre os eixos coordenados, obtendo um triângulo retângulo e usando o Teorema de Pitágoras.
Pitagoras1.png (682 Bytes) Exibido 36730 vezes Assim, considerando 2 pontos de coordenadas (-22.902778, -43.206667) e (-23.548333, -46.636111)
Calculando-se a distância entre eles, tem-se:
Pitagoras2.png (2.14 KiB) Exibido 36729 vezes Pitagoras3.png (2.75 KiB) Exibido 36729 vezes A distância em graus resulta 3,4896744
O raio da terra tem aproximadamente 6371km.
Uma volta na terra tem 2 * pi * raio = 40030000m.
Podemos, através de uma regra de 3 simples, obter a conversão do ângulo encontrado para uma distância em metros.

• Senhores, bom dia...

Estou com um grande problema com este script para calcular distancia entre coordenadas, o erro se dá quando eu uso a informacao do formulario, ele nao le a coordenada correta, mas quando insiro de maneira estatica, funciona normal... preciso de muita a ajuda de todos.