[Python-es] Interpolacion varios Puntos.

Ricardo Cárdenes ricardo.cardenes en gmail.com
Mar Sep 13 12:50:06 CEST 2011


On Sep 13, 2011 5:48 AM, "Juan Camilo Hernandez D" <
camilo.hernandez en gmail.com> wrote:
>
> Cordial saludo a todos en la lista.
>
> Estoy desarrollando un programa para interpolar la temperatura de un punto
arbitrario de un campo de temperaturas a partir de una matriz que representa
esta variable en la realidad. Para ello debo encontrar la forma de
identificar los cuatro puntos que rodean mi punto de interés ¿Alguien conoce
algo como esto?

> Básicamente mi programa parte de tres array, dos de los cuales
representan información espacial regular (Latitud y Longitud) y un tercero
que representa un campo de temperaturas. Cada celda de esta ultimo array
tiene una coordenada espacial que se encuentra en los dos primeros arrays.
Existe alguna funcion en python (estoy trabajando con SciPy/Numpy) que me
permita identificar los elementos de este array que rodean mi punto de
interes?
>
> De antemano muchas gracias a todo aquel que me brinde su ayuda.

Depende de varias cosas. Por un lado, como dice Kiko, es interesante saber
cómo está organizada la información en tus matrices. Entiendo que si pones
los tres arrays apilados, en Z tienes (Lat, Lon, Temp). Ahora bien, los
valores en el array de temperaturas, ¿representan una rejilla de puntos
equiespaciados? En ese caso podrías usar las funciones de interpolación de
SciPy directamente.

Ahora bien, dices que quieres hacerlo de forma arbitraria, así que me
imagino que te quieres concentrar en un cierto area y luego aplicar tu
propio algoritmo de interpolación. Si la información está bien ordenada
(como he descrito arriba), no necesitarías nada de la librería para
recuperar tu información. Si no es el caso, te aconsejo que empieces por
ahí, para no complicarte la vida.

En caso de que la información no sea regular, supongo que te bastaría
calcular la norma de todos los puntos de la matriz respecto al tuyo y
escoger los N más cercanos. No creo que haya nada en la lib que te haga un
trabajo *tan* específico, pero es trabajo sencillo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110913/b7498687/attachment.html>


Más información sobre la lista de distribución Python-es