El 13 de septiembre de 2011 16:27, Juan Camilo Hernandez D < camilo.hernan...@gmail.com> escribió:
> Hola. > > Les voy a aclarar un poco el tipó de información que contiene mis datos. > La información de latitud y longitud esta espaciada de forma regular, es > decir que en el caso del array de longitud los valores de cada columna son > iguales entre ellos; en el caso del array de latitud sucede algo similar > pero en las filas. > > Ahora he considerado utilizar el método de interpolacion bilineal y > el método de crosman (correcion por distancias); mi dificultad radica en dos > puntos: > > 1. Como identificar los cuatro puntos que rodean mi punto de interés. > 2. Como obtener los indices de estos cuatro puntos para realizar la > interpolacion, es decir ubicar mis puntos de entrada a los algoritmos de > interpolacion en el array de temperaturas. > > Algunos me han manifestado la trivialidad del problema, realmente les pido > excusas, he buscado la forma y no veo como hacerlo. Si me pueden colaborar > con un ejemplo se los agradecería enormemente. > > Viendo tus datos, te puedes ahorrar una dimension para la lat y otra para la lon, así consumirás menos memoria. Supón que la distancia entre dos latitudes o longitudes consecutivas es 0.1º (paso de la malla) y que tus latitudes varían entre -90º y 90º y tus longitudes entre -180º y 180º (un caso que abarque todo el planeta): * import numpy as np lat = np.arange(-90,90,0.1) lon = np.arange(-180,180,0.1) step = 0.1* Tu latitud de interés y tu longitud de interés son: * mi_lat = 27.47 mi_lon = -2.14 * Los índices dentro del vector/matriz latitud los podrás obtener como: * j1 = np.int((lat[0] + mi_lat)/step) j2 = j1 + 1 * Para la longitud lo mismo. * i1 = np.int((lon[0] + mi_lon)/step) i2 = i1 + 1 * T[i1,j1], T[i1,j2], T[i2,j1], T[i2,j2] Serán los valores de temperatura alrededor de tu punto (la i y la j pueden cambiar de orden dependiendo de como definas filas o columnas en tus datos). Podría ser que tu punto coincida con un punto del grid, deberías de poner algo en el programa para comprobarlo previamente. y no hacer el cálculo de los 4 puntos alrededor de tu punto. No se si se entenderá pero lo he intentado poner paso a paso. En esencia, es lo mismo que te ha puesto Daπid pero en versión larga. Saludos.
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/