Profils NetCDF vers classe d’entités (format Discrete Sampling Geometry) (Outils multidimensionnels)

Synthèse

Crée une classe d’entités à partir de profils dans des fichiers netCDF. Dans la convention des métadonnées des données de climat et de prévision, un profil est un type de géométrie d’échantillonnage discret.

En savoir plus sur le fonctionnement des outils de géométrie d’échantillonnage discret

Utilisation

  • Dans la convention des métadonnées des données de climat et de prévision, un profil est un ensemble ordonné de points de données le long d’une ligne verticale, à une position horizontale fixe et à une heure fixe.

  • Les jeux de données de géométrie d’échantillonnage discret se caractérisent par une dimensionnalité inférieure par rapport à la région spatio-temporelle dans laquelle les données sont échantillonnées.

  • Les fichiers netCDF en entrée doivent être conformes à la convention sur le climat et la prévision (CF 1.6 ou version ultérieure). Les conventions sur le climat et la prévision définissent les métadonnées pour décrire les données représentées par chaque variable, ainsi que les propriétés spatiales et temporelles des données.

  • Si les fichiers netCDF en entrée ne sont pas conformes à la convention sur le climat et la prévision, vous pouvez spécifier un fichier Input Climate and Forecast Metadata (Métadonnées des données de climat et de prévision en entrée) (in_cf_metadata dans Python) avec des attributs supplémentaires ou modifiés. Le fichier Input Climate and Forecast Metadata (Métadonnées des données de climat et de prévision en entrée) est un fichier XML avec une extension .ncml. Les attributs de ce fichier de métadonnées prolongent ou remplacent les métadonnées du fichier netCDF. Le fichier Input Climate and Forecast Metadata (Métadonnées des données de climat et de prévision en entrée) permet également de spécifier une variable d’appariement de grille si le fichier netCDF n’en possède pas.

  • Un type d’entité de géométrie d’échantillonnage discret est identifié par une variable ID d’instance marquée par un attribut cf_role. Il est possible de convertir plusieurs fichiers netCDF de même structure en une seule classe d’entités avec un champ InstanceID unique. Chaque fichier netCDF doit disposer d’une variable marquée par le même attribut cf_role qui servira de champ d’identification dans plusieurs fichiers. L’agrégation aura lieu strictement le long de la dimension d’instance de cette variable.

  • Pour les variables d’instance et d’observation, l’appariement se produit par nom de variable. En d’autres termes, si deux variables dans différents fichiers netCDF portent le même nom, elles sont interprétées comme désignant la même chose.

  • Plusieurs variables d’instance et d’observation (numéro de croisière, température, salinité, etc.) peuvent être sélectionnées dans les paramètres Instance Variable (Variables d’instance) (instance_variables dans Python) et Observation Variables (Variables d’observation) (observation_variables dans Python), respectivement.

  • Vous pouvez utiliser le paramètre Analysis Extent (Étendue d’analyse) (analysis_extent dans Python) afin de spécifier la zone d’analyse en sortie explicitement pour l’exécution d’un outil autonome ou de remplacer le paramètre d’environnement dans le cadre d’un processus. Vous pouvez spécifier l’étendue en saisissant des valeurs, en choisissant l’étendue d’affichage, en sélectionnant une couche ou en recherchant un jeu de données en entrée.

  • La valeur Analysis Extent (Étendue d’analyse) par défaut est calculée à partir de l’étendu d’union des fichiers netCDF en entrée.

  • Si l’étendue n’est pas explicitement spécifiée comme valeur de paramètre, elle est dérivée des paramètres d’environnement d’analyse.

  • Lorsque l’option Instance et observation est spécifiée pour le paramètre Structure en sortie (out_schema = "INSTANCE_AND_OBSERVATION" dans Python), une classe d’entités ponctuelles 2D contenant toutes les informations de localisation ainsi que les champs d’instance sélectionnés, et une table associée contenant les variables d’observation sélectionnées, seront créées. Une couche facultative peut également être créée. Elle joindra la table à la classe d’entités en fonction du champ InstanceID. Lorsque l’option Itinéraire et événement est spécifiée (out_schema = "ROUTE_AND_EVENT" dans Python), deux sorties sont générées. L’une est une classe d’entités polylignes verticale avec un sommet 3D et une valeur de mesure pour chaque niveau vertical. L’autre sortie est une table avec des valeurs d’observation et les champs from_z et to_z. Vous pouvez utiliser cette table pour créer des classes d’événements de segmentation dynamique linéaires le long des profils. Aucune couche de jointure n’est créée pour cette structure. Lorsque l’option Point 3D est spécifiée (out_schema = "POINT_3D" dans Python), seule une entité ponctuelle 3D contenant tous les enregistrements (toutes les localisations avec tous les niveaux verticaux) est créée.

  • Une variable de données dans le fichier netCDF peut utiliser une variable grid_mapping pour définir explicitement le système de référence de coordonnées utilisé pour les valeurs de coordonnées spatiales. Vous pouvez utiliser l’attribut epsg_code d’appariement de grille pour sélectionner un système de coordonnées géographiques ou projetées. De plus, les attributs esri_pe_string, crs_wkt et spatial_ref d’appariement de grille peuvent tous être utilisés pour définir une chaîne WKT 1 ou WKT 2. Si certains de ces attributs sont présents, aucun autre attribut pour le système de coordonnées horizontales n’est utilisé. Pour plus d'informations sur les systèmes de référence de coordonnées, ainsi que sur les WKID pris en charge, reportez-vous à la rubrique Systèmes de coordonnées, projections et transformations.

  • Si les valeurs de coordonnées spatiales sont de type 3D, la variable grid_mapping doit également spécifier un système de coordonnées verticales. Un système de coordonnées verticales est une combinaison d’un datum vertical, d’une unité linéaire de mesure et de la direction (haut ou bas) dans laquelle les coordonnées verticales augmentent. Le datum s’obtient généralement à partir d’un attribut de la variable d’appariement de grille et des autres propriétés à partir de la variable de coordonnées verticales. Un datum vertical arbitraire peut être spécifié en utilisant une chaîne WKT composée comme valeur de l’un des attributs WKT répertoriés ci-dessus. Un datum basé sur la gravité peut être spécifié en utilisant l’attribut geoid_name ou geopotential_datum_name. En outre, un zéro des marées peut être implicitement spécifié en utilisant l’un des noms standard de marée pour la variable de coordonnées verticales. Si aucun système de coordonnées verticales n’est spécifié et qu’une variable de coordonnées verticales est présente, Instantaneous Water Level Depth ou Height (epsg:5831, epsg:5829) est sélectionné par défaut.

