<html><body><form name="form1" method="post" action=""> <p>LATITUD: <input type="text" name="lat" id="lat" onKeyUp="masclat(this.value)" > LAT_DECIMAL: <input type="text" name="latd" id="latd"> </p> <p>LONGITUD: <input type="text" name="lon" id="lon" onKeyUp="masclong(this.value)" > LONG_DECIMAL: <input type="text" name="lond" id="lond" > </p> <p>QD: <input type="text" name="qd" id="qd"> </p></form></body></html>
/****************************VALIDACION DE LA LATITUD P/FORMULARIOS CON UNA SOLA POSICION********************************/function masclat(lat){ var mylat = ''; mylat = mylat + lat; if (mylat.length == 2){ mylat = mylat + '°'; document.forms[0].lat.value = mylat; } if (mylat.length == 5){ mylat = mylat + '´'; document.forms[0].lat.value = mylat; verifica_coordl(); } } function verifica_coordl(){ //Funcion que verifica las coordenadas de latitud correctas m1= 1; var dec='' gds = (document.forms[0].lat.value.substring(0,2)); min = (document.forms[0].lat.value.substring(3,5)); situacao = ""; // verifica grados y minutos if ((gds < 00) || (gds > 25)){ situacao = "falsa"; } if (( min < 00) ||( min > 59)){ situacao = "falsa"; } if (document.forms[0].lat.value == "") { situacao = "falsa"; } if (situacao == "falsa") { alert("Posicion Invalida!"); document.forms[0].lat.focus(); } dec = (parseFloat(gds) + (min / 60.0)) * m1; document.forms[0].latd.value = dec; }/****************************VALIDACION DE LA LONGITUD P/FORMULARIOS CON UNA SOLA POSICION********************************/function masclong(lon){ var mylong = ''; mylong = mylong + lon; if (mylong.length == 2){ mylong = mylong + '°'; document.forms[0].lon.value = mylong; } if (mylong.length == 5){ mylong = mylong + '´'; document.forms[0].lon.value = mylong; verifica_coordll(); } } function verifica_coordll(){ //Funcion que verifica las coordenadas de longitud correctas m1= -1; var dec='' gds = (document.forms[0].lon.value.substring(0,2)); min = (document.forms[0].lon.value.substring(3,5)); situacao = ""; // verifica grados y minutos if ((gds < 00) || (gds > 80)){ situacao = "falsa"; } if (( min < 00) ||( min > 59)){ situacao = "falsa"; } if (document.forms[0].lon.value == "") { situacao = "falsa"; } if (situacao == "falsa") { alert("Posicion Invalida!"); document.forms[0].lon.focus(); } dec = (parseFloat(gds) + (min / 60.0)) * m1; document.forms[0].lond.value = dec;} function cuadrantes(){//Esta es la funcion que utilizo para los cuadrantes l = (document.forms[0].lat.value.substring(0,2)); lo = (document.forms[0].lon.value.substring(0,2)); latgr = parseFloat(l); longr = parseFloat(lo); Alert(latgr,longr); if ((latgr >= 10) || (latgr <= 15) && (longr >= 60) || (longr <= 65)){ document.forms[0].qd.value = 22; }}
constante LatitudMinGrado = 22constante LatitudMaxGrado = 56constante Latitudes = (LatitudMaxGrado - LatitudMinGrado)
constante LongitudMinGrado= 131constante LongitudMaxGrado = 187constante Longitudes = (LongitudMaxGrado - LongitudMinGrado)
constante CuadranteMax = (Longitudes * Latitudes)ArrayGrados(desde 0 hasta CuadranteMax -1)
Function (in Latitud, in Longitud, out Cuadrante) si latitud es menor que LatitudMinGrado salir de la funcion (error, avisar con mensaje, etc...) si latitud es mayor que LatitudMaxGrado salir de la funcion (error, avisar con mensaje, etc...) LatRelativa = (Latitud - LatitudMinGrado) si Longitud es menor que LongitudMinGrado salir de la funcion (error, avisar con mensaje, etc...) si Longitud es mayor que LongitudMaxGrado salir de la funcion (error, avisar con mensaje, etc...) LonRelativa = (Longitud - LongitudMinGrado) Cuadrante= ((LonRelativa * Longitudes) + LatRelativa)Fin Function
Function( in Cuadrante, out Longitud, out Latitud) Longitud = ((Cuadrante \ Longitudes) + LongitudMinGrado) Latitud = ((Cuadrante mod Longitudes) + LatitudMinGrado)Fin Function