project¶
Ici vous aurez des explications sur la commande et ses différents paramètres.
pygmt.project(data=None, x=None, y=None, z=None, outfile=None, \*,
azimuth=None, center=None, endpoint=None, convention=None,
generate=None, length=None, flat_earth=None, unit=None, sort=None,
pole=None, verbose=None, width=None, ellipse=None, coltypes=None,
\**kwargs)
Utilité :¶
Projeter les données sur des lignes ou des grands cercles, ou générer des parcours.
Le projet lit des données arbitraires (x,y[,z]) et renvoie toute combinaison de (x,y,z,p,r,s) , où (p,q) sont les coordonnées dans la projection, (r,s) est la position (x,y) dans le système de coordonnées du point sur le profil( q=0 chemin) le plus proche de (x,y) , et z comprend toutes les colonnes restantes de l’entrée (au-delà des colonnes requises x,y.
Alternativement, le projet peut être utilisé pour générer (r,s,p) des triplets à des incréments égaux le long d’un profil en utilisant le paramètre « generate ». Dans ce cas, la valeur des données est ignorée (vous pouvez utiliser, par exemple, data=None).
Les projections sont définies de l’une des trois manières suivantes (mais une seule à la fois) :
Par un centre et un azimut en degrés dans le sens des aiguilles d’une montre à partir du nord.
Par un centre et un point final du chemin de projection.
Par un centre et une position de pôle.
Pour projeter des données sphériquement le long d’un trajet de grand cercle, un système de coordonnées oblique est créé avec son équateur le long de ce chemin, et le méridien zéro passant par le centre. Ensuite, la longitude oblique (p) correspond à la distance depuis le centre le long du grand cercle, et la latitude oblique (q) correspond à la distance perpendiculaire au trajet du grand cercle. Lorsque l’on se déplace dans la direction croissante (p) (vers B ou dans la direction de l’azimut), la direction positive (q) est à votre gauche. Si un pôle a été spécifié, alors la direction positive (q) est vers le pôle.
Pour spécifier une projection oblique, utilisez le paramètre « pole » pour définir le pôle. Ensuite, l’équateur de la projection est déjà déterminé et le paramètre « center » est utilisé pour localiser le p=0 méridien. Le centre cx/cy sera pris comme un point par lequel le méridien passe. Si vous ne souhaitez pas choisir un point particulier, utilisez le pôle Sud (cx = 0, cy = -90).
Les données peuvent être sélectionnées sélectivement en utilisant les paramètres « length » et « width ». Si « width » est utilisé, la largeur de la projection est définie pour utiliser uniquement les données avec. Si « length » est défini, alors la longueur est définie pour utiliser uniquement les données avec wmin<q<wmax. Si le paramètre « endpoint » a été utilisé pour définir la projection, alors « length = “w” » peut être utilisé pour limiter la longueur de la projection exactement à l’étendue de O à B.
Des transformations de coordonnées de la Terre plate (cartésiennes) peuvent également être effectuées. Définissez « flat_earth=True » et rappelez-vous que l’azimut est dans le sens des aiguilles d’une montre à partir du Nord (l’axe y), et NON l’angle theta cartésien habituel, qui est dans le sens contraire des aiguilles d’une montre à partir de l’axe x. azimut = 90 - theta.
Aucune hypothèse n’est faite concernant les unités pour x,y,r,s,p,q,dist,lmin,lmax,wmin,wmax . Si l’unité est sélectionnée, les unités cartographiques sont supposées et x,y,r,s doivent être en degrés et p,q,dist,lmin,lmax,wmin,wmax seront en kilomètres.
où n est le nombre de points de données qui satisfont les critères de sélection et ri est la distance entre le nœud et le i ème point de données. Si aucun poids de données n’est fourni, les poids sont égaux à wi=1.
Les calculs de distances spécifiques sur les grands cercles et les géodésiques, ainsi que les azimuts ou les azimuts inverses, sont mieux réalisés en utilisant https://docs.generic-mapping-tools.org/latest/mapproject, car ce projet est strictement sphérique.
Paramètres :¶
data (str ou numpy.ndarray ou pandas.DataFrame ou xarray.Dataset ou geopandas.GeoDataFrame) - Fournissez des valeurs (x, y, z) ou (longitude, latitude, élévation) en fournissant le nom d’un fichier contenant une table de données ASCII, un tableau numpy.ndarray 2D, un pandas.DataFrame, un xarray.Dataset composé de variables de données xarray.DataArray 1D, ou un geopandas.GeoDataFrame contenant les données tabulaires.
center (str ou liste) - cx/cy. Définit l’origine de la projection, dans la Définition 1 ou 2. Si la Définition 3 est utilisée, alors cx/cy sont les coordonnées d’un point par lequel le méridien zéro oblique (p=0) doit passer. cx/cy ne sont pas obligés d’être à 90 degrés du pôle.
azimuth (float ou str) - Définit l’azimut de la projection (Définition 1).
endpoint (str ou liste) - bx/by. Définit le point final du chemin de projection (Définition 2).
convention (str) - Spécifie la sortie souhaitée en utilisant n’importe quelle combinaison de xyzpqrs, dans n’importe quel ordre [La valeur par défaut est xypqrsz]. Ne laissez pas d’espace entre les lettres. Utilisez des minuscules. La sortie sera constituée de colonnes de valeurs correspondant à votre convention. Le drapeau z est spécial et fait référence à toutes les colonnes numériques au-delà des x et y principaux dans votre enregistrement d’entrée. Le drapeau z inclut également tout texte supplémentaire (qui est placé à la fin de l’enregistrement indépendamment de l’ordre de z dans la convention). Remarque : Si generate est True, alors l’ordre de sortie est fixé à rsp et la convention n’est pas autorisée.
generate (str) - dist [/colat][+c|h]. Crée (r,s,p) des données de sortie tous les dist unités de p (voir le paramètre unit). Sinon, ajoutez /colat pour un petit cercle à la place [La valeur par défaut est une colatitude de 90, c’est-à-dire un grand cercle]. Si vous définissez un pôle avec pole et que vous souhaitez que le petit cercle passe par cx/cy, ajoutez +c pour calculer la colatitude requise. Utilisez center et endpoint pour générer un cercle qui passe par le centre et le point final. Remarque : Dans ce cas, le centre et le point final ne peuvent pas être plus éloignés que 2|colat| . Enfin, si vous ajoutez +h, nous rapporterons la position du pôle en tant que partie de l’en-tête du segment [La valeur par défaut est pas d’en-tête]. Remarque : Aucune entrée n’est lue et la valeur de data, x, y et z est ignorée si generate est utilisé.
length (str ou liste) - [w|l_min/l_max]. Projeter uniquement les données dont la coordonnée p est comprise entre lmin<p<lmax. Si endpoint a été défini, vous pouvez également utiliser w pour rester dans la distance entre le centre et le point final.
flat_earth (bool) - Effectue une transformation des coordonnées cartésiennes dans le plan. [La valeur par défaut est False ; le plan est créé avec de la trigonométrie sphérique.]
unit (bool) - Définit les unités pour x,y,r,s en degrés et p,q,dist,lmin,lmax,wmin,wmax en km. [La valeur par défaut est False ; tous les arguments utilisent les mêmes unités]
sort (bool) - Trie la sortie par ordre croissant de p. Utile lors de la projection de données aléatoires dans un profil séquentiel.
**pole**(str ou liste) - px/py. Définit la position du pôle de rotation de la projection. (Définition 3).
verbose (bool ou str) - Sélectionne le niveau de verbosité [La valeur par défaut est w], qui module les messages écrits sur stderr. Choisissez parmi 7 niveaux de verbosité :
q - Silencieux, même les messages d’erreur fataux ne sont pas produits.
e - Messages d’erreur uniquement.
w - Avertissements [La valeur par défaut].
t - Durées (rapporte les temps d’exécution des algorithmes gourmands en temps).
i - Messages informatifs (identique à verbose=True).
c - Avertissements de compatibilité.
d - Messages de débogage.
width (str ou liste) - w_min/w_max. Projeter uniquement les données dont la coordonnée q est comprise entre wmin<q<wmax.
ellipse (str) - majeur/mineur/azimut [+e|n]. Utilisé en conjonction avec center (définit son centre) et generate (définit l’incrément de distance) pour créer les coordonnées d’une ellipse avec les axes majeur et mineur donnés en km (sauf si flat_earth est donné pour une ellipse cartésienne) et l’azimut de l’axe majeur en degrés. Ajoutez +e pour ajuster l’incrément défini via generate de manière à ce que l’ellipse ait des incréments de distance égaux [La valeur par défaut utilise l’incrément donné et ferme l’ellipse]. Au lieu de cela, ajoutez +n pour définir un nombre spécifique de données uniques et équidistantes via generate. Pour les ellipses dégénérées, vous pouvez simplement fournir un seul diamètre. Un diamètre géographique peut être spécifié dans n’importe quelle unité souhaitée autre que km en ajoutant l’unité (par exemple, 3-D pour les degrés) [La valeur par défaut est km] ; l’incrément est supposé être dans la même unité. Remarque : Pour l’ellipse cartésienne (qui nécessite flat_earth), la direction est anti-horaire à partir de l’horizontale au lieu d’un azimut.
outfile (str) - Le nom du fichier pour le fichier ASCII de sortie.
coltypes (str) - [i|o]colinfo. Spécifie 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.