[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