surface¶
Ici vous aurez des explications sur la commande et ses différents paramètres.
pygmt.surface(data=None, x=None, y=None, z=None, \*, convergence=None,
outgrid=None, spacing=None, lower=None, upper=None, maxradius=None,
region=None, tension=None, verbose=None, aspatial=None, binary=None,
nodata=None, find=None, coltypes=None, header=None, incols=None,
registration=None, wrap=None, \**kwargs)
Utilité :¶
Données de tableau de grille utilisant des splines de courbure continue avec tension ajustable.
La surface lit des triplets (x, y, z) espacés de manière aléatoire et produit des valeurs en grille z(x, y) en résolvant :
où t est un facteur de tension compris entre 0 et 1, et ∇ indique l’opérateur laplacien. Ici, t=0 donne la solution de « courbure minimale ». La courbure minimale peut provoquer des oscillations indésirables ainsi que de faux maxima ou minima locaux (voir Smith et Wessel, 1990), et vous pouvez souhaiter utiliser t>0 pour supprimer ces effets. L’expérience suggère que t∼0.25 donne généralement de bons résultats pour les données de champ potentiel et que t devrait être plus grand (t∼0.35) pour les données de topographie abrupte.
t=1 donne une surface harmonique (aucun maximum ou minimum n’est possible, sauf aux points de contrôle). Il est recommandé que l’utilisateur prétraite les données avec pygmt.blockmean, pygmt.blockmedian ou pygmt.blockmode pour éviter l’aliasing spatial et éliminer les données redondantes. Vous pouvez imposer des limites inférieures et/ou supérieures à la solution. Celles-ci peuvent être exprimées sous la forme d’une valeur fixe, d’une grille avec des valeurs, ou simplement être les valeurs minimales/maximales des données d’entrée. Des conditions aux limites naturelles sont appliquées aux bords, sauf pour les données géographiques avec une plage de 360 degrés où des conditions aux limites périodiques sont appliquées dans la direction de la longitude.
Prend en entrée une matrice, des triplets (x, y, z) ou un nom de fichier.
Vous devez fournir soit les données complètes, soit les valeurs x, y et z.
Paramètres :¶
data (str ou numpy.ndarray ou pandas.DataFrame ou xarray.Dataset ou geopandas.GeoDataFrame) : Fournissez les valeurs (x, y, z) ou (longitude, latitude, élévation) en spécifiant le nom d’un fichier de tableau ASCII, un tableau numpy 2D, un DataFrame pandas, un Dataset xarray composé de variables de données xarray.DataArray 1D, ou un GeoDataFrame geopandas contenant les données tabulaires.
x/y/z (tableaux 1D) : Tableaux des coordonnées x et y et des valeurs z des points de données.
spacing (str) - x_inc[+e|n][/y_inc[+e|n]]. x_inc [et éventuellement y_inc] est l’espacement de la grille.
Coordonnées géographiques (degrés) : Optionnellement, ajoutez une unité d’incrémentation. Choisissez parmi m pour indiquer les minutes d’arc ou s pour indiquer les secondes d’arc. Si l’une des unités e, f, k, M, n ou u est ajoutée, l’incrémentation est supposée être donnée en mètre, pied, kilomètre, mile, mille marin ou pied de l’enquête américaine, respectivement, et sera convertie en degrés de longitude équivalents à la latitude moyenne de la région (la conversion dépend de PROJ_ELLIPSOID). Si y_inc est donné mais défini sur 0, il sera réinitialisé égal à x_inc ; sinon, il sera converti en degrés de latitude.
Toutes les coordonnées : Si +e est ajouté, alors x_max (est) ou y_max (nord) correspondant peut être légèrement ajusté pour correspondre exactement à l’incrément donné [par défaut, l’incrément peut être ajusté légèrement pour s’adapter au domaine donné]. Enfin, au lieu de donner un incrément, vous pouvez spécifier le nombre de nœuds souhaité en ajoutant +n à l’argument entier fourni ; l’incrément est alors recalculé à partir du nombre de nœuds, de l’enregistrement et du domaine. La valeur d’incrément résultante dépend de la grille enregistrée sur les lignes de grille ou enregistrée sur les pixels que vous avez sélectionnée ; voir les formats de fichier GMT pour plus de détails.
Note : Si la région=grdfile est utilisée, l’espacement de la grille et l’enregistrement ont déjà été initialisés ; utilisez spacing et registration pour remplacer ces valeurs.
region (str ou liste) - xmin/xmax/ymin/ymax[+r][+uunit]. Spécifie la région d’intérêt.
outgrid (str ou None) - Le nom du fichier de sortie netCDF avec l’extension .nc pour stocker la grille.
convergence (float) - Optionnel. Limite de convergence. L’itération est considérée comme convergée lorsque la variation absolue maximale de n’importe quelle valeur de la grille est inférieure à la convergence. (Unités identiques à celles des valeurs z des données). En ajoutant un symbole de pourcentage (%), on peut spécifier une limite en pourcentage de l’écart quadratique moyen par rapport à un plan ajusté (méthode des moindres carrés) [Par défaut, l’écart est mis à l’échelle en fonction de l’écart quadratique moyen des données par rapport à un plan ajusté]. Il s’agit de la limite de convergence finale pour l’espacement de grille souhaité ; pour les grilles intermédiaires (plus grossières), la limite de convergence effective est divisée par le multiplicateur d’espacement de grille.
maxradius (int or str) - Optionnel. Après la résolution de la surface, applique un masque de manière à ce que les nœuds situés à une distance supérieure à maxradius par rapport à une contrainte de données soient définis comme NaN [Par défaut, aucun masquage n’est effectué]. Ajoutez une unité de distance si nécessaire. Vous pouvez également sélectionner les nœuds à masquer en utilisant la forme n_cellsc. Ici, n_cells représente le nombre de cellules autour du nœud qui est contrôlé par un point de données. Par exemple, « 0c » signifie que seule la cellule dans laquelle se trouve le point est remplie, « 1c » conserve une cellule supplémentaire (c’est-à-dire crée un voisinage carré de 3x3), et ainsi de suite.
lower (float or str) - Optionnel. Imposer des limites à la solution de sortie. Le paramètre lower définit la limite inférieure. lower peut être le nom d’un fichier de grille avec des valeurs de limite inférieure, une valeur fixe, d pour définir la valeur minimale des données d’entrée ou u pour ne pas appliquer de contraintes [Par défaut]. Les fichiers de grille utilisés pour définir les limites peuvent contenir des NaN. En présence de NaN, la limite d’un nœud masqué avec NaN est non contrainte.
upper (float or str) - Optionnel. Imposer des limites à la solution de sortie. Le paramètre upper définit la limite supérieure et peut être le nom d’un fichier de grille avec des valeurs de limite supérieure, une valeur fixe, d pour définir la valeur maximale des données d’entrée ou u pour ne pas appliquer de contraintes [Par défaut]. Les fichiers de grille utilisés pour définir les limites peuvent contenir des NaN. En présence de NaN, la limite d’un nœud masqué avec NaN est non contrainte.
tension (float or str) - [b|i]. Optionnel. Facteur[s] de tension. Ces valeurs doivent être comprises entre 0 et 1. La tension peut être utilisée dans la solution intérieure (équation ci-dessus, où elle supprime les oscillations parasites) et dans les conditions aux limites (où elle tend à aplanir la solution aux abords des bords). Ajoutez itension pour définir la tension intérieure et btension pour définir la tension aux limites. Si vous ne précisez pas i ou b, les deux seront définis sur la même valeur. [Par défaut, les deux sont définis sur 0, ce qui donne une solution de courbure minimale.]
verbose (bool or str) - Sélectionnez le niveau de verbosité [Par défaut, w], qui module les messages écrits dans stderr. Choisissez parmi 7 niveaux de verbosité :
q - Silencieux, aucun message d’erreur fatale n’est produit
e - Messages d’erreur uniquement
w - Avertissements [Par défaut]
t - Durées (rapporte les temps d’exécution pour les algorithmes gourmands en temps)
i - Messages informatifs (identique à verbose=True)
c - Avertissements de compatibilité
d - Messages de débogage
aspatial (bool or str) - [col=]nom[,…]. Contrôle la manière dont les données aspatiales sont traitées lors de l’entrée et de la sortie. La documentation complète se trouve à l’adresse https://docs.generic-mapping-tools.org/latest/gmt.html#aspatial-full.
binary (bool or str) - i|o[ncols][type][w][+l|b]. Sélectionnez une entrée binaire native (en utilisant binary= »i ») ou une sortie binaire (en utilisant binary= »o »), où ncols est le nombre de colonnes de données du type spécifié, qui peut être l’un des suivants :
c - int8_t (1 octet signé)
u - uint8_t (1 octet non signé)
h - int16_t (2 octets signés)
H - uint16_t (2 octets non signés)
i - int32_t (4 octets signés)
I - uint32_t (4 octets non signés)
l - int64_t (8 octets signés)
L - uint64_t (8 octets non signés)
f - flottant sur 4 octets (simple précision)
d - flottant sur 8 octets (double précision)
x - utiliser pour sauter ncols n’importe où dans l’enregistrement
Pour les enregistrements avec des types mixtes, ajoutez des combinaisons supplémentaires de ncols type séparées par des virgules (sans espace). Les modificateurs suivants sont pris en charge :
w après un élément pour forcer l’inversion des octets.
+l|b pour indiquer que le fichier de données complet doit être lu en tant que petit ou grand boutiste, respectivement.
La documentation complète se trouve à l’adresse https://docs.generic-mapping-tools.org/latest/gmt.html#bi-full.
nodata (str) - i|onodata. Remplacez les valeurs spécifiques par NaN (pour les données tabulaires). Par exemple, nodata= »-9999 » remplacera toutes les valeurs égales à -9999 par NaN lors de l’entrée et toutes les valeurs NaN par -9999 lors de la sortie. Préfixez i à la valeur nodata pour les colonnes d’entrée uniquement. Préfixez o à la valeur nodata pour les colonnes de sortie uniquement.
find (str) - [~]“pattern” | [~]/regexp/[i]. Ne transmettre que les enregistrements correspondant au motif ou à l’expression régulière donnée [Par défaut, tous les enregistrements sont traités]. Préfixez ~ au motif ou à l’expression régulière pour ne transmettre que les expressions de données qui ne correspondent pas au motif. Ajoutez i pour une correspondance insensible à la casse. Cela ne s’applique pas aux en-têtes ou aux en-têtes de segment.
coltypes (str) - [i|o]colinfo. Spécifiez les types de données des colonnes d’entrée et/ou de sortie (données temporelles ou géographiques). La documentation complète se trouve à l’adresse https://docs.generic-mapping-tools.org/latest/gmt.html#f-full.
header (str) -
[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]. Spécifiez que le(s) fichier(s) d’entrée et/ou de sortie ont n enregistrements d’en-tête [Par défaut, 0]. Préfixez i si seule l’entrée principale doit avoir des enregistrements d’en-tête. Préfixez o pour contrôler l’écriture des enregistrements d’en-tête, avec les modificateurs suivants pris en charge :
+d pour supprimer les enregistrements d’en-tête existants.
+c pour ajouter un commentaire d’en-tête avec les noms des colonnes à la sortie [Par défaut, pas de noms de colonnes].
+m pour ajouter un en-tête de segment segheader à la sortie après le bloc d’en-tête [Par défaut, pas d’en-tête de segment].
+r pour ajouter un commentaire remarque à la sortie [Par défaut, pas de commentaire]. La chaîne de remarque peut contenir n pour indiquer des sauts de ligne.
+t pour ajouter un commentaire de titre à la sortie [Par défaut, pas de titre]. La chaîne de titre peut contenir n pour indiquer des sauts de ligne.
Les lignes vides et les lignes commençant par # sont toujours ignorées.
incols (str ou tableau 1D) -
Spécifiez les colonnes de données pour l’entrée principale dans un ordre arbitraire. Les colonnes peuvent être répétées et les colonnes non répertoriées seront ignorées [Par défaut, lit toutes les colonnes dans l’ordre, en commençant par la première (c’est-à-dire, colonne 0)].
Pour un tableau 1D : spécifiez les colonnes individuelles dans l’ordre d’entrée (par exemple, incols=[1,0] pour la 2e colonne suivie de la 1ère colonne).
Pour une chaîne : spécifiez les colonnes individuelles ou les plages de colonnes selon le format start[:inc]:stop, où inc est par défaut à 1 s’il n’est pas spécifié, avec les colonnes et/ou les plages de colonnes séparées par des virgules (par exemple, incols= »0:2,4+l » pour lire les trois premières colonnes suivies de la colonne 5e transformée en logarithme). Pour lire à partir d’une colonne donnée jusqu’à la fin de l’enregistrement, laissez stop lorsque vous spécifiez la plage de colonnes. Pour lire du texte de fin, ajoutez la colonne t. Ajoutez le mot number à t pour n’ingérer qu’un seul mot du texte de fin. Au lieu de spécifier des colonnes, utilisez incols= »n » pour simplement lire une entrée numérique et ignorer le texte de fin. En option, ajoutez l’un des modificateurs suivants à n’importe quelle colonne ou plage de colonnes pour transformer les colonnes d’entrée :
+l pour prendre le logarithme décimal des valeurs d’entrée.
+d pour diviser les valeurs d’entrée par le diviseur [Par défaut, 1].
+s pour multiplier les valeurs d’entrée par l’échelle [Par défaut, 1].
+o pour ajouter le décalage donné aux valeurs d’entrée [Par défaut, 0].
registration (str) - g|p. Force l’enregistrement des nœuds sur les lignes de quadrillage (g) ou les pixels (p) [Par défaut, g (lignes de quadrillage)].
wrap (str) -
y|a|w|d|h|m|s|cperiod[/phase][+ccol]. Convertir la coordonnée x d’entrée en une coordonnée cyclique, ou une colonne différente si elle est sélectionnée via +ccol. Les transformations de coordonnées cycliques suivantes sont prises en charge :
y - cycle annuel (normalisé)
a - cycle annuel (mensuel)
w - cycle hebdomadaire (jour)
d - cycle quotidien (heure)
h - cycle horaire (minute)
m - cycle minute (seconde)
s - cycle seconde (seconde)
c - cycle personnalisé (normalisé)