Interpolar valores a partir de valores de conjuntos de datos cuadriculados
Este convertidor interpola eficientemente valores de los valores de un conjunto de datos cuadriculados.
Como tal, es particularmente útil para los investigadores que trabajan con datos de seguimiento de animales (por ejemplo, la
IOOS Animal Telemetry Network 
).
Este convertidor toma una tabla con columnas de latitud, longitud y hora (y quizás otras columnas) y devuelve una tabla con columnas adicionales con valores interpolados basados en el CSV de solicitud especificado por el usuario con combinaciones
datasetID /nombre de variable/algoritmo/cercano (por ejemplo,
jplMURSST41/analysed_sst/Bilinear/4). En todos los casos, para cada punto de latitud, longitud y tiempo que proporcione, el convertidor encuentra el número especificado de valores cercanos del datasetID /variable del conjunto de datos especificado y luego aplica el algoritmo especificado para crear el valor interpolado.
Pocas personas utilizarán habitualmente esta página web.
En cambio, la mayoría de los usuarios de este servicio escribirán y/o utilizarán un script que utiliza
el servicio web subyacente de esta página web.
O bien,
omita esta página web y realice conversiones desde un programa de computadora, script o página web.
Notas:
- Siempre verifique los resultados de los convertidores.
Si cree que el convertidor dio un resultado incorrecto, envíe los detalles por correo electrónico a erd dot data at noaa dot gov .
- RENUNCIA DE RESPONSABILIDAD
Ninguna persona u organización asociada con este sitio web ofrece ninguna garantía, expresa o implícita, incluidas garantías de comerciabilidad e idoneidad para un propósito particular, ni asume ninguna responsabilidad legal por la exactitud, integridad o utilidad de cualquier información contenida en este sitio web.
- Si un datasetID y/o variable especificados no están disponibles actualmente, o si el algorithm o el valor nearby no es válido, se devuelve un mensaje de error.
- Las opciones algorithm son:
- Nearest
Esto mira los n puntos del conjunto de datos nearby y devuelve el
más cercano
Valor del conjunto de datos que no es NaN (o NaN si todos son NaN), tal como está.
Si >1 valores del conjunto de datos están igualmente cerca del punto de origen, este método devolverá uno de ellos (sin especificar).
- Bilinear (el valor predeterminado)
Esto analiza los 4 puntos del conjunto de datos nearby en el plano de latitud y longitud y devuelve el
valor interpolado bilineal.
.
Esto maneja valores de NaN y solo devuelve NaN para un punto si los 4 puntos cercanos son NaN.
Para este algorithm, el único valor permitido de nearby es 4.
Este algorithm es el predeterminado.
Si no especifica un algorithm, se utilizará Bilinear/4 .
- Mean
Esto devuelve la media de los valores del conjunto de datos nearby que no son NaN.
Esto hace los cálculos con dobles y devuelve dobles, independientemente del tipo de datos de la variable.
La configuración nearby predeterminada para esta opción es 4.
- SD
Esto devuelve la desviación estándar de los valores del conjunto de datos nearby que no son NaN.
Esto hace los cálculos con dobles y devuelve dobles, independientemente del tipo de datos de la variable.
La configuración nearby predeterminada para esta opción es 4.
- Median
Esto devuelve la mediana de los valores del conjunto de datos nearby que no son NaN.
La configuración nearby predeterminada para esta opción es 4.
Esto realiza los cálculos con dobles y devuelve dobles, independientemente del tipo de conjunto de datos de la variable.
- Scaled
Esto devuelve la interpolación al cuadrado de distancia inversa escalada de los valores del conjunto de datos nearby que no son NaN (Y).
El peso de cada valor del conjunto de datos cercano es w = (1 - D/Dmax) 2 / (D/Dmax), donde D es la distancia (Davis, 1986, ecuación 5.68, página 371).
Por lo tanto, el valor del conjunto de datos más cercano obtiene un peso = 0.
Cada punto interpolado es E = ∑(w Y)/∑(w)
Si un punto cercano del conjunto de datos tiene una distancia de 0, el valor de ese punto se utiliza como valor interpolado.
Esto hace los cálculos con dobles y devuelve dobles, independientemente del tipo de datos de la variable.
La configuración nearby predeterminada para esta opción es 4.
- InverseDistance
Esto devuelve la interpolación de distancia inversa de los valores de datos nearby que no son NaN (Y).
El peso de cada valor de datos cercano es w = 1/D, donde D es la distancia (Davis, 1986, eq 5.67, page 367) .
Cada valor interpolado es E = ∑(w Y)/∑(w)
Si un punto cercano del conjunto de datos tiene una distancia de 0, el valor de ese punto se utiliza como valor interpolado.
Esto hace los cálculos con dobles y devuelve dobles, independientemente del tipo de datos de la variable.
La configuración nearby predeterminada para esta opción es 4.
- InverseDistance2
Esto es como InverseDistance, pero el peso de cada valor de datos cercano es w = 1/D 2 .
- InverseDistance4
Esto es como InverseDistance, pero el peso de cada valor de datos cercano es w = 1/D 4 .
- InverseDistance6
Esto es como InverseDistance, pero el peso de cada valor de datos cercano es w = 1/D 6 .
Todos los algoritmos que calculan distancias (Nearest, Bilinear, Scaled y todos los algoritmos InverseDistance ) calculan las distancias en el espacio de índice, no con los valores reales de tiempo, latitud y longitud.
Por lo tanto, esto da igual peso a una unidad de índice de latitud y a una unidad de índice de longitud (y si es 3D, a una unidad de índice de tiempo).
Si esto no es apropiado para un datasetID / variable determinado, utilice una de las otras opciones algorithm o consulte
¿No es lo que desea? abajo.
- nearby especifica el número de puntos que utilizará el algorithm .
Sólo se permiten ciertos números.
Para todas las opciones algorithm, existen opciones 2D y 3D para nearby .
Las opciones 2D (4, 16 y 36, correspondientes a cuadrados 2D con lados que tienen 1, 2 o 3 valores de índice de largo (2 2, 4 2, 6 2)) incluyen puntos cercanos en el plano de latitud/longitud 2D.
Las opciones 3D (8, 64 y 216, correspondientes a cubos 3D con aristas que tienen 1, 2 o 3 valores de índice de longitud (2 3, 4 3, 6 3)) incluyen puntos cercanos en latitud/longitud/espacio temporal 3D.
.
La opción algorithm = Nearest también admite un valor nearby de 1, que solo mira el punto de datos más cercano en el plano 2D.
Si un determinado punto de longitud, latitud o tiempo está fuera del rango de un conjunto de datos, el valor de datos resultante será NaN.
Sin embargo, si sumar o restar 360 al valor de longitud hace que el punto esté en el rango del conjunto de datos, los resultados tendrán el valor de datos correspondiente.
ADVERTENCIA:
Si el valor de longitud más cercano está cerca del valor de longitud mínimo o máximo, este método solo encuentra puntos cercanos cerca de ese mismo valor de longitud mínimo o máximo; no se ajusta para buscar puntos cercanos.
En cambio, duplica los puntos en el valor de longitud mínimo o máximo, según sea necesario.
Técnicamente, este no es un comportamiento correcto, pero sólo afecta a algunas personas, algunas veces.
Si esto te afecta y no es aceptable, consulta
¿No es lo que quieres? abajo.
- Otras dimensiones
Si un conjunto de datos específico tiene dimensiones distintas a la latitud, la longitud y el tiempo (por ejemplo, profundidad), este convertidor solicitará el valor de dimensión más cercano a 0 para cada una de esas otras dimensiones.
Si este no es el comportamiento deseado, consulte
¿No es lo que desea? abajo.
- Los métodos de interpolación utilizados aquí provienen de Davis, JC 1986.
Statistics and Data Analysis in Geology, 2nd Ed.
John Wiley and Sons.
New York, New York.
- Valores de datos faltantes
Si a un conjunto de datos no le faltan valores, entonces un algorithm simple como Bilinear produce resultados confiablemente buenos.
Pero cuando al conjunto de datos le faltan valores, el resultado puede ser un valor sesgado o un valor faltante.
En esta situación común, es posible que prefiera elegir el algorithm Scaled o uno de los algorithm InverseDistance y una mayor cantidad de puntos nearby .
Estos algoritmos son mejores para tratar los valores faltantes y es menos probable que devuelvan un valor faltante.
- En la tabla de respuestas, los nombres de las nuevas columnas se crean tomando cada parte del datasetID /nombrevariable/algoritmo/CSV cercano (por ejemplo, jplMURSST41/analysed_sst/Bilinear/4) y cambiando las / por _ (por ejemplo.
g, jplMURSST41_analysed_sst_Bilinear_4) para que sean nombres de variables válidos en todo tipo de archivos de datos
- En la tabla de respuestas, excepto algorithm = Nearest (que devuelve el tipo de datos original), los valores interpolados se devuelven como dobles, no como el tipo de datos original.
Los valores faltantes se devuelven como NaN, nunca como sustituto de un valor_faltante.
- ¿Rejillas centradas?
Los valores de latitud y longitud para conjuntos de datos cuadriculados pueden identificar el centro de la celda relevante o la parte inferior izquierda de la celda.
El
estándar CF
dice "Si no se proporcionan límites, una aplicación podría asumir razonablemente que los puntos de la cuadrícula están en los centros de las celdas, pero no lo exigimos en este estándar".
Este convertidor trata los valores de latitud y longitud del conjunto de datos como puntos para poder interpolar valores que se encuentran entre los puntos de latitud y longitud del conjunto de datos.
Esto es más consistente con la suposición de que los valores de latitud y longitud del conjunto de datos identifican el centro de la celda.
Si este no es el enfoque correcto para un conjunto de datos determinado, en algunos casos puede ser apropiado restar la mitad del espacio entre celdas de los valores de latitud y longitud que proporciona a este convertidor.
- ¿No es lo que quieres?
Si los métodos u opciones que ofrece este convertidor no son adecuados para sus propósitos o no son lo que desea, no los utilice.
En su lugar, puede hacerlo usted mismo, a su manera:
descargue subconjuntos del conjunto de datos y aplique su propio algoritmo.
Para solicitar que se agreguen otros algoritmos de interpolación a este convertidor, envíe un correo electrónico erd dot data at noaa dot gov .
- Administradores ERDDAP :
Puede cambiar el CSV de solicitud predeterminado agregando/editando la etiqueta <convertInterpolateRequestCSVExample> en datasets.xml .
De manera similar, puede cambiar la lista de opciones variable / datasetID agregando o editando la etiqueta <convertInterpolateDatasetIDVariableList> en datasets.xml, que puede tener una lista separada por comas de combinaciones sugeridas datasetID / variable .
El formulario en esta página web ayuda a los humanos a generar una URL de solicitud que se envía a ERDDAP cuando el humano presiona el botón Convertir.
Sin embargo, puede omitir este formulario generando la URL a mano o en un programa o script de computadora y enviándola directamente a ERDDAP .
- La tabla de hora, latitud y longitud del formulario se convierte en el parámetro TimeLatLonTable en la solicitud.
- El CSV de solicitud del formulario se convierte en el parámetro requestCSV de la solicitud.
- El tipo de archivo en el formulario se convierte en el tipo de archivo de la solicitud.
Una URL de solicitud de ejemplo es
https://coastwatch.pfeg.noaa.gov/erddap/convert/interpolate.htmlTable?TimeLatLonTable=
time%2Clatitude%2Clongitude%0A
2020-01-01T06%3A00%3A00Z%2C35.580%2C-122.550%0A
2020-01-01T12%3A00%3A00Z%2C35.576%2C-122.553%0A
2020-01-01T18%3A00%3A00Z%2C35.572%2C-122.568%0A
2020-01-02T00%3A00%3A00Z%2C35.569%2C-122.571%0A
&requestCSV=jplMURSST41%2Fanalysed_sst%2FBilinear%2F4
(tiene saltos de línea insertados para facilitar la lectura, pero en realidad es solo una línea larga).
Longitud de la URL :
tenga en cuenta que a medida que aumenta la cantidad de datos en TimeLatLonTable, la URL de solicitud se vuelve muy larga.
Debido a que Tomcat tiene un límite predeterminado de 4096 caracteres por URL de solicitud, este convertidor está limitado a 100 filas de entrada; 100 filas es lo máximo que puede solicitar de manera confiable a la vez.
Incluso con este límite, este convertidor es mucho más eficiente que realizar una solicitud separada para cada valor de tiempo, latitud y longitud de origen porque las solicitudes masivas tienen 1/100 de la sobrecarga de la red y también obtienen los datos del conjunto de datos de origen de manera mucho más eficiente (a menudo casi 100 veces).
más eficientemente).
Codificación porcentual :
los valores de los parámetros TimeLatLonTable y requestCSV en la URL deben estar
codificados porcentualmente correctamente.
:
todos los caracteres distintos de A-Za-z0-9_-!.~'()* deben codificarse como %HH, donde HH es el valor hexadecimal de 2 dígitos del carácter; por ejemplo, un espacio se convierte en %20.
Los caracteres superiores al #127 deben convertirse a bytes UTF-8, luego cada byte UTF-8 debe estar codificado en porcentaje (solicite ayuda a un programador).
Hay
sitios web que codifican y decodifican por ciento para usted.
.