Il s'agit de la commande greensplinegmt qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
greenspline - Interpolez en utilisant les fonctions de Green pour les splines en 1-3 dimensions
SYNOPSIS
spline verte [ table ] [ [1|2|3|4|5,]fichier gradué ] [ [n|v]cut[/filet] ] [ mode ] [ fichier grd ] [
xinc[/yinc[/zinc]] ] [ ] [ fichier de noeud ] [ az|x/y/z ] [ ouest/est/sud/nord[/zmin/zmax][r]
] [ c|t|l|r|p|q[pars] ] [ grille de masque ] [ [niveau] ] [ ] [ -b] [ -d] [
-f] [ -h] [ -o] [ -x[[-]n] ] [ -:[i|o] ]
Attention: Aucun espace n'est autorisé entre l'indicateur d'option et les arguments associés.
DESCRIPTION
spline verte utilise la fonction de Green G(x; x') pour la spline et la géométrie choisies à
interpoler les données à des emplacements de sortie réguliers [ou arbitraires]. Mathématiquement, la solution
se compose comme w(x) = somme {c(i) G(x'; x(i))}, pour i = 1, n, le nombre de points de données
{x(i), w(i)}. Une fois la n coefficients c(i) ont été trouvés, la somme peut être évaluée à n'importe quel
point de sortie x. Choisissez entre une courbure minimale, régularisée ou continue
splines en tension pour les coordonnées cartésiennes 1D, 2D ou 3D ou la surface sphérique
coordonnées. Après avoir supprimé une tendance linéaire ou plane (géométries cartésiennes) ou une moyenne
valeur (surface sphérique) et en normalisant ces résidus, la matrice des moindres carrés
solution pour les coefficients de spline c(i) se trouve en résolvant le n by n système linéaire
w(j) = somme sur-i {c(i) G(x(j); x(i))}, pour j = 1, n; cette solution donne exactement
interpolation des points de données fournis. Alternativement, vous pouvez choisir d'effectuer un
décomposition en valeur singulière (SVD) et éliminer la contribution du plus petit
valeurs propres ; cette approche donne une solution approximative. Les tendances et les échelles sont restaurées
lors de l'évaluation de la sortie.
REQUIS ARGUMENTS
Aucun.
EN OPTION ARGUMENTS
table Le nom d'un ou plusieurs ASCII [ou binaire, voir -bi] fichiers contenant le x, w données,
points. Si aucun fichier n'est fourni, nous lisons à la place l'entrée standard.
-A[1|2|3|4|5,]fichier gradué
La solution sera en partie contrainte par les gradients de surface v = v*n, Où v is
l'amplitude du gradient et n sa direction de vecteur unitaire. La direction du gradient peut
être spécifié soit par des composantes cartésiennes (soit le vecteur unitaire n et magnitude v
composants séparés ou dégradés v directement) ou des angles par rapport aux axes de coordonnées.
Spécifiez l'un des cinq formats d'entrée : 0: Pour les données 1-D, il n'y a pas de direction, juste
amplitude du gradient (pente) de sorte que le format d'entrée est x, pente. Les options 1-2 sont pour
Ensembles de données 2D : 1: les enregistrements contiennent x, y, azimut, pente (azimut en degrés est
mesurée dans le sens horaire à partir de la verticale (nord) [Par défaut]). 2: les enregistrements contiennent x, y,
pente, azimut (azimut en degrés est mesuré dans le sens des aiguilles d'une montre à partir de la verticale
(Nord)). Les options 3 à 5 concernent les données 2D ou 3D : 3: les enregistrements contiennent x,
directions), v (directions) en degrés sont mesurés dans le sens inverse des aiguilles d'une montre à partir de la
horizontal (et pour le 3-D l'axe vertical). 4: les enregistrements contiennent x, v. 5: enregistrements
contiennent x, n, v. Ajoutez le nom du fichier ASCII avec les gradients de surface (après un
virgule si un format est spécifié).
-C[n|v]cut[/filet]
Trouver un ajustement de surface approximatif : résoudre le système linéaire de la spline
coefficients par SVD et éliminer la contribution de toutes les valeurs propres dont le rapport
à la plus grande valeur propre est inférieur à cut [La valeur par défaut utilise l'élimination de Gauss-Jordan
pour résoudre le système linéaire et ajuster exactement les données]. En option, ajoutez /filet à
enregistrer les rapports de valeurs propres dans le fichier spécifié pour une analyse plus approfondie. Enfin, si
Un négatif cut est donné alors /filet est requis et l'exécution s'arrêtera après l'enregistrement
les valeurs propres, c'est-à-dire qu'aucune sortie de surface n'est produite. Spécifier -CV d'utiliser le
plus grandes valeurs propres nécessaires pour expliquer cut % de la variance des données. Alternativement,
utilisé -Cn pour sélectionner le cut plus grandes valeurs propres. Si un filet est donné avec -CV ensuite nous
enregistrer les valeurs propres au lieu des ratios.
-Dmode Définit l'indicateur de distance qui détermine comment nous calculons les distances entre les données
points. Sélectionner mode 0 pour l'interpolation spline 1-D cartésienne : -D0 signifie (x) dans l'utilisateur
unités, distances cartésiennes, sélection mode 1-3 pour spline de surface cartésienne 2D
interpolation: -D1 signifie (x,y) en unités utilisateur, distances cartésiennes, -D2 pour (x,y) dans
degrés, distances de la Terre plate et -D3 pour (x,y) en degrés, Distances sphériques en
km. Ensuite, si PROJ_ELLIPSOID est sphérique, on calcule les arcs de grand cercle, sinon
géodésiques. Option mode = 4 s'applique uniquement à l'interpolation de spline de surface sphérique :
-D4 pour (x,y) en degrés, utilisez le cosinus des arcs de grand cercle (ou géodésiques). Sélectionner
mode 5 pour l'interpolation de spline de surface cartésienne 3-D : -D5 signifie (x,y,z) dans l'utilisateur
unités, distances cartésiennes.
-Gfichier grd
Nom du fichier de sortie résultant. (1) Si option -R, -I, Et peut-être -r sommes réglés, nous
produire une table de sortie équidistante. Ce sera écrit sur stdout à moins que -G is
spécifié. Remarque : pour les grilles 2D, le -G option est requise. (2) Si option -T is
sélectionné puis -G est requis et le fichier de sortie est un fichier de grille binaire 2D. S'applique
à l'interpolation 2D uniquement. (3) Si -N est sélectionné, la sortie est un ASCII (ou
binaire; voir -bo) table; si -G n'est pas donné alors ce tableau est écrit en standard
sortir. Ignoré si -C or -C0 est donné.
-Ixinc[/yinc[/zinc]]
Spécifiez des intervalles d'échantillonnage équidistants, activés pour chaque dimension, séparés par
barres obliques.
-L Do pas supprimer une tendance linéaire (1-D) ou plane (2-D) lorsque -D sélectionne le mode 0-3 [Pour
ces cas cartésiens, une ligne ou un plan des moindres carrés est modélisé et supprimé, puis
restauré après ajustement d'une spline aux résidus]. Cependant, dans les cas mixtes avec
à la fois les valeurs de données et les gradients, ou pour les données de surface sphérique, seules les données moyennes
la valeur est supprimée (et plus tard et restaurée).
-Nfichier de noeud
Fichier ASCII avec les coordonnées des emplacements de sortie souhaités x dans la ou les première(s) colonne(s).
Le résultantes w les valeurs sont ajoutées à chaque enregistrement et écrites dans le fichier donné dans
-G [ou stdout si non spécifié] ; voir -bo pour la sortie binaire à la place. Cette option
élimine le besoin de spécifier des options -R, -I et -r.
-Qaz|x/y/z
Plutôt que d'évaluer la surface, prenez la dérivée directionnelle dans le az azimut
et renvoie l'amplitude de cette dérivée à la place. Pour l'interpolation 3D, spécifiez
les trois composantes de la direction du vecteur souhaité (le vecteur sera normalisé
Avant utilisation).
-Rx min/xmax[/ymin/ymax[/zminzmax]]
Spécifiez le domaine d'un réseau équidistant où les prédictions de sortie sont
obligatoire. A besoin -I et éventuellement -r.
1D: Donner xmin/xmax, le minimum et le maximum x coordonnées.
2D: Donner xmin/xmax/ymin/ymax, le minimum et le maximum x et y coordonnées. Ces
peut être cartésien ou géographique. Si géographique, alors ouest, est, sud et
nord spécifiez la région d'intérêt, et vous pouvez les spécifier en degrés décimaux
ou au format [+-]dd:mm[:ss.xxx][W|E|S|N]. Les deux raccourcis -Rg et -Rd représenter
domaine global (0/360 et -180/+180 en longitude respectivement, avec -90/+90 en
latitude).
3D: Donner xmin/xmax/ymin/ymax/zmin/zmax, le minimum et le maximum x, y et z
coordonnées. Voir la section 2-D si vos coordonnées horizontales sont géographiques ;
notez les raccourcis -Rg et -Rd ne peut pas être utilisé si un domaine 3D est spécifié.
-Sc|t|l|r|p|q[pars]
Sélectionnez l'une des six splines différentes. Les deux premiers sont utilisés pour 1-D, 2-D ou 3-D
splines cartésiennes (voir -D pour discuter). Notez que toutes les valeurs de tension sont
devrait être une tension normalisée dans la plage 0 t < 1 : (c) Courbure minimale
cannelure [Puits de sable, 1987], (t) Cannelure à courbure continue en tension [Wessel et
Bercovici, 1998] ; ajouter tension[/en échelon] avec tension dans la gamme 0-1 et
éventuellement fournir une échelle de longueur [La valeur par défaut est l'espacement moyen de la grille]. Le suivant est
une spline 1D ou 2D : (l) Spline linéaire (1-D) ou bilinéaire (2-D) ; ceux-ci produisent
sortie qui ne dépasse pas la plage des données données. Le suivant est un 2-D ou 3-D
spline : (r) Cannelure régularisée en tension [Mitasova et mitas, 1993] ; encore une fois, ajoutez
tension et facultatif en échelon. Les deux derniers sont des splines de surface sphériques et les deux
impliquer -D4: (p) Spline de courbure minimale [PARKER, 1994], (q) Courbure continue
cannelure en tension [Wessel et Becker, 2008] ; ajouter tension. Le G(x'; x') pour le
la dernière méthode est plus lente à calculer (une solution en série), nous pré-calculons donc les valeurs et
utilisez plutôt la recherche d'interpolation de spline cubique. Ajouter éventuellement +nN (un étrange
entier) pour modifier le nombre de points à utiliser dans la configuration de la spline [10001]. Le fini
La somme de Legendre a une erreur de troncature [1e-6] ; vous pouvez le réduire en ajoutant +elimite
au détriment d'une autonomie plus longue.
-Tgrille de masque
Pour l'interpolation 2D uniquement. N'évaluez la solution qu'aux nœuds du grille de masque
qui ne sont pas égaux à NaN. Cette option élimine le besoin de spécifier des options -R,
-I et -r.
-V[niveau] (plus ...)
Sélectionnez le niveau de verbosité [c].
-W Attendez-vous à des poids de données dans la colonne d'entrée finale, généralement donnés comme poids = 1 /
sigma, l'incertitude des données. Il en résulte un ajustement par les moindres carrés pondérés. Noter
que cela n'a d'effet que si -CC est utilisé.
-bi[ncols][t] (plus ...)
Sélectionnez l'entrée binaire native. [La valeur par défaut est de 2 à 4 colonnes d'entrée (x,w); le nombre dépend
sur la dimension choisie].
-bo[ncols][type] (plus ...)
Sélectionnez la sortie binaire native.
-d[i|o]pas de données (plus ...)
Remplacer les colonnes d'entrée égales pas de données avec NaN et faire l'inverse en sortie.
-f[je|o]colinfo (plus ...)
Spécifiez les types de données des colonnes d'entrée et/ou de sortie.
-h[je|o][n][+c][+d][+rremarque][+rtitre] (plus ...)
Ignorer ou produire des enregistrements d'en-tête.
-icols[l][sen échelon][ocompenser][, ] (plus ...)
Sélectionnez les colonnes d'entrée (0 est la première colonne).
-ocols[,...] (plus ...)
Sélectionnez les colonnes de sortie (0 est la première colonne).
-r (plus ...)
Définir l'enregistrement du nœud de pixel [grille].
-X[[-]n] (plus ...)
Limiter le nombre de cœurs utilisés dans les algorithmes multithreads (OpenMP requis).
-^ or juste -
Imprime un court message sur la syntaxe de la commande, puis quitte (REMARQUE : sous Windows
utiliser juste -).
-+ or juste +
Imprimez un message d'utilisation détaillé (aide), y compris l'explication de tout
option spécifique au module (mais pas les options communes GMT), puis se ferme.
-? or aucune arguments
Imprimez un message d'utilisation (aide) complet, y compris l'explication des options, puis
sorties.
--version
Imprimer la version GMT et quitter.
--show-datadir
Affichez le chemin complet vers le répertoire de partage GMT et quittez.
1-D EXEMPLES
Pour rééchantillonner le x,y Données aléatoires gaussiennes créées par maths et stocké dans 1D.txt,
en demandant une sortie tous les 0.1 pas de 0 à 10, et en utilisant une spline cubique minimale, essayez
gmt math -T0/10/1 0 1 NRAND = 1D.txt
gmt psxy -R0/10/-5/5 -JX6i/3i -B2f1/1 -Sc0.1 -Gblack 1D.txt -K > 1D.ps
gmt greenspline 1D.txt -R0/10 -I0.1 -Sc -V | psxy -R -J -O -Wthin >> 1D.ps
Pour appliquer une spline en tension à la place, en utilisant une tension de 0.7, essayez
gmt psxy -R0/10/-5/5 -JX6i/3i -B2f1/1 -Sc0.1 -Gblack 1D.txt -K > 1Dt.ps
gmt greenspline 1D.txt -R0/10 -I0.1 -St0.7 -V | psxy -R -J -O -Wthin >> 1Dt.ps
2-D EXEMPLES
Pour créer une grille uniforme en utilisant la spline de courbure minimale pour le même ensemble de données cartésiennes
de Davis (1986) qui est utilisé dans le GMT Technical Reference and Cookbook example 16, essayez
gmt greenspline table_5.11 -R0/6.5/-0.2/6.5 -I0.1 -Sc -V -D1 -GS1987.nc
gmt psxy -R0/6.5/-0.2/6.5 -JX6i -B2f1 -Sc0.1 -Gblack table_5.11 -K > 2D.ps
gmt grdcontour -JX6i -B2f1 -O -C25 -A50 S1987.nc >> 2D.ps
Pour utiliser des splines cartésiennes en traction mais évaluer uniquement la solution où le masque de saisie
la grille n'est pas NaN, essayez
gmt greenspline table_5.11 -Tmask.nc -St0.5 -V -D1 -GWB1998.nc
Pour utiliser des splines généralisées cartésiennes en tension et renvoyer la grandeur de la surface
pente dans la direction NW, essayez
gmt greenspline table_5.11 -R0/6.5/-0.2/6.5 -I0.1 -Sr0.95 -V -D1 -Q-45 -Gslopes.nc
Enfin, pour utiliser des splines à courbure minimale cartésienne pour récupérer une surface où la
les données d'entrée sont une valeur de surface unique (pt.d) et les contraintes restantes spécifient uniquement le
pente et direction de la surface (pentes.d), utilisez
gmt greenspline pt.d -R-3.2/3.2/-3.2/3.2 -I0.1 -Sc -V -D1 -A1,pentes.d -Gpentes.nc
3-D EXEMPLES
Pour créer une table de grille cartésienne 3D uniforme basée sur les données de table_5.23 dans Davis
(1986) qui contient x,y,z emplacements et une mesure des concentrations d'oxyde d'uranium (en
pour cent), essayez
gmt greenspline table_5.23 -R5/40/-5/10/5/16 -I0.25 -Sr0.85 -V -D5 -G3D_UO2.txt
2-D SPHÉRIQUE SURFACE EXEMPLES
Pour recréer l'exemple de Parker [1994] sur une grille globale de 1x1 degrés, en supposant que les données sont dans
fichier mag_obs_1990.d, essayez
greenspline -V -Rg -Sp -D3 -I1 -GP1994.nc mag_obs_1990.d
Pour faire le même problème mais en appliquant une tension de 0.85, utilisez
greenspline -V -Rg -Sq0.85 -D3 -I1 -GWB2008.nc mag_obs_1990.d
CONSIDERATIONS
1. Pour les cas cartésiens, nous utilisons les fonctions de Green en espace libre, donc pas de frontière
les conditions sont appliquées aux bords du domaine spécifié. Pour la plupart des applications
c'est bien car la région est généralement arbitrairement définie pour refléter l'étendue de votre
Les données. Cependant, si votre application nécessite des conditions aux limites particulières, vous pouvez
envisager d'utiliser surface à la place.
2. Dans tous les cas, la solution est obtenue en inversant un n x n matrice double précision pour
les coefficients de la fonction de Green, où n est le nombre de contraintes de données. Par conséquent, votre
la mémoire de l'ordinateur peut imposer des restrictions sur la taille des ensembles de données que vous pouvez traiter avec
spline verte . Pré-traitement de vos données avec moyen-bloc
, bloc médian , ou mode bloc is
recommandé pour éviter l'aliasing et peut également contrôler la taille de n. Pour information, si n
= 1024 alors seulement 8 Mo de mémoire sont nécessaires, mais pour n = 10240 nous avons besoin de 800 Mo. Noter que
spline verte est entièrement compatible 64 bits s'il est compilé en tant que tel. Pour
données sphériques que vous pouvez envisager de décimer en utilisant gmtspatial le plus proche
réduction du voisin.
3. L'inversion des coefficients peut devenir numériquement instable lorsque les voisins des données sont
très proche par rapport à l'étendue globale des données. Vous pouvez y remédier en
pré-traiter les données, par exemple, en faisant la moyenne de voisins étroitement espacés. Alternativement,
vous pouvez améliorer la stabilité en utilisant la solution SVD et supprimer les informations associées
avec les plus petites valeurs propres (voir -C).
4. La solution série mise en œuvre pour -Carré a été développé par Robert L. Parker, Scripps
Institution of Oceanography, que nous remercions chaleureusement.
5. Si vous devez adapter une certaine spline 1D à vos points de données, vous pouvez
Pour conférer échantillon1d au lieu. Il offrira des cannelures traditionnelles avec
conditions aux limites standard (telles que la spline cubique naturelle, qui définit la
courbures aux extrémités à zéro). En revanche, la spline 1D de greenspline, telle qu'elle est
expliqué dans la note 1, est-ce que pas spécifier les conditions aux limites à la fin des données
domaine.
TENSION
La tension est généralement utilisée pour supprimer les oscillations parasites causées par le minimum
exigence de courbure, en particulier lorsque des changements de gradient rapides sont présents dans les données.
La bonne quantité de tension ne peut être déterminée que par l'expérimentation. En général, très
les données lisses (telles que les champs potentiels) ne nécessitent pas beaucoup, voire aucune tension, tandis que plus grossières
les données (telles que la topographie) seront généralement mieux interpolées avec une tension modérée. Faire
assurez-vous d'essayer une plage de valeurs avant de choisir votre résultat final. Remarque : le régularisé
spline en tension n'est stable que pour une plage finie de en échelon valeurs; tu dois expérimenter
pour trouver la plage valide et un réglage utile. Pour plus d'informations sur la tension, consultez le
références ci-dessous.
Références
Davis, JC, 1986, Statistique et Sauvegarde de Analyse in Géologie, 2e édition, 646 pages, Wiley,
New York,
Mitasova, H., et L. Mitas, 1993, Interpolation par spline régularisée avec tension : I.
Théorie et mise en œuvre, Math. Géol., 25, 641-655.
Parker, RL, 1994, Géophysique Inverse Théorie, 386 pages, Princeton Univ. Presse,
Princeton, New Jersey
Sandwell, DT, 1987, Interpolation spline biharmonique de l'altimètre Geos-3 et Seasat
données, Géophysique. Res. Lett., 14, 139-142.
Wessel, P., et D. Bercovici, 1998, Interpolation avec splines en tension : un
approche fonctionnelle, Math. Géol., 30, 77-93.
Wessel, P., et JM Becker, 2008, Interpolation utilisant une fonction de Green généralisée pour
une spline de surface sphérique en tension, Géophysique. J. Int, 174, 21-28.
Wessel, P., 2009, Un interpolateur de fonction de Green à usage général, Ordinateur &
géosciences, 35, 1247-1254, est ce que je:10.1016/j.cageo.2008.08.012.
Utilisez greensplinegmt en ligne en utilisant les services onworks.net