Paramètres

ÉtiquetteExplicationType de données
Fichiers ou dossiers netCDF en entrée

Fichiers netCDF en entrée à utiliser pour créer une classe d’entités. Des fichiers netCDF individuels, ainsi que les dossiers qui contiennent plusieurs fichiers netCDF, peuvent être utilisés.

Les fichiers netCDF en entrée doivent avoir la même structure et le même type d’entité DSG.

Folder; File
Espace de travail cible

Géodatabase d’entreprise ou fichier dans laquelle la classe d’entités et la table en sortie sont créées. Il doit s’agit d’un espace de travail existant.

Workspace
Nom de point ou de polyligne en sortie

Nom de la classe d’entités qui contient les localisations issues des variables netCDF. Ces variables sont ajoutées sous forme de champs à partir du paramètre Instance Variables (Variables d’instance).

String
Variables d’observation
(Facultatif)

Variables netCDF contenant toutes les valeurs d’observation à chaque localisation et chaque niveau vertical. Elles sont ajoutées sous forme de champs à la table en sortie.

String
Nom de la table d’événements ou de jointure en sortie
(Facultatif)

Nom de la table en sortie qui contient tous les enregistrements des variables d’observation.

String
Variables d’instance
(Facultatif)

Variables netCDF qui distinguent les entités individuelles et représentent les localisations où des observations sont réalisées. Ces variables sont ajoutées sous forme de champs à la classe d’entités en sortie.

