Estimados listeros saluditos a la distancia.
1- Miren tengo un arreglo bidimensional.
2 Necesito saber el valor minimo de aParadasvue[Puntero,4]
3 lo que hago es calcular la distancia entre dos puntos por GPS
4 aParadasvue[Puntero,4] almacena la distancia procesada // iIda
Algo asi va..
oP:Cuantoshay:=oP:QueryPara:Reccount()
Local aParadasida[oP:Cuantoshay,4]
Local aParadasvue[oP:Cuantoshay,4]
do while .t.
Puntero:=oP:QueryPara:recno()
aParadasida[Puntero,1]:=oP:QueryPara:FieldGet("latIDA")
aParadasida[Puntero,2]:=oP:QueryPara:FieldGet("lonIDA")
aParadasida[Puntero,3]:=oP:QueryPara:FieldGet("nlargo")
aParadasida[Puntero,4]:=calculadistancia()
aParadasvue[Puntero,1]:=oP:QueryPara:FieldGet("latIDA")
aParadasvue[Puntero,2]:=oP:QueryPara:FieldGet("lonIDA")
aParadasvue[Puntero,3]:=oP:QueryPara:FieldGet("nlargo")
aParadasvue[Puntero,4]:=calculadistancia()
oP:QueryPara:skip()
IF oP:QueryPara:Eof()
EXIT
ENDIF
ENDDO
Ok hasta aqui de maravillas proximo paso.
Lat1 := 10.203574
Lng1 := -83.782274
for I = 1 to len(aParadasida)
lat2 :=val(aParadasida[I,1])
lng2 :=val(aParadasida[I,2])
oP:mascarca:=miDistancia( lat1, lng1, lat2, lng2 ) // calculo la distancia y guardo en la posicion aParadasida[I,4]
aParadasida[I,4]:=oP:mascarca
next
al final la funcion que calcula distancias gracias a:
function miDistancia( lat1, lng1, lat2, lng2 )
**//**Hecho por xmanuel » Dom Ene 21, 2018 7:13 pm
return( acos( sin( dtor( lat1 ) ) * sin( dtor( lat2 ) ) + cos( dtor( lat1 ) ) * cos( dtor( lat2 ) ) * cos( dtor( lng1 ) - dtor( lng2 ) ) ) * 6371 )
RETURN
A este punto perfecto, a hora debo de buscar a menor distancia garabada en aParadasida[I,4] del arreglo..
Gracias