Interpoler des valeurs à partir de valeurs d'ensemble de données quadrillées
Ce convertisseur interpole efficacement les valeurs à partir des valeurs d'un ensemble de données quadrillées.
En tant que tel, il est particulièrement utile pour les chercheurs travaillant avec des données de traces d'animaux (par exemple, le
IOOS Animal Telemetry Network 
).
Ce convertisseur prend un tableau avec des colonnes de latitude, de longitude et d'heure (et peut-être d'autres colonnes) et renvoie un tableau avec des colonnes supplémentaires avec des valeurs interpolées basées sur le CSV de demande spécifié par l'utilisateur avec des combinaisons
datasetID /variableName/algorithm/nearby (par exemple,
jplMURSST41/analysed_sst/Bilinear/4). Dans tous les cas, pour chaque latitude, longitude et point temporel que vous fournissez, le convertisseur recherche le nombre spécifié de valeurs proches à partir de l' datasetID /variable spécifié, puis applique l'algorithme spécifié pour créer la valeur interpolée.
Peu de personnes utiliseront régulièrement cette page Web.
Au lieu de cela, la plupart des utilisateurs de ce service écriront et/ou utiliseront un script qui utilise le
service Web sous-jacent de cette page Web.
Ou
contournez cette page Web et effectuez des conversions à partir d’un programme informatique, d’un script ou d’une page Web.
Remarques:
- Vérifiez toujours les résultats des convertisseurs.
Si vous pensez que le convertisseur a donné un résultat incorrect, veuillez envoyer les détails par courrier électronique à erd dot data at noaa dot gov .
- EXCLUSION DE RESPONSABILITÉ
Aucune personne ou organisation associée à ce site Web n'offre de garantie, expresse ou implicite, y compris des garanties de qualité marchande et d'adéquation à un usage particulier, ni n'assume aucune responsabilité légale quant à l'exactitude, l'exhaustivité ou l'utilité de toute information contenue dans ce site Web.
- Si un datasetID et/ou variable spécifiés ne sont pas actuellement disponibles, ou si l' algorithm ou la valeur nearby n'est pas valide, cela renvoie un message d'erreur.
- Les options algorithm sont :
- Nearest
Cela examine les n points de l'ensemble de données nearby et renvoie le
plus proche
valeur de l'ensemble de données non NaN (ou NaN s'ils sont tous NaN), telle quelle.
Si >1 valeurs de l'ensemble de données sont également proches du point source, cette méthode en renverra une (non spécifiée).
- Bilinear (par défaut)
Cela examine les 4 points de l'ensemble de données nearby dans le plan de latitude et de longitude et renvoie la
valeur interpolée bilinéaire.
.
Cela gère les valeurs NaN et renvoie uniquement NaN pour un point si les 4 points proches sont des NaN.
Pour cet algorithm, la seule valeur autorisée de nearby est 4.
Cet algorithm est la valeur par défaut.
Si vous ne spécifiez pas, un algorithm Bilinear/4 sera utilisé.
- Mean
Cela renvoie la moyenne des valeurs de l'ensemble de données nearby non NaN.
Cela effectue les calculs avec les doubles et renvoie les doubles, quel que soit le type de données de la variable.
Le paramètre nearby par défaut pour cette option est 4.
- SD
Cela renvoie l'écart type des valeurs de l'ensemble de données nearby non NaN.
Cela effectue les calculs avec les doubles et renvoie les doubles, quel que soit le type de données de la variable.
Le paramètre nearby par défaut pour cette option est 4.
- Median
Cela renvoie la médiane des valeurs de l'ensemble de données nearby non NaN.
Le paramètre nearby par défaut pour cette option est 4.
Cela effectue les calculs avec des doubles et renvoie des doubles, quel que soit le type d'ensemble de données de la variable.
- Scaled
Cela renvoie l'interpolation au carré de la distance inversée mise à l'échelle des valeurs de l'ensemble de données nearby non NaN (Y).
Le poids pour chaque valeur d'ensemble de données à proximité est w = (1 - D/Dmax) 2 / (D/Dmax), où D est la distance (Davis, 1986, équation 5.68, page 371).
Ainsi, la valeur de l’ensemble de données la plus proche obtient un poids = 0.
Chaque point interpolé est E = ∑(w Y)/∑(w)
Si un point de jeu de données à proximité a une distance de 0, la valeur de ce point est utilisée comme valeur interpolée.
Cela effectue les calculs avec les doubles et renvoie les doubles, quel que soit le type de données de la variable.
Le paramètre nearby par défaut pour cette option est 4.
- InverseDistance
Cela renvoie l’interpolation de distance inverse des valeurs de données nearby (Y) non NaN.
Le poids pour chaque valeur de données proche est w = 1/D, où D est la distance (Davis, 1986, eq 5.67, page 367) .
Chaque valeur interpolée est E = ∑(w Y)/∑(w)
Si un point de jeu de données à proximité a une distance de 0, la valeur de ce point est utilisée comme valeur interpolée.
Cela effectue les calculs avec les doubles et renvoie les doubles, quel que soit le type de données de la variable.
Le paramètre nearby par défaut pour cette option est 4.
- InverseDistance2
C'est comme InverseDistance, mais le poids pour chaque valeur de données proche est w = 1/D 2 .
- InverseDistance4
C'est comme InverseDistance, mais le poids de chaque valeur de données proche est w = 1/D 4 .
- InverseDistance6
C'est comme InverseDistance, mais le poids de chaque valeur de données proche est w = 1/D 6 .
Tous les algorithmes qui calculent les distances (Nearest, Bilinear, Scaled et tous les algorithmes InverseDistance ) calculent les distances dans l'espace d'index, et non avec les valeurs réelles de temps, de latitude et de longitude.
Ainsi, cela donne un poids égal à une unité d’indice de latitude et à une unité d’indice de longitude (et si 3D, à une unité d’indice de temps).
Si cela n'est pas approprié pour un datasetID / variable donné, utilisez l'une des autres options algorithm ou consultez
Pas ce que vous voulez ? ci-dessous.
- nearby spécifie le nombre de points à utiliser par l' algorithm .
Seuls certains numéros sont autorisés.
Pour toutes les options algorithm, il existe des options 2D et 3D pour nearby .
Les options 2D (4, 16 et 36, correspondant à des carrés 2D dont les côtés mesurent 1, 2 ou 3 valeurs d'indice (2 2, 4 2, 6 2)) incluent des points proches dans le plan latitude/longitude 2D.
Les options 3D (8, 64 et 216, correspondant à des cubes 3D dont les arêtes ont une longueur de 1, 2 ou 3 valeurs d'index (2 3, 4 3, 6 3)) incluent des points proches dans l'espace latitude/longitude/temps 3D.
.
L'option algorithm = Nearest prend également en charge une valeur nearby de 1, qui examine uniquement le point de données le plus proche dans le plan 2D.
Si une longitude, une latitude ou un point temporel donné se trouve en dehors de la plage d'un ensemble de données, la valeur des données résultante sera NaN.
Cependant, si l'ajout ou la soustraction de 360 à la valeur de longitude fait que le point se trouve dans la plage de l'ensemble de données, les résultats auront la valeur de données correspondante.
AVERTISSEMENT : si la valeur de longitude la plus proche est proche de la valeur de longitude minimale ou maximale, cette méthode recherche uniquement les points proches proches de cette même valeur de longitude minimale ou maximale ; elle ne recherche pas les points proches.
Au lieu de cela, il duplique les points à la valeur de longitude minimale ou maximale, selon les besoins.
Techniquement, ce n’est pas un comportement correct, mais cela n’affecte que certaines personnes, de temps en temps.
Si cela vous affecte et n’est pas acceptable, voir
Ce n’est pas ce que vous voulez ? ci-dessous.
- Autres dimensions
Si un ensemble de données spécifié comporte des dimensions autres que la latitude, la longitude et le temps (par exemple, la profondeur), ce convertisseur demandera la valeur de dimension la plus proche de 0 pour chacune de ces autres dimensions.
Si ce n’est pas le comportement souhaité, consultez
Pas ce que vous voulez ? ci-dessous.
- Les méthodes d'interpolation utilisées ici proviennent de Davis, JC 1986.
Statistics and Data Analysis in Geology, 2nd Ed.
John Wiley and Sons.
New York, New York.
- Valeurs de données manquantes
Si un ensemble de données ne contient aucune valeur manquante, un algorithm simple tel que Bilinear donne de bons résultats fiables.
Mais lorsque l’ensemble de données comporte des valeurs manquantes, le résultat peut être une valeur biaisée ou une valeur manquante.
Dans cette situation courante, vous préférerez peut-être choisir l' algorithm Scaled ou l'un des algorithm InverseDistance et un plus grand nombre de points nearby .
Ces algorithmes sont plus efficaces pour gérer les valeurs manquantes et sont moins susceptibles de renvoyer une valeur manquante.
- Dans la table de réponses, les noms des nouvelles colonnes sont créés en prenant chaque partie du datasetID /variableName/algorithm/nearby CSV (par exemple, jplMURSST41/analysed_sst/Bilinear/4) et en changeant les / en _ (par ex.
g, jplMURSST41_analysed_sst_Bilinear_4) afin qu'ils soient des noms de variables valides dans tous les types de fichiers de données
- Dans la table de réponses, à l'exception de algorithm = Nearest (qui renvoie le type de données d'origine), les valeurs interpolées sont renvoyées sous forme de doubles, et non le type de données d'origine.
Les valeurs manquantes sont renvoyées sous forme de NaN, jamais de valeur manquante.
- Des grilles centrées ?
Les valeurs de latitude et de longitude pour les ensembles de données quadrillés peuvent identifier le centre de la cellule concernée ou le coin inférieur gauche de la cellule.
La
norme CF
dit "Si les limites ne sont pas fournies, une application peut raisonnablement supposer que les points de grille se trouvent au centre des cellules, mais nous n'exigeons pas cela dans cette norme." Ce convertisseur traite les valeurs de latitude et de longitude de l'ensemble de données comme des points afin de pouvoir interpoler les valeurs qui se situent entre les points de latitude et de longitude de l'ensemble de données.
Cela est plus cohérent avec l'hypothèse selon laquelle les valeurs de latitude et de longitude de l'ensemble de données identifient le centre de la cellule.
Si cette approche n'est pas correcte pour un ensemble de données donné, dans certains cas, il peut être approprié de soustraire la moitié de l'espacement des cellules des valeurs de latitude et de longitude que vous fournissez à ce convertisseur.
- Ce n'est pas ce que tu veux ?
Si les méthodes ou options proposées par ce convertisseur ne conviennent pas à vos besoins ou ne correspondent pas à ce que vous souhaitez, ne les utilisez pas.
Au lieu de cela, vous pouvez le faire vous-même, à votre manière :
téléchargez des sous-ensembles de l’ensemble de données et appliquez votre propre algorithme.
Pour demander que d'autres algorithmes d'interpolation soient ajoutés à ce convertisseur, veuillez envoyer un e-mail à erd dot data at noaa dot gov .
- Administrateurs ERDDAP :
Vous pouvez modifier le CSV de requête par défaut en ajoutant/modifiant la balise <convertInterpolateRequestCSVExample> dans datasets.xml .
De même, vous pouvez modifier la liste des options datasetID / variable en ajoutant/modifiant la balise <convertInterpolateDatasetIDVariableList> dans datasets.xml, qui peut avoir une liste de combinaisons datasetID / variable suggérées, séparées par des virgules.
Le formulaire de cette page Web aide les humains à générer une URL de requête qui est envoyée à ERDDAP lorsque l'humain appuie sur le bouton Convertir.
Cependant, vous pouvez contourner ce formulaire en générant l'URL manuellement ou dans un programme informatique ou un script, et en soumettant l'URL directement à ERDDAP .
- Le tableau d'heure, de latitude et de longitude dans le formulaire devient le paramètre TimeLatLonTable dans la requête.
- Le CSV de requête dans le formulaire devient le paramètre requestCSV dans la requête.
- Le Type de fichier dans le formulaire devient le type de fichier de la demande.
Un exemple d'URL de requête est
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
(avec des sauts de ligne insérés pour faciliter la lecture, mais il ne s'agit en réalité que d'une longue ligne.)
Longueur de l'URL :
notez qu'à mesure que la quantité de données dans TimeLatLonTable augmente, l'URL de la requête devient très longue.
Étant donné que Tomcat a une limite par défaut de 4 096 caractères par URL de requête, ce convertisseur est limité à 100 lignes d'entrée - 100 lignes est le maximum que vous pouvez demander de manière fiable à la fois.
Même avec cette limite, ce convertisseur est beaucoup plus efficace que de faire une requête distincte pour chaque valeur source Temps Latitude Longitude, car les requêtes groupées ont 1/100ème de la surcharge du réseau et obtiennent également les données de l'ensemble de données source beaucoup plus efficacement (souvent près de 100 fois).
plus efficacement).
Encodage en pourcentage :
les valeurs des paramètres TimeLatLonTable et requestCSV dans l'URL doivent être correctement
codées en pourcentage.
:
tous les caractères autres que A-Za-z0-9_-!.~'()* doivent être codés en %HH, où HH est la valeur hexadécimale à 2 chiffres du caractère, par exemple, un espace devient %20.
Les caractères au-dessus de #127 doivent être convertis en octets UTF-8, puis chaque octet UTF-8 doit être codé en pourcentage (demandez de l'aide à un programmeur).
Il existe
des sites Web qui encodent et décodent pour vous
.