gdal_grid

Créer une grille régulière à partir de données éparses.

Usage

Usage :

gdal_grid [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
        CInt16/CInt32/CFloat32/CFloat64}]
        [-of format] [-co "NAME=VALUE"]
        [-zfield field_name]
        [-a_srs srs_def] [-spat xmin ymin xmax ymax]
        [-clipsrc <xmin ymin xmax ymax>|WKT|datasource|spat_extent]
        [-clipsrcsql sql_statement] [-clipsrclayer layer]
        [-clipsrcwhere expression]
        [-l layername]* [-where expression] [-sql select_statement]
        [-txe xmin xmax] [-tye ymin ymax] [-outsize xsize ysize]
        [-a algorithm[:parameter1=value1]*] [-q]
        <src_datasource> <dst_filename>

Description

Ce programme créé une grille régulière (raster) à partir des données éparpillées à partir d’une source de données OGR. Les données en entrées seront interpolées pour remplir les nœuds de la grille avec des valeurs, vous pouvez choisir diverses méthodes d’interpolations.

À partir de GDAL 1.10, il est possible de définir l’option de configurtion GDAL_NUM_THREADS pour paralléliser les processus. La valeur à spécifier est le nombre de threads de travail ou ALL_CPUS pour utiliser tout le CPU/core de l’ordinateur.

  • -ot type : pour définir les types des données des bandes en sortie.
  • -of format : sélectionne le format de sortie. GeoTIFF par défaut (GTiff). Utiliser le nom du format court.
  • -txe xmin xmax : définie les étendues X géoréférencées du fichier en sortie à créer.
  • -tye ymin ymax : définie les étendues Y géoréférencées du fichier en sortie à créer.
  • -outsize xsize ysize : définie la taille du fichier en sortie en pixel et lignes.
  • -a_srs srs_def : écrase la projection pour le fichier en sortie. Le srs_def peut être de n’importe quel format que ceux habituelle dans GDAL/OGR, WKT complet, PROJ.4, EPSG:n ou un fichier contenant une projection au format WKT.
  • -zfield field_name : identifie un champ attributaire sur l’objet à utiliser pour obtenir la valeur du z. Cette valeur écrase la valeur du Z lu dans la géométrie (naturellement, si vous avez une valeur Z dans la géométrie, sinon vous n’avez pas le choix et devez définir un nom de champ contenant la valeur du Z).
  • -a [algorithm[:parameter1=value1][:parameter2=value2]...] : définie l’algorithme d’interpolation ou le nom de la métrique de données et (en option) leurs paramètres. Lisez la section Algorithmes d’interpolation et Métriques des données pour plus d’information sur les options disponibles.
  • -spat xmin ymin xmax ymax : ajoute un filtre spatial pour sélectionner seulement les géométries intersectant la boîte englobante décrite par (xmin, ymin) - (xmax, ymax).
  • -clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent : ajoute un filtre spatial pour sélectionner seulement les features contenus dans une bouding box définie (exprimé dans le SRS source), une géométrie WKT (POLYGON ou MULTIPOLYGON), à partir d’une source de données ou bien de l’étendue spatiale de l’option -spat si vous utilisez le mot-clé spat_extent. Lorsque vous spécifiez une source de données, vous voudrez généralement l’utiliser en combinaison de l’option -clipsrclayer, -clipsrcwhere ou -clipsrcsql.
  • -clipsrcsql sql_statement : sélectionne les géométries désirées en utilisant une requête SQL à la place.
  • -clipsrclayer layername : sélectionne la couche nommée à partir de la source de données pour la découpe.
  • -clipsrcwhere expression : restreint les géométries désirées basé sur une requête attributaire.
  • -l layername : indique la couche de la source de données qui sera utilisée pour les objets en entrée. peut être définie de multiples fois, mais au moins une couche ou une option -sql doit être définie.
  • -where expression : une expression SQL optionnelle de requête de style WHERE à appliquer aux objets sélectionnés à traiter à partir de la couche en entrée.
  • -sql select_statement : une requête SQL à évaluer en fonction de la source de données pour produire une couche virtuelle d’objet à traiter.
  • -co “NAME=VALUE”: envoie une option de création au pilote de format de sortie. Des options -co multiple peuvent être listés. Lisez la documentation spécifique au format pour les options correctes de création pour chaque format.
  • -q : supprime la visualisation de la progression et autres sorties qui ne sont pas des erreurs.
  • src_datasource : n’importe quelle source de données lisibles gérées par OGR.
  • dst_filename : le fichier de sortie géré par GDAL.