String
Structure en sortie
(Facultatif)

Indique le type de classe d’entités en sortie à créer.

  • Instance et observationUne classe d’entités contenant des points 2D qui comportent la localisation de chaque instance et une table associée contenant toutes les variables d’observation sont créées. Il s’agit du paramètre par défaut.
  • Itinéraire et événementUne classe d’entités polylignes verticale avec des sommets 3D et une table d’événements linéaires pour les variables d’observation sont créées.
  • Point 3DUne classe d’entités 3D avec toutes les instances à tous les niveaux verticaux est créée.
String
Inclure les sous-répertoires
(Facultatif)

Spécifie si les fichiers résidant dans les sous-répertoires d’un dossier en entrée sont utilisés.

  • Activé : tous les fichiers netCDF des sous-répertoires sont utilisés.
  • Désactivé : seuls les fichiers dans le dossier en entrée sont utilisés. Il s’agit de l’option par défaut.
Boolean
Métadonnées des données de climat et de prévision en entrée
(Facultatif)

Fichier au format XML avec une extension .ncml qui fournit les informations CF manquantes ou modifiées pour les fichiers netCDF en entrée.

File
Etendue d’analyse
(Facultatif)

Étendue qui définit la zone de la classe d’entités en sortie.

Extent
Couche de jointure en sortie
(Facultatif)

Couche en sortie créée en joignant la table en sortie à la classe d’entités en sortie. Il s’agit d’une sortie facultative qui est uniquement disponible lorsque l’option Instance et observation est spécifiée pour le paramètre Structure en sortie.

Feature Layer

Sortie obtenue

ÉtiquetteExplicationType de données
Point ou polyligne en sortie

Classe d’entités ponctuelles ou polylignes en sortie.

Feature Class
Table d’événements ou de jointure en sortie

Table en sortie.

Table

arcpy.management.NetCDFProfilesToFeatureClass(in_files_or_folders, target_workspace, out_point_or_polyline_name, {observation_variables}, {out_table_name}, {instance_variables}, {out_schema}, {include_subdirectories}, {in_cf_metadata}, {analysis_extent}, {out_join_layer})
NomExplicationType de données
in_files_or_folders
[in_files_or_folders,...]

Fichiers netCDF en entrée à utiliser pour créer une classe d’entités. Des fichiers netCDF individuels, ainsi que les dossiers qui contiennent plusieurs fichiers netCDF, peuvent être utilisés.

Les fichiers netCDF en entrée doivent avoir la même structure et le même type d’entité DSG.

Folder; File
target_workspace

Géodatabase d’entreprise ou fichier dans laquelle la classe d’entités et la table en sortie sont créées. Il doit s’agit d’un espace de travail existant.

Workspace
out_point_or_polyline_name

Nom de la classe d’entités qui contient les localisations issues des variables netCDF. Ces variables sont ajoutées sous forme de champs à partir du paramètre instance_variables.

String
observation_variables
[observation_variables,...]
(Facultatif)

Variables netCDF contenant toutes les valeurs d’observation à chaque localisation et chaque niveau vertical. Elles sont ajoutées sous forme de champs à la table en sortie.

String
out_table_name
(Facultatif)

Nom de la table en sortie qui contient tous les enregistrements des variables d’observation.

String
instance_variables
[instance_variables,...]
(Facultatif)

Variables netCDF qui distinguent les entités individuelles et représentent les localisations où des observations sont réalisées. Ces variables sont ajoutées sous forme de champs à la classe d’entités en sortie.

String
out_schema
(Facultatif)

