[Python-es] Interpolacion varios Puntos.

gerardo Juarez gerardojuarez en buyteknet.info
Mie Sep 14 00:02:16 CEST 2011


Entiendo también que quieres desarrollar tus propia versión. Has 
revisado "splines bicúbicos"? o  "kriging"? Hay otros modos y en general 
tratan de poner las observaciones primero en una red y luego calculan 
por iteraciones el resto de los puntos de esa red, lo cual no depende de 
N sino de las dimensiones de la red final, en vez de considerar cada 
observación y pesar por distancia, que sí depende de N.
 
Otro aspecto es si la densidad de observaciones que tienes es mucha o 
poca, si están distribuidos homogéneamente o no y su precisión. Las 
mediciones de temperatura no suelen tener una precisión muy grande 
(digamos +/- 5% a 10%). Si están distribuidos más o menos igual en toda 
el área y son muchos puntos, puedes usar interpolación bilineal, pero si 
no son muchos puntos casi todo mundo usa "splines", pero si están 
distribuidos desigualmente, con muchos en una zona y pocos en otra, lo 
más común es usar "kriging" o algún derivado. Definitivamente no me  
iría yo por triangulación de Delaunay o algún tipo de agrupamiento 
debido a que el mapa que obtendrías introduciría artefactos (aristas y 
planos) que tus datos no dicen que estén allí. Esto se usa para otras 
cosas, como topografía y con mucha información.

Yo me dediqué varios años a este asunto. Espero te sirvan mis 
experiencias en el tema.

saludos


Ricardo Cárdenes wrote:
>
>
> On Sep 13, 2011 3:28 PM, "Juan Camilo Hernandez D" 
> <camilo.hernandez en gmail.com <mailto:camilo.hernandez en gmail.com>> wrote:
> >
> > 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.
>
> Ok. Dado que estás intentando usar tus propios algoritmos, ¿entiendo 
> que no te vale esto, por ejemplo?
>
> http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html
>
> Te debería bastar con interp2d(lon, lat, temp, kind='la que quieras').
>
> Hay otras funciones de interpolación, si quieres algo más complejo :?
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>   



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