• Jueves 28 de Marzo de 2024, 17:03

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Chewii79

Páginas: [1]
1
Buenas tardes, espero esten bien, les escribo por lo siguiente:

tengo que ingresar una serie de coordenadas geograficas de bitacoras de pesca, las cuales tengo divididas en las siguientes columnas:

lat gr  |   lat mn  |  lon gr  |  lon mn |  cuadrante

Y tengo una tabla con los valores maximos y minimos de latitudes y longitudes que definen los cuadrantes donde se ubicaran las coordenadas, la tabla esta de la siguiente manera:

CUADRANTE  |  LATMIN  |  LATMAX  |  LONMIN  |  LONMAX
        28               5             10             55             60
        29               5             10             50             55
        30               5             10             45             50
        31               5             10             40             45
        32               5             10             35             40

NOTA: Esta tabla pertenece a los cuadrantes determinados para las coordenadas de la ultima bitacora de pesca que estuve procesando, el mapa comprende 35 cuadrantes, c/u con sus rangos de coordenadas maximos y minimos. 

Lo que quiero hacer en Excel es lo siguiente:

Conforme a la primera tabla, donde se ingresan las coordenadas en grados y minutos, quiero hacer una formula que me determine el cuadrante cuando introduzca los grados de latitud y longitud y el resultado lo asigne a la columna cuadrante, ya que dichos cuadrantes se determinan con un mapa donde estos estan marcados pero hay que tomar una regla e ir coordenada por coordenada marcando el punto en el mapa y esto toma demasiado tiempo. Espero me puedan dar una manito. Saludos..

EDICION

Logre armar algo con la funcion para cada rango , pero no encuentro la manera deanidarlas en una sola, esta son las funciones que arme...

CUADRANTE 1: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=75;C2<=80);"1"))
CUADRANTE 2: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=70;C2<=75);"2"))
CUADRANTE 3: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=65;C2<=70);"3"))
CUADRANTE 4: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=60;C2<=65);"4"))
CUADRANTE 5: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=55;C2<=60);"5"))
CUADRANTE 6: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=50;C2<=55);"6"))
CUADRANTE 7: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=45;C2<=50);"7"))
CUADRANTE 8: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=40;C2<=45);"8"))
CUADRANTE 9: =SI(Y(A2>=20;A2<=25);SI(Y(C2>=35;C2<=40);"9"))

2
JavaScript / Re:Asignacion de cuadrantes a coordenadas geograficas ingresadas
« en: Lunes 23 de Enero de 2017, 17:04 »
Amigo Nebire buenos dias desde Venezuela, acabo de ver tu mensaje, afortunadamente solvente al dia siguiente de postear el mensaje, la solucion que consegui fue la siguiente:

Utilice la misma funcion de coordenadas maximas y minimas para la latitud y la longitud que diseñe, solo que la llame justo despues de llamar a la funcion que me verifica la coordenada de la longitud, saque la tabla de maximos y minimos y me dio como queria; aunq no es tan estetica a nivel de codigo, cumple con lo que requiero, de igual forma voy a probar tu codigo para ver como funciona, y tenerlo por ahi. Muchisimas gracias.. Ya se puede dar el tema como cerrado.

3
JavaScript / Asignacion de cuadrantes a coordenadas geograficas ingresadas
« en: Miércoles 18 de Enero de 2017, 23:20 »
En mi trabajo manejamos un mapa que esta dividido en cuadrantes o cuadriculas, el tamaño de estas cuadriculas es de 5x5, como se observa en la siguiente imagen:

 El proceso para determinar en que cuadrante se ubica cada coordenada se realiza totalmente a mano, de la siguiente manera: Se toman solo los grados de cada coordenada, posteriormente se ubican en los ejes X e Y y con una regla se trazan las dos lineas, y desde el punto donde se intersectan se ubica dicho cuadrante. Este proceso se realiza a todas las bitacoras de pesca que se registran en el año (este año pasado se registraron cerca de 450 bitacoras entre todas las flotas pesqueras), estas se registran en Excel, y de ahi se comienza el largo proceso para los diferentes informes que se presentan a final de año; mi idea fue realizar un formulario de prueba donde se registren solo las coordenadas geograficas, posteriormente me hace el calculo en numero decimal y lo asigna a una caja de texto, hasta ahi todo esta bien. Para poder asignar los cuadrantes a las coordenadas registradas en las bitacoras, estableci valores de maximos y minimos tanto en la latidud como en la longitud, y de ahi parti para hacer los condicionales, pero no me salio al idea. Aqui les enviar el código html y javascript para hacer dichos calculos.
Código: [Seleccionar]
<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>
Y aqui va el codigo javascript para la mascara de grados y minutos, calculos a decimales y asignacion de cuadrante, en esta ultima funcion utilice como referencia la coordenada 10°28'N y 64°11'O, que se ubica en el cuadrante N° 22.
Código: [Seleccionar]
/****************************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;
}
}
Que quiero: Extraer solo la parte de los grados de las posiciones para luego poder hacer las comparaciones, de manera q cuando inserte la posicion en grados y minutos (ya sea latitud o longitud) asigne el numero del cuadrante al campo de texto QD. No se si la funcion esta bien programada, pero asi como esta no funciona. Espero puedan ayudarme. Saludos..

Páginas: [1]