Explorer la distribution des coraux et des éponges
Dans cette section, vous allez explorer certains des facteurs qui déterminent la distribution des coraux et des éponges dans les eaux entourant l’île de Catalina. Vous allez tout d’abord télécharger les données de l’Agence américaine d’observation océanique et atmosphérique (NOAA ou National Oceanic and Atmospheric Administration), sélectionner une zone d’intérêt et préparer les données à explorer.
Télécharger les données relatives aux coraux et aux éponges en eau profonde
Les données de la NOAA indiquent les emplacements connus des coraux et des éponges dans le monde. Comprendre comment télécharger et utiliser des données publiques est un aspect important de l’apprentissage du SIG. Vous allez commencer par télécharger deux jeux de données du programme Deep Sea Coral Research and Technology de la NOAA. Vous allez d’abord accéder au portail Deep-Sea Coral and Sponge Map. Ce site contient des données mises à jour chaque trimestre et facilite l’étude des espèces océaniques. Les étapes de cette section vous indiqueront comment télécharger des espèces pour une région spécifique du monde. Votre zone d’étude se trouvant autour de l’île de Catalina, au large de la Californie, vous allez télécharger les données correspondant au Pacifique Nord.
- Sur votre ordinateur, ouvrez File Explorer. Dans un emplacement de votre ordinateur facilement accessible, créez un dossier et nommez-le DeepSeaCoralSponge.
Dans ce didacticiel, les données sont présentées sur C:\Lessons\DeepSeaCoralSponge\. Vous pouvez utiliser un autre dossier, mais veillez à adapter les chemins d’accès dans les instructions qui suivent.
- Accédez à https://www.ncei.noaa.gov/maps/deep-sea-corals/mapSites.htm.
Le portail Deep-Sea Coral & Sponge Map de la NOAA contient une carte créée et gérée par le programme Deep Sea Coral Research and Technology Program de la NOAA. Les données de cette carte sont mises à jour tous les trimestres.
- En haut de la page, cliquez sur Data Query (Requête de données).
- Dans la fenêtre Data Query (Requête de données), dans la section Region (Région), cliquez sur le menu déroulant puis sur North Pacific (Pacifique Nord).
- Cliquez sur Chercher.
La recherche peut nécessiter quelques minutes.
- Une fois les données chargées, en haut de la page, cliquez sur Data Download (Téléchargement de données).
La fenêtre de téléchargement de données apparaît.
- Acceptez les valeurs par défaut et cliquez sur Customized Download (Téléchargement personnalisé).
La page de téléchargement personnalisé s’ouvre avec les données correspondant au Pacifique Nord.
- Faites défiler la page et cliquez sur File type (Type de fichier).
- Pour File type (Type de fichier), choisissez l’option commençant par .csv.
- Cliquez sur Submit (Envoyer).
Le téléchargement des données peut nécessiter plusieurs minutes.
- Recherchez le fichier .csv téléchargé sur votre ordinateur.
Conseil :
Le nom du fichier commence par deep_sea_corals_, suivi d’une chaîne de caractères (par exemple, deep_sea_corals_f6a2_cb18_f6f1.csv).
- Faites glisser le fichier .csv vers votre dossier DeepSeaCoralSponge que vous avez créé à une étape précédente.
Vous avez téléchargé les données des coraux en eau profonde correspondant à la région Pacifique Nord. Vous allez maintenant télécharger les modèles de relief côtier pour la zone de votre projet.
Télécharger les modèles de relief côtier de la NOAA
Les modèles de relief côtier de la NOAA sont des jeux de données raster publics intégrant la bathymétrie et le terrain côtier. Vous allez télécharger le modèle correspondant à la Californie du sud.
- Accédez à la page NCEI Geoportal.
Votre zone d’étude étant l’île de Catalina, vous allez télécharger les données correspondant à la région de la Californie du sud.
- Dans la zone de recherche, saisissez U.S. Coastal Relief Model - Southern California Version 2 (Modèle de relief côtier américain - Californie du sud, version 2) et appuyez sur Entrée.
- Dans les résultats de la recherche, cliquez sur U.S. Coastal Relief Model - Southern California Version 2 (Modèle de relief côtier américain - Californie du sud, version 2).
- Faites défiler l’écran vers le bas jusqu’à la section Download Data (Télécharger les données) et cliquez sur le second lienDownload NetCDF File (Télécharger le fichier NetCDF).
Le fichier crm_socal_3as_vers2.nc est téléchargé. Il correspond à la version de résolution de seconde d’arc 3 (90 mètres) des données. L’autre lien Download NetCDF File (Télécharger le fichier NetCDF) pointe sur la version de résolution de seconde d’arc 1 (30 mètres) des données. Dans le cadre de ce didacticiel, les données à la résolution 90 mètres sont appropriées.
Conseil :
Il s’agit d’un fichier de 512 Mo. Selon la vitesse de votre connexion, le téléchargement de ce fichier sur votre ordinateur peut nécessiter plusieurs minutes.
- Une fois le téléchargement terminé, localisez le fichier crm_socal_3as_vers2.nc sur votre ordinateur et faites-le glisser vers le dossier de votre projet.
- Cliquez avec le bouton droit sur le fichier crm_socal_3as_vers2.nc et renommez-le SouthernCABathymetry.nc.
Le fichier deep_sea_corals_ .csv contient une ligne qui explique les unités de latitude et de longitude figurant dans les colonnes de profondeur. Bien que cette ligne soit utile pour un chercheur qui affiche la table sous la forme d’une feuille de calcul, elle provoquera des problèmes lors de la conversion de la table en entités ponctuelles. Vous allez ouvrir le fichier .csv dans un éditeur de feuille de calcul et supprimer la ligne.
- Ouvrez le fichier deep_sea_corals_ .csv dans Microsoft Excel (ou l’éditeur de feuille de calcul de votre choix).
La deuxième ligne contient une description textuelle des unités des colonnes K, L, M et T. Les valeurs de données que vous souhaitez importer figurent sur les lignes situées après la ligne 2.
- Cliquez sur le numéro de la ligne 2 pour sélectionner cette ligne.
- Cliquez avec le bouton droit sur la ligne et cliquez sur Delete (Supprimer).
La ligne est supprimée. La table de données est à présent correctement formatée et peut être importée vers une géodatabase.
- Cliquez sur le bouton Save (Enregistrer) et fermez le fichier.
Vous avez téléchargé les données publiques de la NOAA et en avez adapté le formatage afin qu’elles puissent être importées vers la géodatabase. Vous allez ensuite ajouter les données à ArcGIS Pro, préparer les données NetCDF à analyser et créer des points à partir de la table de la géodatabase.
Importer le modèle de relief côtier
Les jeux de données que vous avez téléchargés ne sont qu’une petite partie des données publiées par l’Agence américaine d’observation océanique et atmosphérique (NOAA ou National Oceanic and Atmospheric Administration). Dans cette section, vous allez apprendre à utiliser les modèles de relief côtier afin de créer des rasters dérivés pour l’environnement de l’île de Catalina. Les informations dérivées seront ensuite incorporées dans la base de données de localisation des coraux et des éponges.
Ajouter des données et modifier la symbologie
Vous allez maintenant commencer un nouveau projet dans ArcGIS Pro et y ajouter des données.
- Ouvrez ArcGIS Pro.
- Dans la section New Project (Nouveau projet), cliquez sur Map (Carte).
- Nommez le projet Deep Sea Coral and Sponge Database (Base de données des coraux et des éponges en eau profonde).
- Cliquez sur OK.
Remarque :
Si la fenêtre Catalog (Catalog) n’est pas ouverte, cliquez sur l’onglet View (Afficher) puis sur Catalog Pane (Fenêtre Catalogue).
- Dans la fenêtre Catalog (Catalogue), développez Databases (Bases de données).
Lorsque vous avez créé le projet, ArcGIS Pro a créé une géodatabase pour stocker les données du projet. Vous allez importer la table CSV vers cette géodatabase.
- Cliquez avec le bouton droit sur Deep Sea Coral and Sponge Database (Base de données des coraux et des éponges en eau profonde), pointez sur Import (Importer), puis cliquez sur Table(s).
- Pour Input Table (Table en entrée), accédez au fichier .csv que vous avez téléchargé et modifié auparavant dans le didacticiel et sélectionnez-le.
- Cliquez sur Run (Exécuter).
L’outil s’exécute pendant une ou deux minutes pendant l’importation de la table CSV dans la géodatabase.
- Dans la fenêtre Catalog (Catalogue), développez la géodatabase et faites glisser la table vers la carte.
La table est ajoutée à la section Standalone Tables (Tables autonomes) de la fenêtre Contents (Contenu).
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur la table deep_sea_corals, puis cliquez sur Display XY Data (Afficher des données XY).
- Dans la fenêtre Display XY Data (Afficher des données XY), pour Output Feature Class (Classe d’entités en sortie), saisissez CoralandSpongeLocations.
L’outil détecte que la table contient des champs de longitude et de latitude et les affecte aux paramètres en entrée X Field (Champ X) et Y Field (Champ Y).
- Cliquez sur OK.
L’outil s’exécute pendant environ une minute. Lorsqu’il a terminé, la nouvelle classe d’entités CoralandSpongeLocations est ajoutée à la carte.
La table deep_sea_corals n’est plus nécessaire.
- Dans la section Standalone Tables (Tables autonomes), cliquez avec le bouton droit sur la table deep_sea_corals, puis cliquez sur Remove (Supprimer).
Vous allez ensuite modifier la symbologie de la couche CoralandSpongeLocations.
- Cliquez avec le bouton droit sur la couche CoralandSpongeLocations, puis cliquez sur Symbology (Symbologie).
La fenêtre Symbology (Symbologie) apparaît.
- Dans la fenêtre Symbology (Symbologie), cliquez sur la flèche de la liste déroulante Primary symbology (Symbologie principale) et sur Unique Values (Valeurs uniques).
- Cliquez sur la flèche de la liste déroulante Field 1 (Champ 1), puis sur VernacularNameCategory.
- Fermez la fenêtre Symbology (Symbologie).
- Dans la barre d’outils Accès rapide, cliquez sur le bouton Enregistrer pour enregistrer le projet.
Définir le système de coordonnées de votre carte
Vous souhaitez examiner les facteurs qui déterminent la distribution des coraux et des éponges dans les eaux entourant l’île de Catalina, au large de la Californie. Vous allez définir le système de coordonnées de la carte sur un système de coordonnées projetées conçu pour la Californie afin d’assurer l’exactitude.
- Dans la fenêtre Contents (Contenu), double-cliquez sur Map (Carte).
La fenêtre Map Properties (Propriétés de la carte) s’ouvre.
- Dans la fenêtre Map Properties (Propriétés de la carte), cliquez sur Coordinate Systems (Systèmes de coordonnées).
- Dans la zone XY Coordinate Systems Available (Systèmes de coordonnées XY disponibles), saisissez NAD 1983 California (Teale) Albers, puis appuyez sur Entrée.
- Développez Projected Coordinated System (Système de coordonnées projetées) et State Systems (Systèmes d’État), puis cliquez sur NAD 1983 California (Teale) Albers (Meters).
- Cliquez sur OK.
Le système de coordonnées de la carte est remplacé par le système de coordonnées NAD 1983 California (Teale) Albers et les unités XY de la carte sont définies sur le mètre.
Cette projection est optimisée afin de prendre en charge les calculs de superficie pour l’État de Californie. Vous pouvez constater qu’elle déforme le reste du monde mais, votre zone d’intérêt se trouvant dans la partie moins déformée, cela ne pose pas de problème. Vous allez extraire les points correspondant à votre étude afin que la distorsion des points dans les parties distantes de l’océan Pacifique ne pose pas non plus de problème.
Sélectionner les données du projet
Vous avez maintenant téléchargé les données de tout le Nord du Pacifique, défini une zone d’intérêt pour votre projet puis découpé les données dans cette zone. Vous pouvez ainsi utiliser un sous-ensemble des données plus facile à gérer.
- Dans la fenêtre Catalog (Catalogue), cliquez sur Portal (Portail), puis sur ArcGIS Online. Dans la barre de recherche, saisissez California_Detail_Learn_ArcGIS.
Remarque :
Pour ouvrir la fenêtre Catalog (Catalogue), sur le ruban, cliquez sur l’onglet View (Vue) et, dans le groupe Windows (Fenêtres), cliquez sur Catalog Pane (Fenêtre Catalogue).
- Dans les résultats de recherche, faites glisser la couche California_Detail_Learn_ArcGIS, propriété de Learn_ArcGIS, sur la carte.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur dtl_st_trim, puis cliquez sur Rename (Renommer) et nommez la couche California (Californie).
- Sur le ruban, cliquez sur l’onglet Map (Carte) et, dans le groupe Inquiry (Requête), cliquez sur Locate (Localiser).
- Dans la fenêtre Locate (Localiser), dans la barre de recherche, saisissez Catalina Island (Île de Catalina), puis cliquez sur Catalina Island, CA, USA (Île de Catalina, CA, États-Unis).
La carte zoome sur l’Île de Catalina.
- Dans l’angle inférieur de la fenêtre cartographique, cliquez sur l’indicateur d’échelle déroulant et choisissez 1:500,000.
- Sur le ruban, cliquez sur l’onglet Map (Carte) et, dans la section Navigate (Naviguer), cliquez sur Explore (Explorer).
- Cliquez sur la carte et déplacez-vous afin que l’île de Catalina se trouve au centre.
- Dans le groupe Selection (Sélection), cliquez sur Select (Sélectionner).
Pour ne sélectionner que les points de corail et d’éponge, faites de la couche CoralandSpongeLocations la seule couche sélectionnable.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur la couche CoralandSpongeLocations, pointez sur Selection (Sélection) et cliquez sur Make this the only selectable layer (Définir comme unique couche sélectionnable).
- Avec l’outil Select (Sélectionner) activé, tracez un cadre autour des points de corail et d’éponge dans les eaux entourant l’île de Catalina.
Les points sélectionnés sont mis en surbrillance dans la couleur cyan pour indiquer qu’ils sont sélectionnés.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur CoralandSpongeLocations, pointez sur Data (Données) et sélectionnez Export Features (Exporter des entités).
- Dans la fenêtre Export Features (Exporter des entités), pour Output Feature Class (Classe d’entités en sortie), saisissez CoralandSpongeCatalina.
L’outil présente un message indiquant que l’entrée possède une sélection. Selon la zone que vous avez sélectionnée, il se peut que plus ou moins de points soient sélectionnés. Le nombre exact de points sélectionnés est sans importance, mais environ 6 000 est un bon nombre.
Avant d’exécuter l’outil, vous allez définir la projection de la classe d’entités en sortie.
- Dans l’outil Export Features (Exporter des entités), cliquez sur l’onglet Environments (Environnements).
- Dans la section Output Coordinates (Coordonnées en sortie), cliquez sur la flèche de la liste déroulante Output Coordinate System (Système de coordonnées en sortie) puis sur Current Map [Map] (Carte actuelle [Carte]).
- Cliquez sur OK.
L’outil exporte les entités sélectionnées pour votre zone d’intérêt autour de l’île de Catalina. Si vous disposiez de plusieurs zones d’intérêt, vous pourriez utiliser la même méthode de définition du système de coordonnées sur un système approprié à des fins d’analyse à cet emplacement, de zoom sur l’emplacement, de sélection d’entités et d’exportation de ces entités à l’aide du système de coordonnées de la carte pour créer d’autres jeux de données à analyser et à comparer.
- Dans la fenêtre Contents (Contenu), décochez la couche CoralandSpongeLocations.
À présent, seules les entités que vous avez sélectionnées autour de l’île de Catalina s’affichent.
- Enregistrez le projet.
Conseil :
Vous pouvez également enregistrer le projet en appuyant sur les touches Ctrl+S.
Créer un rectangle d’emprise
Ensuite, vous allez créer un rectangle d’emprise pour votre zone d’intérêt et importer le modèle de relief côtier en tant que raster.
- Si nécessaire, ouvrez votre projet dans ArcGIS Pro.
- Sur le ruban, cliquez sur l’onglet Analysis (Analyse), puis sur Tools (Outils).
La fenêtre Geoprocessing (Géotraitement) s’affiche.
- Dans la fenêtre Geoprocessing (Géotraitement), dans la barre de recherche, saisissez Minimum Bounding Geometry (Emprise géométrique minimale). Dans la liste des résultats, cliquez sur l’outil Minimum Bounding Geometry (Emprise géométrique minimale).
- Dans la fenêtre de l’outil Minimum Bounding Geometry (Emprise géométrique minimale), définissez les paramètres suivants :
- Pour Input Features (Entités en entrée), sélectionnez CoralandSpongeCatalina.
- Pour Output Features (Entités en sortie), saisissez CatalinaBoundary.
- Pour Geometry Type (Type de géométrie), sélectionnez Envelope (Enveloppe).
- Cliquez sur Run (Exécuter).
- Dans la fenêtre Contents (Contenu), cliquez sur le symbole de la couche CatalinaBoundary.
- Dans la fenêtre Symbology (Symbologie), cliquez sur l’onglet Gallery (Bibliothèque) et sélectionnez Black Outline (2pts) (Contour noir (2 pts)).
Vous disposez à présent d’un polygone qui représente votre zone d’étude et d’un ensemble de points pour les observations sur les coraux et les éponges dans cette zone.
Ajouter les données bathymétriques
Le modèle de relief côtier est au format NetCDF. Le format de données NetCDF est utilisé pour partager des données scientifiques stockées sous forme de tableau et est couramment utilisé en océanographie. Vous allez créer un jeu de données raster à partir du fichier netCDF pour votre analyse.
- Dans la fenêtre Geoprocessing (Géotraitement), cliquez sur la flèche de retour. Saisissez Make NetCDF Raster Layer (Générer une couche raster NetCDF) et cliquez sur Make NetCDF Raster Layer (Générer une couche raster NetCDF) pour ouvrir l’outil.
- Dans la fenêtre de l’outil Make NetCDF Raster Layer (Générer une couche raster NetCDF), pour Input netCDF File (Fichier netCDF en entrée), cliquez sur le bouton Browse (Parcourir).
- Dans la fenêtre Input netCDF file (Fichier NetCDF en entrée), accédez au dossier C:\DeepSeaCoralSponge (ou à l’emplacement auquel vous avez enregistré le fichier crm_socal_3as_vers2.nc).
- Cliquez sur SouthernCABathymetry.nc puis sur OK.
Le paramètre Variable est défini sur Band1 et les valeurs X et Y Dimension (Dimension Y) sur lon et lat.
- Cliquez sur Run (Exécuter).
Conseil :
Cette étape peut nécessiter quelques minutes.
La couche raster apparaît pour toute la région de la Californie du Sud.
- Enregistrez votre projet.
Préparer les couches à analyser
Pour pouvoir analyser avec précision les données ayant été téléchargées, vous allez projeter et découper la couche bathymétrique. Il est préférable d’effectuer l’analyse sur des rasters de terrain ou bathymétrique ayant été projetés sur des systèmes de coordonnées projetées avec des unités correspondant à leurs unités d’élévation ou de profondeur. Dans ce cas, les profondeurs sont exprimées en mètres. Vous allez projeter le raster sur le système de coordonnées projetées de la Californie que vous avez défini pour le bloc de données et la couche CoralSpongeCatalina. Ce système de coordonnées utilise des mètres en tant qu’unités linéaires, qui sont les mêmes unités que les valeurs de profondeur.
- Dans la fenêtre Geoprocessing (Géotraitement), recherchez et ouvrez l’outil Project Raster (Projeter un raster).
- Dans la fenêtre Project Raster (Projeter un raster), pour Input Raster (Raster en entrée), choisissez Band1_Layer et pour Output Raster Dataset (Jeu de données raster en sortie), saisissez CatalinaBathymetry.
- Pour Output Coordinate System (Système de coordonnées en sortie), cliquez sur le menu déroulant puis sur Current Map [Map] (Carte actuelle [Carte]).
Le système de coordonnées est remplacé par celui du bloc de données.
Une transformation géographique est également appliquée. Une transformation est utilisée lorsque les systèmes de coordonnées géographiques en entrée et en sortie possèdent des systèmes de coordonnées géographiques (GCS) différents pour garantir l’alignement correct des données. Dans ce cas, la transformation explique la différence existant entre le système de coordonnées géographiques WGS 1984 utilisé par les données NetCDF et le système de coordonnées géographiques NAD 1983 utilisé par le système de coordonnées California Teale Albers.
- Cliquez sur l'onglet Environnements.
- Dans l’onglet Environments (Environnements), dans la section Processing Extent (Étendue du traitement), cliquez sur le menu déroulant Extent (Étendue) puis sur CatalinaBoundary.
Cela ne projettera que les données bathymétriques de votre zone d’intérêt, avec pour résultat un raster plus petit ne couvrant que la zone que vous étudiez. Limiter l’étendue de traitement à votre zone d’intérêt permet d’économiser de l’espace sur le disque et de réduire les temps de traitement.
- Cliquez sur Run (Exécuter).
Projeter le raster bathymétrique entier peut nécessiter quelques minutes ; cette opération est beaucoup plus rapide.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur CatalinaBathymetry et cliquez sur Symbology (Symbologie).
- Dans la fenêtre Symbology (Symbologie), cliquez sur le bouton Options puis sur Import from layer (Importer depuis la couche).
L’outil Apply Symbology From Layer (Appliquer la symbologie d’une couche) s’ouvre.
- Pour Symbology Layer (Couche de symbologie), choisissez Band1_Layer puis cliquez sur Run (Exécuter).
Maintenant que les données bathymétriques sont découpées dans la zone de Catalina, projetées sur un système de coordonnées planaires et symbolisées, vous n’avez plus besoin de la couche Band1_Layer plus grande sur la carte.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur Band1_Layer et choisissez Remove (Supprimer).
- Enregistrez le projet.
Effectuer une analyse raster
Maintenant que vous avez préparé le raster bathymétrique en vue de votre zone d’intérêt, vous allez dériver les rasters de pente et d’aspect à partir de ce raster. Vous allez utiliser ces rasters pour explorer certains des facteurs pouvant déterminer la distribution des coraux et des éponges dans votre zone d’étude.
- Dans la fenêtre Geoprocessing (Géotraitement), dans la barre de recherche, saisissez Slope (Spatial Analyst) (Pente (Spatial Analyst)). Cliquez sur l’outil Slope (Pente).
- Dans la fenêtre de l’outil Slope (Pente), pour Input raster (Raster en entrée), sélectionnez CatalinaBathymetry. Pour Output raster (Raster en sortie), saisissez CatalinaSlope.
- Cliquez sur Run (Exécuter).
La pente est calculée pour chaque cellule de votre zone d’intérêt. L’outil Pente identifie la déclivité de chaque cellule de la surface raster. Plus la valeur de la pente est faible, plus le terrain est plat ; plus la valeur de la pente est élevée, plus le terrain est pentu.
- Dans la fenêtre Geoprocessing (Géotraitement), cliquez sur le bouton de retour. Recherchez et cliquez sur l’outil Aspect (Spatial Analyst).
- Dans la fenêtre de l’outil Aspect, pour Input raster (Raster en entrée), sélectionnez CatalinaBathymetry. Pour Output raster (Raster en sortie), saisissez CatalinaAspect.
- Cliquez sur Run (Exécuter).
L’aspect est calculé pour chaque cellule de votre zone d’intérêt. L’outil Aspect identifie la direction dans laquelle la pente descendante est orientée. Les valeurs de chaque cellule du raster en sortie indiquent la direction de boussole dans laquelle la surface est orientée à cet emplacement.
- Enregistrez le projet.
Améliorer la base de données
Maintenant que vous avez créé les rasters bathymétrique, de pente et d’aspect pour la zone d’intérêt de l’île de Santa Catalina, vous allez extraire les valeurs et les incorporer dans la base de données de coraux et d’éponges. Vous allez utiliser l’outil Extract Multi Values to Points (Extraction de valeurs multiples vers des points) pour ajouter les valeurs de ces trois rasters à chacun des points de localisation de corail et d’éponge. Vous pourrez ainsi créer des graphiques pour comprendre comment ces paramètres environnementaux varient aux emplacements où les coraux et les éponges ont été observés.
- Ouvrez la fenêtre Géotraitement. Recherchez et ouvrez l’outil Extract Multi Values to Points (Extraction de valeurs multiples vers des points).
- Dans la fenêtre de l’outil Extract Multi Values to Points (Extraction de valeurs multiples vers des points), pour Input Features (Entités en entrée), choisissez CoralandSpongeCatalina.
- Pour Input rasters (Rasters en entrée), choisissez les paramètres suivants :
- CatalinaBathymetry
- CatalinaSlope
- CatalinaAspect
- Pour le paramètre Output field name (Nom de champ en sortie), saisissez ce qui suit :
- Bathymétrie
- Pente
- Exposition
- Cliquez sur Run (Exécuter).
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur la couche CoralandSpongeCatalina, puis cliquez sur Attribute table (Table attributaire).
- Dans la table attributaire, faites défiler l’affichage afin de vérifier que les valeurs Bathymetry (Bathymétrie), Slope (Pente) et Aspect ont été ajoutées pour chaque entité.
- Fermez la table et enregistrez le projet.
Maintenant que vous avez amélioré les points de coraux et d’éponges à l’aide des données d’environnement, l’étape suivante consiste à visualiser ces valeurs à l’aide de diagrammes.
Explorer les données avec Python
ArcGIS Pro comprend ArcGIS Notebooks, utilisé par la communauté de la science des données pour explorer les données. Vous utiliserez le code Python dans Notebooks pour explorer les relations existant entre les trois variables environnementales et les différentes espèces de corail et d’éponge. Cela vous aidera à comprendre leurs habitats de prédilection.
Créer un diagramme avec Notebooks
Vous avez importé les rasters de bathymétrie, de pente dérivée et d’exposition et avez ajouté les données résultantes aux observations relatives aux coraux et aux éponges. Bien que vous puissiez inspecter visuellement les couches pour en retirer des informations, il est parfois plus facile de comprendre vos données en créant des diagrammes. Vous allez maintenant créer des diagrammes pour explorer les données.
- Sur le ruban, cliquez sur l’onglet Analysis (Analyse). Dans le groupe Geoprocessing (Géotraitement), cliquez sur la flèche déroulante située à côté de Python puis sur Python Notebook (Notebook Python).
La fenêtre Notebook apparaît et un nouveau notebook est répertorié sous un nouveau groupe, Notebooks, dans la fenêtre Catalog (Catalogue).
Les notebooks Python et la fenêtre Python sont deux manières d’exécuter du code Python.
Le code figurant dans la fenêtre Python est exécuté immédiatement une fois que vous avez appuyé sur Entrée. Les Notebooks vous permettent de saisir plusieurs lignes de code dans différentes cellules et d’exécuter le code, de le modifier et de l’exécuter à nouveau. Les Notebooks sont utiles pour créer des prototypes de code et analyser des données.
- Dans la fenêtre Catalog (Catalogue), développez Notebooks.
- Cliquez avec le bouton droit sur New Notebook.ipynb (Nouveau Notebook.ipynb) et sélectionnez Rename (Renommer).
- Saisissez CoralSponge et appuyez sur Entrée.
- Cliquez sur la cellule vide dans le notebook.
- Copiez et collez ou saisissez la ligne de code suivante pour importer le module arcpy dans la cellule :
import arcpy
Python étant sensible à la casse, la mise en majuscules doit correspondre.
- Dans la barre d’outils au-dessus de la première cellule, cliquez sur Run (Exécuter).
Pendant l’exécution de la cellule, un astérisque * apparaît dans les crochets [*]. À l’issue de l’exécution, l’astérisque est remplacé par le chiffre 1 et une nouvelle cellule vide apparaît en dessous de la première cellule.
Le module arcpy contient du code Python pour prendre en charge de nombreuses tâches de cartographie sur le bureau et d’analyse.
Il arrive que lorsque vous saisissez du code dans une cellule, une erreur telle qu’une erreur typographique se produise. Dans ce cas, un message d’erreur peut s’afficher après la cellule.
- Cliquez sur la seconde cellule et saisissez import ARCPY, puis cliquez sur le bouton Run (Exécuter).
Cette ligne de code provoque une erreur car il n’y a pas de module nommé ARCPY installé dans Python. La première ligne d’origine, import arcpy, s’exécute correctement. Essayer d’importer ARCPY (ou arcPy, ArcPy ou une variation autre que arcpy) échouera. Il s’agit d’un exemple illustrant comment la sensibilité à la casse peut affecter votre code dans Python. Les erreurs typographiques mineures qu’un être humain pourrait tolérer et comprendre provoqueront des erreurs dans le code Python.
Vous allez ensuite écrire du code pour créer un diagramme à partir de vos données. Vous allez utiliser la classe Chart à partir d’arcpy.
- Dans la seconde cellule, supprimez la ligne import ARCPY (importer ARCPY).
Vous allez remplacer le code de la seconde cellule par le code qui effectue essentiellement ce que vous feriez pour créer un diagramme à l’aide de l’interface utilisateur graphique ArcGIS Pro. Toutefois, lorsque vous créez un diagramme à l’aide de la classe arcpy.Chart, vous utilisez un ensemble de commandes Python pour spécifier les détails du diagramme au lieu de cliquer sur les éléments de l’interface utilisateur.
- Copiez et collez le code suivant dans la seconde cellule :
my_chart = arcpy.Chart('my_chart') my_chart.type = 'bar' my_chart.title = 'CoralandSpongeCatalina' my_chart.description = 'This chart shows the mean Slope values that correspond with the taxa in the CoralandSpongeCatalina layer.'
La première ligne (my_chart = arcpy.Chart('my_chart')) crée une variable et la définit comme égale à un nouvel objet appartenant à la classe Chart. Cet objet est nommé my_chart. Vous pouvez vous imaginer la classe Chart comme un modèle pour les diagrammes. Maintenant que vous avez créé un diagramme, vous devez en spécifier le type et les propriétés. Les lignes de code restantes effectuent cette tâche.
La ligne suivante (my_chart.type = 'bar') indique que le diagramme est un diagramme à barres. Elle définit la propriété de type du diagramme sur le type à barres. La notation my_chart.type accède à la propriété de type de my_chart et le signe égal est utilisé pour attribuer la valeur 'bar' à cette propriété. La classe d’objets Chart prend en charge divers types de diagramme, qui sont identifiés par nom (par exemple, diagramme à barres, linéaire et de dispersion). Ces noms sont spécifiés en tant que chaînes Python dans des guillemets doubles.
Les lignes suivantes, qui commencent par my_chart.title et my_chart.description, spécifient un titre et une description pour le diagramme. Le code effectue cela de la même manière que pour définir le type – en accédant aux propriétés de l’objet my_chart et en les définissant sur des valeurs de chaîne spécifiques. Dans ce cas, au lieu de saisir une description dans une zone de texte, vous avez ajouté une chaîne Python dans une ligne de code.
- Copiez et collez le code suivant dans le bas de la cellule :
my_chart.xAxis.field = 'VernacularNameCategory' my_chart.xAxis.aggregation = 'VernacularNameCategory' my_chart.xAxis.title = 'Name' my_chart.yAxis.field = 'Slope' my_chart.yAxis.title = 'Mean Slope' my_chart.bar.aggregation = 'MEAN'
Les trois lignes suivantes (qui commencent par my_chart.xAxis) spécifient le champ dans la couche qui sera utilisé pour l’axe X et indiquent comment les valeurs figurant dans cette colonne seront ajoutées. Pour ces deux lignes, VernacularNameCategory est un champ figurant dans la table attributaire de la couche CoralandSpongeCatalina et contenant les noms des différents coraux et des différentes éponges. Spécifier le champ VernacularNameCategory pour l’agrégation signifie que les valeurs sont groupées par les valeurs uniques figurant dans ce champ. Cela définit ensuite le titre de l’axe X sur Name (Nom) pour étiqueter cet axe en tant que corail et éponge.
Les deux lignes commençant par my_chart.yAxis et my_chart.bar.aggregation spécifient le champ, le titre et la méthode d’agrégation de l’axe Y. Elles utilisent le champ Slope (Pente) de la table de données et l’ajoutent à l’aide de la valeur moyenne. L’axe Y est étiqueté Mean Slope (Pente moyenne), car il affiche la valeur moyenne de la pente pour chaque groupe de coraux et d’éponges.
Remarque :
Si, lorsque vous avez exécuté l’outil Extract Multi Values to Points (Extraction de valeurs multiples vers des points), vous avez accepté les noms de champ en sortie par défaut, vous devez sélectionner la table attributaire de la couche CoralandSpongeCatalina et déterminer le nom du champ qui contient les valeurs de pente. Vous devez modifier la ligne my_chart.yAxis.field = 'Slope' pour inclure le nom de champ correct, si ce n’est pas Slope (Pente).
- Copiez et collez le code suivant dans le bas de la cellule :
my_chart.dataSource = 'CoralandSpongeCatalina' my_chart.addToLayer = 'CoralandSpongeCatalina'
Enfin, ces deux dernières lignes spécifient la couche sur la carte qui est la source des données et ajoutent le diagramme à la couche.
Remarque :
Si vous avez attribué à la couche un nom autre que CoralandSpongeCatalina, vous devez modifier cette ligne en fonction du nom de la couche.
La cellule est complète.
- Cliquez sur Run (Exécuter).
Le diagramme est créé, mais rien ne semble se produire. Pour afficher le diagramme, vous devez exécuter le code Python.
- Dans la nouvelle cellule suivante, copiez et collez le code suivant et cliquez sur Run (Exécuter) :
my_chart
Le diagramme est affiché en dessous de la cellule.
- Copiez et collez le code ci-dessous dans la cellule suivante :
outChartName = "CoralandSpongeCatalinaSlope.svg" outSVGPath = "C:/Lessons/DeepSeaCoralSponge/" + outChartName my_chart.exportToSVG(outSVGPath, width=1500, height=800)
Remarque :
Si vous avez créé le dossier de projet DeepSeaCoralSponge à un emplacement autre que C:/Lessons/DeepSeaCoralSponge/, modifiez le chemin d’accès dans la cellule en fonction du chemin d’accès sur votre ordinateur. Le chemin d’accès semblera peut-être étrange avec des barres obliques en tant que séparateurs. Python utilise le caractère \ comme caractère d’échappement. Ce caractère, combiné à d’autres caractères, pouvant signaler les sauts de ligne ou les tabulations, il est préférable d’utiliser la barre oblique pour ce chemin d’accès.
La première ligne de code (commençant par outChartName =) définit un nom de fichier, y compris l’extension, pour le fichier du diagramme. Le nom de fichier est une chaîne entre guillemets simples.
La deuxième ligne (outSVGPath =) définit une chaîne qui spécifie le chemin d’accès où ce fichier doit être enregistré. Le nom de fichier lui est ajouté à l’aide du signe +, qui permet de rattacher des chaînes de texte (on appelle cette opération concaténation) et d’ajouter des nombres dans Python.
La troisième ligne (my_chart.exportToSVG) appelle la méthode exportToSVG de l’objet de diagramme et lui fournit le chemin d’accès complet avec le nom de fichier, la largeur en pixels et la hauteur en pixels, entre parenthèses, en tant que paramètres.
- Exécutez la cellule.
Le fichier du diagramme est créé dans le dossier.
- Sur votre ordinateur, dans Microsoft File Explorer, accédez au dossier et ouvrez l’image du diagramme.
Le diagramme est plus grand que celui affiché dans le notebook car vous avez spécifié des dimensions différentes pour le diagramme en sortie.
- Fermez le diagramme après l’avoir inspecté.
Bien que cette approche semble nécessiter beaucoup d’efforts, en particulier par rapport au fait de cliquer sur l’interface d’ArcGIS Pro, utiliser du code apporte un avantage qui vous permet d’automatiser le processus. Dans la section suivante, vous apprendrez à transformer ce code en une fonction que vous pouvez appeler pour créer plusieurs diagrammes.
Créer une fonction de représentation en diagramme
Vous avez vu comment créer un diagramme unique à l’aide du code Python. Vous allez maintenant adapter ce code pour qu’il soit plus réutilisable. Vous allez créer une fonction Python vous permettant de créer plusieurs diagrammes.
- Copiez et collez le code ci-dessous dans la cellule suivante :
def coral_and_sponge_chart(layer, field):
Cette ligne commence par def. Cela indique à Python que vous définissez une nouvelle fonction. La partie suivante constitue le nom de la fonction, coral_and_sponge_chart. Les noms de fonction indiquent comment vous faites référence au bloc de code figurant dans la fonction lorsque vous souhaitez exécuter ce code. La partie suivante se trouve entre parenthèses. Il s’agit des paramètres que la fonction utilisera. Les paramètres sont des entrées dans une fonction qui sont traitées par la fonction pour produire un résultat. Cette fonction utilise une couche et un nom de champ en entrée. Elle crée un diagramme à barres pour ce champ. La ligne se termine par un deux-points. Cela indique que les lignes suivantes constituent le bloc de code de la fonction.
- Appuyez sur la touche Entrée.
Lorsque vous appuyez sur Entrée après la ligne qui commence la définition de la fonction, la ligne suivante est mise en retrait par quatre espaces.
- Copiez et collez le code suivant dans la cellule :
my_chart = arcpy.Chart('MyChart') my_chart.type = 'bar'
Chacune de ces deux lignes est identique au code que vous avez utilisé pour créer le diagramme précédent, mais est mise en retrait par quatre espaces. Python utilise l’indentation pour regrouper les sections de code. Les lignes de bloc de code figurant dans cette fonction doivent toutes être mises en retrait par quatre espaces.
Ces lignes produisent un diagramme à partir de la classe Chart et indiquent que ce diagramme doit être un diagramme à barres.
- Appuyez sur Entrée et copiez et collez le code suivant dans la cellule, après la ligne chart.type :
my_chart.title = layer
Cette ligne commence comme la ligne suivante du code d’origine de votre diagramme, mais au lieu de spécifier le titre du diagramme en tant que chaîne spécifique, elle indique que le titre doit être égal au paramètre de couche en entrée. Cela signifie que le titre du diagramme en sortie correspond au nom de sa couche, quelle que soit cette couche.
- Copiez et collez le code suivant dans la cellule, après la ligne my_chart.title :
my_chart.description = f'This chart shows the mean {field} values that correspond with the taxa in the {layer} layer.'
Cette ligne est similaire à la ligne figurant dans le code d’origine de votre diagramme, mais présente quelques différences. La première différence est que, au lieu de définir la description comme étant égale à une chaîne spécifique, cette ligne la définit comme étant égale à une chaîne f (chaîne formatée). Les chaînes formatées sont des chaînes dans lesquelles vous pouvez substituer des valeurs. Elles commencent par f, puis un guillemet. Le f indique à Python qu’il s’agit d’une chaîne formatée.
La deuxième différence est que, au lieu de définir la description de sorte qu’elle comprenne le texte the mean Slope values (les valeurs Pente moyennes), le code est écrit en tant que the mean {field} values Selon vous, quelle est la signification de cela ?
Comme il s’agit d’une chaîne f, le code {field} est remplacé par le nom de champ issu des paramètres en entrée de la fonction. Il en va de même pour la fin du code qui comprend in the {layer} layer. {layer} est remplacé par le nom de la couche. Ainsi, la description du diagramme en sortie correspond aux noms de la couche et du champ en sortie.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
my_chart.xAxis.field = 'VernacularNameCategory' my_chart.xAxis.aggregation = 'VernacularNameCategory' my_chart.xAxis.title = 'Name'
Ces trois lignes sont identiques aux lignes du code d’origine de votre diagramme mais sont mises en retrait par quatre espaces afin de faire partie du bloc de code. La fonction trace des barres pour chacune des valeurs du champ VernacularNameCategory de la couche en entrée et nomme l’axe X du diagramme Name.
Cette ligne échoue et provoque une erreur si vous exécutez la fonction sur une couche dépourvue du champ VernacularNameCategory. Toutefois, comme tous les points CoralandSpongeLocations possèdent ce champ, elle fonctionne, quelle que soit la zone d’étude que vous choisissez.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
my_chart.yAxis.field = field my_chart.yAxis.title = 'Name'
Ici, le code définit les propriétés de l’axe Y.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
my_chart.bar.aggregation = 'MEAN'
Cette ligne est identique à la ligne figurant dans votre code d’origine. En raison de cette ligne, les barres affichent les valeurs moyennes dans le champ en entrée de chacun des types de corail et d’éponge.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
my_chart.dataSource = layer my_chart.addToLayer = layer
Ces lignes sont similaires aux lignes du code d’origine de votre diagramme mais, au lieu de définir la source de données et d’ajouter le diagramme à une couche nommée spécifique (CoralandSpongeCatalina dans le code d’origine), elle effectue cette opération pour la couche en entrée de la fonction. Si vous aviez créé un autre sous-ensemble de points de corail et d’éponge pour une zone d’étude différente (par exemple, autour d’Hawaï ou au large de l’Alaska), ajouté les valeurs de pente, d’aspect et de bathymétrie à ce sous-ensemble et nommé le sous-ensemble différemment, la fonction opérerait encore pour créer un diagramme et l’associer à la couche en entrée.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
outChartName = layer + field + ".svg" outSVGPath = "C:/Lessons/DeepSeaCoralSponge/" + outChartName my_chart.exportToSVG(outSVGPath, width=1500, height=800)
Ces lignes sont similaires aux lignes figurant dans votre code d’origine. La ligne outChartName crée un nom pour le diagramme en concaténant le nom de la couche et le nom du champ qui sont transmis à la fonction. Si vous aviez créé une couche pour une zone d’étude en Alaska, le nom du diagramme en sortie refléterait le nom de cette couche.
Remarque :
Si vous avez créé le dossier de projet DeepSeaCoralSponge à un emplacement autre que C:/Lessons/DeepSeaCoralSponge/, modifiez le chemin d’accès afin qu’il corresponde au chemin d’accès sur votre ordinateur.
- Dans la même cellule, commencez une nouvelle ligne et copiez et collez le code suivant :
return my_chart
L’instruction de retour opère pour que la fonction renvoie l’objet de diagramme au code qui appelle la fonction.
Le bloc de code permettant de créer le diagramme suivant est complet.
La première ligne, qui définit la fonction, doit commencer à la colonne la plus à gauche, et chaque ligne qui suit doit être mise en retrait par quatre espaces.
def coral_and_sponge_chart(layer, field): my_chart = arcpy.Chart('MyChart') my_chart.type = 'bar' my_chart.title = layer my_chart.description = f'This chart shows the mean {field} values that correspond with the taxa in the {layer} layer.' my_chart.xAxis.field = 'VernacularNameCategory' my_chart.xAxis.aggregation = 'VernacularNameCategory' my_chart.yAxis.field = field my_chart.xAxis.title = 'Name' my_chart.yAxis.title = field my_chart.bar.aggregation = 'MEAN' my_chart.dataSource = layer my_chart.addToLayer = layer outChartName = layer + field + ".svg" outSVGPath = "C:/Lessons/DeepSeaCoralSponge/" + outChartName my_chart.exportToSVG(outSVGPath, width=1500, height=800) return my_chart
- Cliquez sur Run (Exécuter).
La cellule devrait s’exécuter mais sans rien renvoyer.
Remarque :
Si des messages d’erreur apparaissent, copiez et collez le bloc de code entier dans la cellule et exécutez-le. Assurez-vous de mettre à jour le chemin d’accès à la variable outSVGPath vers un chemin d’accès réel sur votre ordinateur, à l’aide de barres obliques.
Pourquoi ce code ne renvoie-t-il aucune donnée lorsque vous exécutez la cellule ?
Il définit une fonction, mais celle-ci doit être exécutée, ou appelée, par un autre code Python.
- Dans la cellule vide suivante, copiez et collez le code suivant :
coral_and_sponge_chart()
- Exécutez la cellule.
Un message d’erreur apparaît.
Il indique qu’il manque à la fonction deux arguments de position requis : layer et field. La fonction a besoin de ces valeurs pour s’exécuter correctement.
- Remplacez le contenu de la cellule par le code suivant et cliquez sur Run (Exécuter) :
coral_and_sponge_chart('CoralandSpongeCatalina', 'Slope')
Le diagramme s’affiche dans le notebook et un fichier graphique .svg du diagramme est créé dans le dossier que vous avez spécifié. Ce fichier porte le même nom que la sortie du premier code mais, si vous l’examinez, vous constaterez qu’il possède une valeur Date Modified (Date de modification) mise à jour.
Vous obtenez le même résultat qu’avec le premier bloc de code. Toutefois, vous disposez à présent d’une fonction à laquelle vous pouvez transmettre un nom de couche et un nom de champ, et vous obtiendrez un diagramme différent.
- Dans la cellule suivante, copiez et collez le code suivant et cliquez sur Run (Exécuter) :
myList = ['Slope', 'Aspect', 'Bathymetry']
- Dans la cellule suivante, copiez et collez le code suivant et cliquez sur Run (Exécuter) :
print(myList)
Dans Python, les listes apparaissent entre crochets et permettent de stocker un groupe d’objets, délimités par des virgules. Dans ce cas, la liste myList contient trois chaînes, avec les noms des champs Slope, Aspect et Bathymetry.
Si, lorsque vous avez exécuté l’outil Extract Multi Values to Points (Extraction de valeurs multiples vers des points), vous avez accepté les noms de champ en sortie par défaut, vous devez sélectionner la table attributaire de la couche CoralandSpongeCatalina, déterminer les noms de champ, modifier les valeurs de myList pour qu’elles correspondent et exécuter de nouveau cette cellule afin de réinitialiser les valeurs myList.
- Dans la cellule suivante, copiez et collez le code suivant et cliquez sur Run (Exécuter) :
for envField in myList: outChart = coral_and_sponge_chart('CoralandSpongeCatalina', envField)
Cette cellule contient un nouveau code Python, une boucle for. Une boucle for vous permet de passer dans une boucle, ou d’itérer, une séquence d’articles. La première ligne indique que la boucle passe par chaque élément dans myList et l’attribue à une variable temporaire envField. Le deux-points indique que la section suivante est le bloc de code de la boucle for. La ligne suivante est mise en retrait par quatre espaces, comme les lignes de la définition de fonction were. Les lignes mises en retrait dans un bloc de boucle for s’exécutent toutes pour chaque cycle, ou itération, de la boucle.
Dans ce cas, le bloc de code ne contient qu’une seule ligne. Ce bloc de code ressemble beaucoup à la ligne que vous avez exécutée pour tester la fonction coral_and_sponge_chart précédemment. Il crée une variable et en définit la valeur comme égale à l’exécution de la fonction coral_and_sponge_chart sur la couche CoralandSpongeCatalina mais, au lieu de spécifier également le champ Slope, il exécute la fonction sur le nom de champ qu’il obtient de la variable envField. Comme la liste contient trois champs, la boucle s’exécute trois fois et crée un diagramme pour chacun de ces trois champs.
- Dans l’File Explorer de votre ordinateur, accédez au dossier que vous avez spécifié dans la définition de la fonction.
Un diagramme devrait s’afficher pour chacun des attributs. Ces fichiers en sortie peuvent être utilisés dans des présentations, ajoutés à un récit à l’aide d’ArcGIS StoryMaps ou placés dans une mise en page de carte dans ArcGIS Pro.
Cette opération est un peu plus rapide que de créer les trois diagrammes manuellement. Supposons que vous disposez de six variables environnementales différentes avec lesquelles vous avez enrichi les points de corail et d’éponge. Vous pouvez établir une liste de ces valeurs de champ et appeler la fonction afin de créer un diagramme pour chacune d’entre elles presque aussi rapidement que vous avez créé les trois diagrammes.
Supposons que vous disposez de cinq zones d’étude et souhaitez créer des diagrammes de toutes les valeurs pour chaque zone d’étude. Puisque la fonction utilise également le nom de la couche comme paramètre, vous pourriez établir une liste de tous les noms de couche, créer une boucle for qui passe par ces noms, puis, dans cette boucle for, appeler la boucle que vous venez de créer.
Le code pour effectuer cette opération est le suivant :
myLayersList = ['CoralandSpongeCatalina'] # You would add comma separated layer names in # quotation marks to the myLayersList, such as: # ['CoralandSpongeCatalina', 'CoralandSpongeAlaska', 'CoralandSpongeHawaii'] myList = ['Slope', 'Aspect', 'Bathymetry'] # You could add comma separated field names to the list for lyrName in myLayersList: # outer loop, iterate over the layer names in the list for envField in myList: # inner loop, iterate over the field names for that layer outChart = coral_and_sponge_chart(lyrName, envField)
Avec 6 variables et 5 zones d’étude, vous pourriez créer 30 diagrammes aussi rapidement qu’en créer 3.
- Dans la cellule suivante, copiez et collez le code suivant et cliquez sur Run (Exécuter) :
outChart
Vous avez vu que trois diagrammes étaient créés par la boucle. Pourquoi un seul s’affiche-t-il lorsque vous exécutez cette cellule ?
La variable outChart est réinitialisée sur le nouveau diagramme dans chaque cycle de la boucle. Lorsque la boucle se termine, la variable est affectée au diagramme créé dans le dernier cycle. Un problème courant survenant lors de l’écriture de fichiers en sortie à partir de boucles est que vous vous attendez à plusieurs sorties mais n’en obtenez qu’une seule. La raison à cela est souvent que le nom de fichier en sortie est le même dans chaque cycle de la boucle. Le résultat est produit pour chaque cycle mais, parce que le nom est le même, le même fichier est remplacé à chaque cycle. Votre fonction coral_and_sponge_chart contourne ce problème en créant le nom de fichier à partir des variables en entrée.
outChartName = layer + field + ".svg"
Ce problème peut se résoudre par d’autres manières. L’une d’entre elles est d’inclure une variable counter dans la boucle et de la concaténer avec le nom de fichier en sortie, avec pour résultat outfile_1, outfile_2, outfile_3, etc. Une autre consiste à ajouter l’heure actuelle au nom de fichier, ce qui fonctionne bien sauf si le temps de traitement de chaque cycle est très court. Une autre encore consiste à créer un identifiant unique et à l’ajouter au nom de fichier, bien que cela produise des noms de fichier longs et susceptibles d’induire en erreur.
- Enregistrez le projet.
Conseil :
Pour tenter un autre défi, essayez de choisir une autre zone d’intérêt et de créer un ensemble de diagrammes en suivant les étapes de ce didacticiel.
Dans ce didacticiel, vous avez appris à télécharger les données de bathymétrie et de corail et d’éponge à partir du portail de l’Agence américaine d’observation océanique et atmosphérique (NOAA ou National Oceanic and Atmospheric Administration). Vous avez appris à projeter les données sur un système de coordonnées planaires approprié à des fins d’analyse raster. Vous avez appris à créer une zone d’intérêt, à dériver les couches de pente et d’aspect pour cette zone d’intérêt et à ajouter ces informations aux attributs de corail et d’éponge. Vous avez appris à utiliser Python pour créer un diagramme et à définir une fonction pour automatiser la production de plusieurs diagrammes. Vous pouvez utiliser ces techniques pour analyser les données de corail et d’éponge à plusieurs endroits dans le monde.
Vous trouverez d’autres didacticiels dans la bibliothèque des didacticiels.