select¶
Ici vous aurez des explications sur la commande et ses différents paramètres.
pygmt.select(data=None, outfile=None, \*, area_thresh=None,
resolution=None, gridmask=None, reverse=None, projection=None,
mask=None, region=None, verbose=None, z_subregion=None, binary=None,
nodata=None, find=None, coltypes=None, gap=None, header=None,
incols=None, outcols=None, skiprows=None, wrap=None, \**kwargs)
Utilité :¶
Sélectionner des sous-ensembles de tableaux de données en fonction de plusieurs critères spatiaux.
Il s’agit d’un filtre qui lit les positions (x, y) ou (longitude, latitude) à partir des deux premières colonnes des données et utilise une combinaison de 1 à 7 critères pour accepter ou rejeter les enregistrements. Les enregistrements peuvent être sélectionnés en fonction des critères suivants :
à l’intérieur d’une région rectangulaire (région [et projection])
à une distance de dist km de n’importe quel point dans un fichier de points
à une distance de dist km de n’importe quelle ligne dans un fichier de lignes
à l’intérieur de l’un des polygones dans un fichier de polygones
à l’intérieur de caractéristiques géographiques (basées sur les contours des côtes)
ayant des valeurs z dans une plage donnée, ou
à l’intérieur des bacs d’un masque de grille dont les nœuds sont non nuls
Le sens des tests peut être inversé pour chacun de ces 7 critères en utilisant le paramètre reverse.
Paramètres :¶
data (str ou numpy.ndarray ou pandas.DataFrame ou xarray.Dataset ou geopandas.GeoDataFrame) : Indiquez soit le nom d’un fichier contenant une table de données ASCII, soit un tableau numpy 2D, soit un pandas.DataFrame, soit un xarray.Dataset composé de variables de données xarray.DataArray 1D, soit un geopandas.GeoDataFrame contenant les données tabulaires.
outfile (str) : Le nom du fichier de sortie ASCII.
area_thresh (int ou float ou str) : min_area[/min_level/max_level][+a[g|i][s|S]][+l|r][+ppercent]. Les entités dont la surface est inférieure à min_area en km2 ou dont le niveau hiérarchique est inférieur à min_level ou supérieur à max_level ne seront pas représentées [Par défaut, « 0/0/4 » (toutes les entités)].
resolution (str) : resolution[+f]. Ignoré sauf si mask est défini. Sélectionne la résolution de l’ensemble de données des côtes à utiliser ((f)ull, (h)igh, (i)ntermediate, (l)ow ou (c)rude). La résolution diminue d’environ 80 % entre les ensembles de données. [Par défaut, l]. Ajoutez (+f) pour sélectionner automatiquement une résolution inférieure si celle demandée n’est pas disponible [Par défaut, abandon si non trouvé]. Notez que, en raison des différences de détails entre les côtes, il n’est pas garanti qu’un point reste à l’intérieur ou à l’extérieur lorsqu’une résolution différente est sélectionnée.
gridmask (str) : Passe tous les emplacements qui se trouvent à l’intérieur de la zone de données valide de la grille gridmask. Les nœuds qui se trouvent à l’extérieur sont soit NaN, soit zéro.
reverse (str) : [cflrsz]. Inverse le sens du test pour chacun des critères spécifiés :
c : sélectionne les enregistrements NON situés à l’intérieur de l’un des cercles d’influence des points.
f : sélectionne les enregistrements NON situés à l’intérieur de l’un des polygones.
g : passe les enregistrements situés à l’intérieur des cellules avec z égal à zéro du masque de grille dans gridmask.
l : sélectionne les enregistrements NON situés à une distance spécifiée de toute ligne.
r : sélectionne les enregistrements NON situés à l’intérieur de la région rectangulaire spécifiée.
s : sélectionne les enregistrements NON considérés comme étant situés à l’intérieur, comme spécifié par mask (et area_thresh, resolution).
z : sélectionne les enregistrements NON situés dans la plage spécifiée par z_subregion
projection (str) - projcode[projparams/]width. Sélectionnez la projection de carte.
masque (str ou liste) -
Passez tous les enregistrements dont l’emplacement se trouve à l’intérieur des entités géographiques spécifiées. Indiquez si les enregistrements doivent être ignorés (s) ou conservés (k) en utilisant l’un des 2 formats :
humide/sec.
océan/terre/lac/île/mare.
[Par défaut, c’est s/k/s/k/s (c’est-à-dire s/k), ce qui passe tous les points sur terre].
région (str ou liste) - xmin/xmax/ymin/ymax[+r][+uunit]. Spécifiez la région d’intérêt.
**verbeux **(booléen ou str) -
Sélectionnez le niveau de verbosité [Par défaut, c’est w], qui module les messages écrits dans stderr. Choisissez parmi 7 niveaux de verbosité :
q - Silencieux, même les messages d’erreur fatale ne sont pas produits.
e - Messages d’erreur uniquement.
w - Avertissements [Par défaut].
t - Durées (rapports des temps d’exécution pour les algorithmes prenant beaucoup de temps).
i - Messages informatifs (identique à verbose=True).
c - Avertissements de compatibilité.
d - Messages de débogage.
z_subregion (str ou liste) - min[/max][+a][+ccol][+i]. Passez tous les enregistrements dont la 3e colonne (z ; col = 2) se situe dans la plage donnée ou est NaN (utilisez skiprows pour sauter les enregistrements NaN). Si max est omis, nous vérifions si z est égal à min à la place. Cela signifie l’égalité dans les 5 ULP (unité de la dernière précision ; http://en.wikipedia.org/wiki/Unit_in_the_last_place). Le fichier d’entrée doit avoir au moins trois colonnes. Pour indiquer aucune limite sur min ou max, spécifiez un tiret (-). Si votre 3e colonne est le temps absolu, n’oubliez pas de fournir coltypes= »2T ». Pour spécifier une autre colonne, ajoutez +ccol, et pour spécifier plusieurs tests, passez une liste d’arguments comme vous avez de colonnes à tester. Remarque : Lorsque plusieurs arguments z_subregion sont donnés, reverse= »z » ne peut pas être utilisé. Dans le cas de tests multiples, vous pouvez également utiliser ces modificateurs : +a passe tout enregistrement qui passe au moins un de vos tests z [Par défaut, tous les tests doivent passer], et +i inverse les tests pour passer les enregistrements dont la valeur z N’EST PAS dans la plage donnée. Enfin, si +c n’est pas utilisé, il est automatiquement incrémenté pour chaque nouvel argument z_subregion, en commençant par 2.
binaire (booléen ou str) -
i|o[ncols][type][w][+l|b]. Sélectionnez l’entrée binaire native (en utilisant binaire= »i ») ou la sortie (en utilisant binaire= »o »), où ncols est le nombre de colonnes de données de type, qui doit être l’un des suivants :
c - int8_t (1 octet signé)
u - uint8_t (1 octet non signé)
h - int16_t (entier signé sur 2 octets)
H - uint16_t (entier non signé sur 2 octets)
i - int32_t (entier signé sur 4 octets)
I - uint32_t (entier non signé sur 4 octets)
l - int64_t (entier signé sur 8 octets)
L - uint64_t (entier non signé sur 8 octets)
f - flottant sur 4 octets (simple précision)
d - flottant sur 8 octets (double précision)
x - utilisé pour sauter ncols n’importe où dans l’enregistrement
Pour les enregistrements avec des types mixtes, ajoutez des combinaisons supplémentaires de ncols et de type séparées par des virgules (sans espaces). Les modificateurs suivants sont pris en charge :
w après n’importe quel élément pour forcer l’échange d’octets.
+l|b pour indiquer que l’intégralité du fichier de données doit être lu en tant que petit ou grand endian, 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]. Passez uniquement les enregistrements correspondant au motif ou aux expressions régulières données [Par défaut, traite tous les enregistrements]. Préfixez ~ au motif ou à l’expression régulière pour ne passer 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.
gap (str ou liste) -
x|y|z|d|X|Y|Dgap[u][+a][+ccol][+n|p]. Examinez l’espacement entre les points de données consécutifs afin d’imposer des ruptures dans la ligne. Pour spécifier plusieurs critères, fournissez une liste où chaque élément contient une chaîne décrivant un ensemble de critères.
x|X - définit une rupture lorsqu’il y a un changement suffisamment important dans les coordonnées x (majuscule pour utiliser les coordonnées projetées).
y|Y - définit une rupture lorsqu’il y a un changement suffisamment important dans les coordonnées y (majuscule pour utiliser les coordonnées projetées).
d|D - définit une rupture lorsqu’il y a une distance suffisamment importante entre les coordonnées (majuscule pour utiliser les coordonnées projetées).
z - définit une rupture lorsqu’il y a un changement suffisamment important dans les données z. Utilisez +ccol pour changer la colonne de données z [Par défaut, col vaut 2 (c’est-à-dire la 3e colonne)].
Une unité u peut être ajoutée à la rupture spécifiée :
Pour les données géographiques (x|y|d), l’unité peut être en arc- d(degrés), m(inutes) et s(econdes), ou en (m)ètres, f(eet), k(ilomètres), M(iles) ou n(autical miles) [Par défaut, l’unité est en (m)ètres].
Pour les données projetées (X|Y|D), l’unité peut être en p(ouces), c(entimètres) ou p(oints).
Ajoutez le modificateur +a pour spécifier que tous les critères doivent être remplis [par défaut, une rupture est imposée si au moins un critère est rempli].
Vous pouvez ajouter l’un des modificateurs suivants :
+n - spécifie que la valeur précédente moins la valeur de la colonne actuelle doit dépasser la rupture pour qu’une rupture soit imposée.
+p - spécifie que la valeur actuelle moins la valeur précédente doit dépasser la rupture pour qu’une rupture soit imposée.
header (str) -
[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]. Spécifie que le(s) fichier(s) d’entrée et/ou de sortie a/ont n enregistrements d’en-tête [Par défaut, il n’y en a pas]. Préfixez i si seul le fichier d’entrée principal 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 de colonnes à la sortie [Par défaut, il n’y a 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, il n’y a pas d’en-tête de segment].
+r pour ajouter un commentaire remarque à la sortie [Par défaut, il n’y a 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, il n’y a 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, toutes les colonnes sont lues dans l’ordre, en commençant par la première (c’est-à-dire la colonne 0)].
Pour un tableau 1D : spécifiez les colonnes individuelles dans l’ordre d’entrée (par exemple, incols=[1,0] pour la deuxième colonne suivie de la première colonne).
Pour une chaîne de caractères : spécifiez les colonnes individuelles ou les plages de colonnes dans le format début[:inc]:fin, où inc est par défaut à 1 s’il n’est pas spécifié, avec des colonnes et/ou des 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 5 transformée en logarithme). Pour lire à partir d’une colonne donnée jusqu’à la fin de l’enregistrement, laissez la fin de la plage de colonnes non spécifiée. Pour lire du texte supplémentaire, ajoutez la colonne t. Ajoutez le numéro de mot à t pour ne lire qu’un seul mot à partir du texte supplémentaire. Au lieu de spécifier des colonnes, utilisez incols= »n » pour simplement lire une entrée numérique et ignorer le texte supplémentaire. Facultativement, ajoutez l’un des modificateurs suivants à chaque colonne ou plage de colonnes pour transformer les colonnes d’entrée :
+l pour prendre le logarithme base 10 des valeurs d’entrée.
+d pour diviser les valeurs d’entrée par le facteur diviseur [Par défaut, 1].
+s pour multiplier les valeurs d’entrée par le facteur échelle [Par défaut, 1].
+o pour ajouter le décalage donné aux valeurs d’entrée [Par défaut, 0].
outcols (str ou tableau 1D) -
cols[,…][,t[mot]]. Spécifiez les colonnes de données pour la sortie 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, toutes les colonnes sont écrites dans l’ordre, en commençant par la première (c’est-à-dire la colonne 0)].
Pour un tableau 1D : spécifiez les colonnes individuelles dans l’ordre de sortie (par exemple, outcols=[1,0] pour la deuxième colonne suivie de la première colonne).
Pour une chaîne de caractères : spécifiez les colonnes individuelles ou les plages de colonnes dans le format début[:inc]:fin, où inc est par défaut à 1 s’il n’est pas spécifié, avec des colonnes et/ou des plages de colonnes séparées par des virgules (par exemple, outcols= »0:2,4 » pour écrire les trois premières colonnes suivies de la colonne 5). Pour écrire à partir d’une colonne donnée jusqu’à la fin de l’enregistrement, laissez la fin de la plage de colonnes non spécifiée. Pour écrire du texte supplémentaire, ajoutez la colonne t. Ajoutez le numéro de mot à t pour écrire uniquement un mot spécifique du texte supplémentaire. Notez que si vous utilisez également incols, les colonnes spécifiées dans outcols correspondent à l’ordre après la sélection incols.
skiprows (booléen ou chaîne de caractères) -
[cols][+a][+r]. Supprime la sortie des enregistrements dont la valeur z est égale à NaN [Par défaut, tous les enregistrements sont inclus dans la sortie]. Facultativement, fournissez une liste séparée par des virgules de toutes les colonnes ou plages de colonnes à prendre en compte pour ce test NaN [Par défaut, seule la troisième colonne de données est prise en compte (c’est-à-dire cols = 2)]. Les plages de colonnes doivent être spécifiées dans le format début[:inc]:fin, où inc est par défaut à 1 s’il n’est pas spécifié. Les modificateurs suivants sont pris en charge :
+r pour inverser la suppression, c’est-à-dire ne sortir que les enregistrements dont la valeur z est égale à NaN.
+a pour supprimer la sortie de l’enregistrement si une ou plusieurs des colonnes sont égales à NaN [Par défaut, saute l’enregistrement uniquement si les valeurs de toutes les colonnes spécifiées sont égales à NaN].
wrap (chaîne de caractères) -
y|a|w|d|h|m|s|cperiod[/phase][+ccol]. Convertit la coordonnée x d’entrée en une coordonnée cyclique, ou une autre colonne si sélectionnée via +ccol. Les transformations cycliques de coordonnées 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é)