0 votos

Renderización de la temperatura en google maps

Tengo una serie de puntos de datos en forma de (latitud, longitud, temperatura). Tengo que representar la temperatura en un mapa.

El resultado final debería ser similar al del mapa ici

Utilicé los mapas de calor de Google para esto, y fui capaz de renderizar los puntos de datos con éxito. Sin embargo, el problema es que las lecturas están muy separadas, por lo que cada lectura aparece como un círculo desconectado. Podría aumentar el radio de los puntos de datos renderizados para resolver esto.

Mi pregunta es: ¿se utiliza el mapa de calor de google para representar la temperatura correctamente? o debo utilizar otra api?

Cualquier consejo es muy apreciado.

1voto

Mashimom Puntos 21

Lo más probable es que necesite una aplicación SIG de escritorio completa para representar los datos correctamente:

¿Métodos de código abierto para kriging?

Buena suerte.

1voto

Jack Lloyd Puntos 195

El mapa de calor de google maps ( actualmente ) sólo muestra el "calor" de la densidad de puntos en lugar del valor Z.

Su mejor opción (como yo estoy haciendo) es investigar gdal_grid que interpolará sus datos geoespaciales aleatorios en una cuadrícula que luego se puede utilizar para crear un archivo de imagen (png / geoTiff etc) y luego mostrar esta imagen.

0voto

Chris P Puntos 1099

A mí el mapa de calor de Google no me parece la mejor herramienta para visualizar la temperatura. No estoy seguro de si la api interpola los datos de su punto (hace tiempo que no la uso, tal vez haya nuevas capacidades). Dado que la temperatura es un fenómeno continuo que desea un mapa sin vacíos como resultado. El mapa de calor de Google podría llevar a algo como esto:

heat map temperature visualization

Una vez hice un mapa de temperatura en QGIS. Importé mis datos (coordenadas de las estaciones de medición + temperatura) Luego hay una función "contornos" para interpolar los datos de los puntos. Mi resultado se veía así:

enter image description here

podría exportar eso a una capa kml desde QGIS. Estoy seguro de que hay algunas maneras de hacer una superposición en googlemaps. En una vieja entrada de mi blog he descrito el proceso en QGIS en más detalle: http://tmaps.wordpress.com/2010/12/22/visualizing-met-office-temperature-data-of-britain/

0voto

alvarolb Puntos 165

El golpe de código muestra cómo se podría calcular el valor de cualquier punto. Basta con proporcionar a la función un array de PointXYZ que contenga los datos conocidos. Esto no responde a la pregunta, sin embargo es un paso para saber cómo hacerlo.

Finalmente gracias a todos por su ayuda y respuestas.

Public Structure PointXYZ
    Public X As Single
    Public Y As Single
    Public Z As Single
End Structure

Public Function GetZInterpolationForPoint(ByVal X As Single, ByVal Y As Single, ByVal KnownPoints() As PointXYZ, ByVal P As Single) As PointXYZ
    Dim I As Integer

    Dim Sum1 As Single = 0
    Dim Sum2 As Single = 0
    For I = 0 To KnownPoints.Length - 1
        Dim DX As Single = (KnownPoints(I).X - X) ^ 2
        Dim DY As Single = (KnownPoints(I).Y - Y) ^ 2
        Dim LP As Single = (DX + DY) ^ (0.5)
        Sum1 = Sum1 + KnownPoints(I).Z / (LP ^ P)
        Sum2 = Sum2 + (1.0 / (LP ^ P))
    Next

    Dim PT As New PointXYZ
    PT.X = X
    PT.Y = Y
    PT.Z = Sum1 / Sum2
    Return PT
End Function

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X