Algorithmes d’interpolation

Il y a plusieurs algorithmes d’interpolation disponible.

invdist

Inverse de la distance à la puissance. C’est l’algorithme par défaut. Il possède les paramètres suivants :

  • power : poids de la puissance (2.0 par défaut) ;
  • smoothing : paramètre de douceur” (0.0 par défaut) ;
  • radius1 : le premier rayon (axe des X si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • radius2 : le second rayon (axe des Y si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • angle : angle de rotation de l’ellipse de recherche en degré (sens des aiguilles d’une montre, 0.0 par défaut).
  • max_points : nombre maximal de points de données à utiliser. Ne cherche pas un nombre de points au-dessus de ce nombre. Il est utilisé seulement si l’ellipse de recherche est définie (les deux rayons ne sont pas nul). Zéro signifie que tous les points trouvés doivent être utilisés. 0 est la valeur par défaut.
  • min_points : nombre minimal de points de données à utiliser. Si un nombre de points inférieur est trouvé le noeud de la grille est considéré comme vide et sera rempli de valeur nodata. Il est utilisé seulement si la recherche de l’ellipse est définie (les deux rayons ne sont pas nuls). 0 est la valeur par défaut.
  • nodata : valeur NODATA pour remplir les points vides (0.0 par défaut).

average

Algorithme de la moyenne mobile. Il possède les paramètres suivants :

  • radius1 : le premier rayon (axe des X si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • radius2 : le second rayon (axe des Y si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • angle : angle de rotation de l’ellipse de recherche en degré (sens des aiguilles d’une montre, 0.0 par défaut).
  • min_points : nombre minimal de points de données à utiliser. Si un nombre de points inférieur est trouvé le noeud de la grille est considéré comme vide et sera rempli de valeur nodata. 0 est la valeur par défaut.
  • nodata : valeur NODATA pour remplir les points vides (0.0 par défaut).

Notez qu’il est essentiel de définir l’ellipse de recherche pour la méthode de la moyenne mobile. C’est une fenêtre qui sera moyennée lors du calcul des valeurs des nœuds de la grille.

nearest

Algorithme du plus proche voisin. Il possède les paramètres suivants :

  • radius1 : le premier rayon (axe des X si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • radius2 : le second rayon (axe des Y si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • angle : angle de rotation de l’ellipse de recherche en degré (sens des aiguilles d’une montre, 0.0 par défaut).
  • nodata : valeur NODATA pour remplir les points vides (0.0 par défaut).

Métriques des données

Outre les fonctionnalités d’interpolation gdal_grid can peut être utilisé pour calculer certaines données métriques en utilisant la fenêtre définie et la géométrie grille en sortie. Ces métriques sont :

  • minimum : valeur minimale trouvée dans l’ellipse de recherche du nœud de la grille.
  • maximum : valeur maximale trouvée dans l’ellipse de recherche du nœud de la grille.
  • range : une différence entre les valeurs minimales et maximales trouvées dans l’ellipse de recherche du nœud de la grille.
  • count : un nombre de point trouvé dans l’ellipse de recherche de noeud de la grille.
  • average_distance : une distance moyenne entre les noeuds de la grille (centre de l’ellipse de recherche) et toutes les données ponctuelles trouvé dans l’ellipse de recherche de noeud de la grille.
  • average_distance_pts : une distance moyenne entre les données ponctuelles dans l’ellipse de recherche de noeud de la grille. La distance entre chaque pair de points dans l’ellipse est calculé et la moyenne de toutes les distances est définie comme valeur du noeud de la grille.

Tous les métriques ont les mêmes ensembles d’options :

  • radius1 : le premier rayon (axe des X si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble . du tableau de point. 0.0 par défaut.
  • radius2 : le second rayon (axe des Y si l’angle de rotation est 0) de l’ellipse de recherche. Définissez ce paramètre à 0 pour utiliser l’ensemble du tableau de point. 0.0 par défaut.
  • angle : angle de rotation de l’ellipse de recherche en degré (sens des aiguilles d’une montre, 0.0 par défaut).
  • min_points : nombre minimal de points de données à utiliser. Si un nombre de points inférieur est trouvé le noeud de la grille est considéré comme vide et sera rempli de valeur nodata. Il est utilisé seulement si la recherche de l’ellipse est définie (les deux rayons ne sont pas nuls). 0 est la valeur par défaut.
  • nodata : valeur NODATA pour remplir les points vides (0.0 par défaut).

Lire des valeurs séparées par des virgules

Souvent vous avez un fichier texte avec une liste de valeurs XYZ séparées par des virgules à utiliser (appelé fichier CSV). Vous pouvez facilement utiliser ce type de source de données dans gdal_grid. Tout ce que vous devez faire est de créer un en-tête de jeu de données virtuel (VRT) pour votre fichier CSV et l’utiliser comme jeu de données en entré pour gdal_grid. Vous pouvez trouver des détails supplémentaires sur la page de description du Virtual Format.

Voici un petit exemple. Nous avons un fichier CSV appelé dem.csv contenant :

Easting,Northing,Elevation
86943.4,891957,139.13
87124.3,892075,135.01
86962.4,892321,182.04
87077.6,891995,135.01
...

Pour les données ci-dessus nous créons un en-tête dem.vrt avec le contenu suivant :

<OGRVRTDataSource>
    <OGRVRTLayer name="dem">
        <SrcDataSource>dem.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

Cette description définie une géométrie appelée 2.5D avec trois coordonnées X,Y et Z. La valeur Z sera utilisée pour l’interpolation. Maintenant vous pouvez utiliser le fichier dem.vrt avec tous les programmes OGR (démarrez avec ogrinfo pour tester que tout fonctionne correctement). La source de données contiendra une seule couche appelée “dem” rempli d’objet point construit à partir des valeurs contenu dans le fichier CSV. En utilisant cette technique, vous pouvez prendre en charge les fichiers CSV avec plus de trois colonnes, inverser des colonnes, etc.

Si votre fichier CSV ne contient pas d’en-tête de colonne alors il peut être pris en charge comme suit :

<GeometryField encoding="PointFromColumns" x="field_1" y="field_2" z="field_3"/>

La page de description des fichiers Comma Separated Value (.csv) contient des détails sur le format CSV géré par GDAL/OGR.

Exemple

Les exemples suivants pourraient créer un fichier raster TIFF à partir d’une source de données VRT décrit dans la section Lire des valeurs séparées par des virgules en utilisant la distance inverse à la puissance. Les valeurs à interpoler seront lues partir de la valeur Z de l’enregistrement de la géométrie.

gdal_grid -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000
  890000 -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff

La commande suivante fait la même chose que la précédente, mais lit les valeurs pour interpoler à partir du champ attributaire défini avec l’option -zfield à la place de l’enregistrement des géométries. Dans ce cas donc, les coordonnées X et Y sont récupérées dans la géométrie et le Z du champ Elevation.

gdal_grid -zfield "Elevation" -a invdist:power=2.0:smoothing=1.0 -txe 85000 89000 -tye 894000 890000 *
  -outsize 400 400 -of GTiff -ot Float64 -l dem dem.vrt dem.tiff

Table des Matières

Sujet précédent

gdal_retile.py

Sujet suivant

gdal_proximity

Cette page