Indique le type de classe d’entités en sortie à créer.

  • INSTANCE_AND_OBSERVATIONUne classe d’entités contenant des points 2D qui comportent la localisation de chaque instance et une table associée contenant toutes les variables d’observation sont créées. Il s’agit du paramètre par défaut.
  • ROUTE_AND_EVENTUne classe d’entités polylignes verticale avec des sommets 3D et une table d’événements linéaires pour les variables d’observation sont créées.
  • POINT_3DUne classe d’entités 3D avec toutes les instances à tous les niveaux verticaux est créée.
String
include_subdirectories
(Facultatif)

Spécifie si les fichiers résidant dans les sous-répertoires d’un dossier en entrée sont utilisés.

  • INCLUDE_SUBDIRECTORIESTous les fichiers netCDF des sous-répertoires sont utilisés.
  • DO_NOT_INCLUDE_SUBDIRECTORIESSeuls les fichiers dans le dossier en entrée sont utilisés. Il s’agit de l’option par défaut.
Boolean
in_cf_metadata
(Facultatif)

Fichier au format XML avec une extension .ncml qui fournit les informations CF manquantes ou modifiées pour les fichiers netCDF en entrée.

File
analysis_extent
(Facultatif)

La classe Extent détermine l’étendue du jeu de données raster en sortie.

La forme de la classe Extent est la suivante :

  • Extent (XMin, YMin, XMax, YMax)

    où :

    • XMin : valeur XMin de l’étendue.
    • YMin : valeur YMin de l’étendue.
    • XMax : valeur XMax de l’étendue.
    • YMax : valeur YMax de l’étendue.

Extent
out_join_layer
(Facultatif)

Couche en sortie créée en joignant la table en sortie à la classe d’entités en sortie. Il s’agit d’une sortie facultative qui est uniquement disponible lorsque l’option INSTANCE_AND_OBSERVATION est spécifiée pour le paramètre out_schema.

Feature Layer

Sortie obtenue

NomExplicationType de données
out_point_or_polyline

Classe d’entités ponctuelles ou polylignes en sortie.

Feature Class
out_table

Table en sortie.

Table

Exemple de code

Exemple 1 d’utilisation de l’outil NetCDFProfilesToFeatureClass (fenêtre Python)

Cet exemple crée une classe d’entités et une table à partir d’un fichier de profil de géométrie d’échantillonnage discret netCDF du jeu de données des océans du monde.

import arcpy
arcpy.md.NetCDFProfilesToFeatureClass(r"C:\WOD\wod_ctd_2019.nc", r"C:\ArcGIS\Projects\output.gdb", 
									  "WOD_2019", "Salinity", None, "WOD_2019_table", 
									  "INSTANCE_AND_OBSERVATION", "INCLUDE_SUBDIRECTORIES",
									  None, "DEFAULT", "WOD_2019_layer")
Exemple 2 d’utilisation de l’outil NetCDFProfilesToFeatureClass (script autonome)

Cet exemple crée une classe d’entités 3D à partir d’un fichier de profil de géométrie d’échantillonnage discret netCDF d’Argo.

# Name: NetCDFProfilesToFeatureClass_Ex_02.py
# Description: Creates a 3D point feature class from a set of float data.

# Import system modules
Import arcpy  

# Set the local variables 
in_files_or_folders = r"C:\Argo" 
target_workspace = r"C:\outputs\argo.gdb" 
out_point_or_polyline_name = "argo_3d" 
observation_variables = "temperature;pressure" 
out_table_name = "" 
instance_variables = "" 
out_schema = "POINT_3D" 
include_subdirectories = "DO_NOT_INCLUDE_SUBDIRECTORIES" 
in_cf_metadata = "" 
analysis_extent = "" 
out_join_layer = "" 

# Execute NetCDFProfilesToFeatureClass
arcpy.md.NetCDFProfilesToFeatureClass(in_files_or_folders, target_workspace,
                                      out_point_or_polyline_name, observation_variables,
                                      out_table_name, instance_variables, out_schema,
                                      include_subdirectories, in_cf_metadata,
                                      analysis_extent, out_join_layer)