.. grdproject:


pygmt.grdproject
================


.. code::

	pygmt.grdproject(grid, \*, center=None, spacing=None, dpi=None, 
	scaling=None, outgrid=None, projection=None, inverse=None, 
	unit=None, region=None, verbose=None, interpolation=None, 
	registration=None, \**kwargs)
	
Modifiez la projection des données maillées entre géographique et rectangulaire.

Cette méthode projettera un ensemble de données géographiques maillées sur une grille rectangulaire. Si `inverse` est `True`, il projettera un système de coordonnées rectangulaires vers un système géographique. Pour obtenir la valeur à chaque nouveau nœud, son emplacement est projeté inversement sur la grille d'entrée, après quoi une valeur est interpolée entre les valeurs de grille d'entrée environnantes. Par défaut, l'interpolation bi-cubique est utilisée. Le crénelage est évité en projetant également vers l'avant les nœuds de grille d'entrée. Si deux nœuds ou plus sont projetés sur le même nouveau nœud, leur moyenne dominera dans le calcul de la valeur du nouveau nœud. L'interpolation et le crénelage sont contrôlés avec le paramètre `interpolation`. Le nouvel espacement des nœuds peut être déterminé de plusieurs manières en spécifiant l'espacement de la grille, le nombre de nœuds ou la résolution. Les nœuds non contraints par les données d'entrée sont définis sur NaN. Le paramètre `region` peut être utilisé pour sélectionner une région de carte plus grande ou plus petite que celle impliquée par l'étendue du fichier de grille.

Paramètre
---------

* **grid** ( str ou xarray.DataArray ) – Le nom de fichier de la grille d'entrée ou de la grille chargée en tant que xarray.DataArray. C'est le seul paramètre obligatoire.

* **outgrid** ( str ou None ) – Le nom du fichier netCDF de sortie avec l'extension .nc dans lequel stocker la grille.

* **inverse** ( bool ) – Lorsqu'il est défini sur `True` transforme la grille de rectangulaire en géographique [la valeur par défaut est False].

* **projection** ( str ) – Sélectionnez la projection cartographique .

* **région** ( str ou liste ) – xmin/xmax/ymin/ymax [ **+r** ][ **+u** unité ]. Spécifiez la région d'intérêt. L'ajout `region` sélectionnera une sous-section de la grille. Si cette sous-section dépasse les limites de la grille, seule la région commune sera sortie.

* **center** ( str ou liste ) – [ dx , dy ]. Laissez les coordonnées projetées être relatives au centre de projection [la valeur par défaut est relative au coin inférieur gauche]. Facultativement, ajoutez des décalages dans les unités projetées à ajouter (ou à soustraire lorsque `inverse` est défini) aux (de) coordonnées projetées, telles que de faux abscisse et nord pour des zones de projection particulières [0/0].

* **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)** : ajoutez éventuellement une unité d'incrémentation. Choisissez parmi **m** pour indiquer les arc-minutes ou **s** pour indiquer les arc-secondes. Si l'une des unités **e , f , k , M , n** ou **u** est ajoutée à la place, l'incrément est supposé être donné en mètre, pied, km, mile, mile nautique ou US survey foot, respectivement, et sera converti en les 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é, le max correspondant x ( est ) ou y ( nord ) peut être légèrement ajusté pour s'adapter exactement à l'incrément donné [par défaut, l'incrément peut être légèrement ajusté pour s'adapter au domaine donné]. Enfin, au lieu de donner un incrément, vous pouvez spécifier le nombre de nœuds souhaités en ajoutant **+n** à l'argument entier fourni ; l'incrément est alors recalculé à partir du nombre de nœuds, du `registration` et du domaine. La valeur d'incrément résultante varie selon que vous avez sélectionné une grille enregistrée sur la grille ou enregistrée sur les pixels ; voir Formats de fichier GMT pour plus de détails.
	
	**Remarque** : Si `region=grdfile` est utilisé alors l'espacement de la grille et l'enregistrement ont déjà été initialisés ; utilisez `spacing` et `registration` pour remplacer ces valeurs.

* **dpi** ( int ) – Définissez la résolution de la nouvelle grille en points par pouce.

* **scaling** (str) – [c|i|p|e|f|k|M|n|u]. Forcer la mise à l'échelle 1:1, c'est-à-dire que les données de sortie ou d'entrée sont exprimées en mètres projetés réels [ **e** ]. Pour spécifier d'autres unités, ajoutez **f** (pieds), **k** (kilomètres), **M** (milles terrestres), **n** (milles marins), **u** (pieds américains), **i** (pouces), **c** (centimètres) ou **p** (points) .

* **unit** ( str ) – Ajoutez **c** , **i** ou **p** pour indiquer que les centimètres, les pouces ou les points doivent être l'unité de mesure projetée. Ne peut pas être utilisé avec `scaling`.

* **verbose** ( bool ou str ) – Sélectionnez 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** - Des messages d'erreur silencieux, même fatals, ne sont pas générés
	- **e** - Messages d'erreur uniquement
	- **w** - Avertissements [par défaut]
	- **t** - Timings (temps d'exécution des rapports pour les algorithmes chronophages)
	- **i** - Messages d'information (comme `verbose=True`)
	- **c** - Avertissements de compatibilité
	- **d** - Messages de débogage

* **interpolation** ( str ) – [**b|c|l|n**][**+a**][**+bBC**][**+c**][**+t** threshold]. Sélectionnez le mode d'interpolation pour les grilles. Vous pouvez sélectionner le type de spline utilisé :
	- b pour B-spline
	- c pour bicubique [Défaut]
	- l pour bilinéaire
	- n pour le plus proche voisin

* **registration** ( str ) – **g | p** . Forcer l'enregistrement du nœud quadrillage ( **g** ) ou pixel ( **p** ) [la valeur par défaut est **g** (ridline)].


Retour
------

* **ret** ( xarray.DataArray ou None ) – Le type de retour dépend si le `outgrid` paramètre est défini :
	- `xarray.DataArray` si `outgrid` n'est pas défini
	- Aucun si `outgrid` est défini (la sortie de la grille sera stockée dans le fichier défini par `outgrid`)



Exemple
-------

.. code ::

	import pygmt
	# Load a grid of @earth_relief_30m data, with an x-range of 10 to 30,
	# and a y-range of 15 to 25
	grid = pygmt.datasets.load_earth_relief(
	    resolution="30m", region=[10, 30, 15, 25]
	)
	# Create a new grid from the input grid, set the projection to
	# Mercator, and set inverse to "True" to change from "geographic"
	# to "rectangular"
	new_grid = pygmt.grdproject(grid=grid, projection="M10c", inverse=True)