Service de géotraitement pas à pas : bassin versant
Dossier |
Watershed |
Objet |
A l'aide de l'extension Spatial Analyst, ce service de base calcule un polygone de bassin versant. |
Services |
StoweBasemap (service de carte), StoweHydro (service de géotraitement) |
Tâches de géotraitement |
Créer un polygone de bassin versant |
Entrées |
L'utilisateur numérise un point de la zone d'étude. |
Sorties |
Polygone de bassin versant et un point d'écoulement capturé. |
Données |
Cet exemple utilise des données d'altitude numériques (raster) et d'autres données se trouvant dans le didacticiel Spatial Analyst. |
Extensions |
Spatial Analyst |
Dossier correspondant
C:\arcgis\ArcTutor\GP Service Examples\Watershed contient l'intégralité du modèle et des données. Après avoir complété toutes les étapes décrites ci-dessous, le contenu de ce dossier sera reproduit.
Préparation des données
Données
Les données de cet exemple se trouvent dans C:\arcgis\ArcTutor\Spatial Analyst. Les données portent sur la ville de Stowe, dans le Vermont. Le sommaire de cet emplacement est indiqué ci-dessous :
Créez un dossier Toolshare
- Lancez ArcCatalog.
- Créez un dossier nommé Watershed à l'emplacement de votre choix. Dans le dossier Watershed, créez un dossier ToolData et un dossier Scratch. Dans le dossier Scratch, créez une géodatabase fichier nommée Scratch.
- Copiez le contenu du dossier C:\arcgis\ArcTutor\Spatial Analyst dans ToolData.
Traitement des données
Pour ce service, vous devrez créer quatre nouveaux jeux de données raster, comme indiqué ci-dessous.
- Dem_fill est le résultat de l'exécution de l'outil Remplissage avec une altitude comme entrée.
- Hillshade est le résultat de l'exécution de l'outil Ombrage avec dem_fill comme entrée.
- Flowdir est le résultat de l'exécution de l'outil Direction de flux avec dem_fill comme entrée.
- Accumulation est le résultat de l'exécution de l'outil Accumulation de flux avec flowdir comme entrée.
Le modèle de cet exemple utilise un jeu d'entités. Vous aurez besoin d'une classe d'entités points à utiliser comme structure de jeu d'entités. Dans Stowe.gdb, créez une classe d'entités points nommée PourPoint.
- Pour le système de coordonnées, importez l'un des jeux de données figurant dans le dossier ToolData.
- Utilisez les valeurs par défaut de la tolérance XY et du mot clé de configuration.
Fond de carte
Le fond de carte contient trois couches : Occupation du sol (raster landuse), Ombrage (raster hillshade) et Routes (classe d'entités Stowe.gdb/roads). Vous devez créer une carte contenant ces couches. Nommez le document ArcMap StoweBasemap.mxd.
La couche Ombrage est dessinée avec une transparence de 55 %. Pour modifier cette transparence, cliquez avec le bouton droit sur la couche Ombrage, sélectionnez Propriétés, cliquez sur l'onglet Affichage, puis modifiez la transparence.
Une fois StoweBasemap.mxd créé et enregistré, publiez-le comme service de carte sur votre serveur.
- Dans la fenêtre Catalogue, cliquez avec le bouton droit sur StoweBasemap.mxd et cliquez sur Publier sur un serveur ArcGIS.
- Dans le premier volet, nommez le service StoweBasemap (valeur par défaut).
- Cliquez sur Suivant.
- La seule fonction dont vous avez besoin est Cartographie. Toutes les autres fonctions sont facultatives pour ce service.
- Cliquez sur Suivant.
- Cliquez sur Terminer.
Vous pouvez tester le service StoweBasemap en lançant ArcMap avec un document vide, puis ajoutez le service en cliquant sur Ajouter des données , en accédant au serveur et en sélectionnant StoweBasemap.
Boîte à outils et carte
- Dans le dossier Stowe, créez une boîte à outils nommée StoweHydro.
- Lancez ArcMap avec un nouveau document et ajoutez les rasters accumulation et flowdir à la table des matières, en renommant respectivement les couches Accumulation de flux et Direction de flux. Ajoutez la classe d'entités PourPoint que vous avez créée ci-dessus.
- Vous pouvez également modifier la symbologie de PourPoint en signe plus rouge, comme illustré ci-dessous.
Les couches Direction de flux et Accumulation de flux seront utilisées dans la tâche publiée, mais elles ne seront jamais affichées à l'utilisateur. Par conséquent, la symbologie de ces couches importe peu.
Définissez l'espace de travail temporaire d'environnement de géotraitement sur le dossier, comme suit :
- Dans ArcMap, cliquez sur Géotraitement > Environnements.
- Développez la catégorie Paramètres de l'espace de travail.
- Entrez le chemin d'accès à l'espace de travail temporaire que vous avez créé ci-dessus (par exemple, E:\Watershed\Scratch).
- Acceptez le changement en cliquant sur OK.
- Enregistrez la carte sous StoweHydro.mxd.
Créer le modèle.
Le modèle Créer un polygone de bassin versant reçoit en entrée un point fourni par l'utilisateur. Un polygone de bassin versant est généré pour chaque point en entrée. De plus, les points fournis par l'utilisateur seront alignés par rapport aux cellules d'accumulation de flux la plus élevée à l'aide de l'outil Capture des points d'écoulement. Les points capturés seront également générés.
Etant donné que ces modèles utilisent des couches dans la carte, vous pouvez créer ces modèles dans ArcMap à l'aide de la carte StoweHydro.
Le modèle Créer un polygone de bassin versant est illustré ci-dessous :
Etapes de création du modèle
- Dans la fenêtre Catalogue, cliquez avec le bouton droit sur la boîte à outils StoweHydro et choisissez Nouveau > Modèle.
ModelBuilder s'ouvre avec un nouveau modèle vide.
- Créez une variable avec le type de données Jeux d'entités, comme suit :
- Cliquez avec le bouton droit sur la zone d'affichage ModelBuilder, puis cliquez sur Créer une variable.
- Sélectionnez Jeu d'entités comme type de données.
- Cliquez sur OK.
- Renommez la variable en Point d'écoulement.
- Cliquez avec le bouton droit sur Point d'écoulement et cliquez sur Propriétés. Cliquez sur l'onglet Type de données. Pour définir la structure sur la couche Point d'écoulement, sélectionnez-la dans la liste déroulante.
- Cliquez avec le bouton droit sur Point d'écoulement et sélectionnez Paramètre du modèle. Une coche s'affiche en regard de Paramètre du modèle et un P s'affiche en regard de la variable Point d'écoulement.
- Ajoutez l'outil Capture des points d'écoulement au modèle en faisant glisser l'outil de la fenêtre ArcToolbox, Catalogue ou Rechercher vers le modèle.
- Cliquez avec le bouton droit sur Capture des points d'écoulement et générez une variable à partir du paramètre Distance de capture.
- Double-cliquez sur Distance de capture et définissez-la sur 250 mètres. Il n'est pas obligatoire de générer une variable de modèle Distance de capture, mais sa génération indique visuellement aux personnes qui affichent le modèle que la distance de capture est une variable importante.
- Double-cliquez sur Capture des points d'écoulement et définissez le paramètre de raster en entrée sur Point d'écoulement. Définissez, le cas échéant, le paramètre Champ de point d'écoulement sur ObjectID. Définissez le paramètre Raster d'accumulation en entrée sur la couche Accumulation de flux.
- Cliquez avec le bouton droit sur Capture des points d'écoulement et cliquez sur Générer une variable > Environnement de départ > Etendue de traitement > Etendue, comme illustré ci-dessous.
- Double-cliquez sur la variable Etendue et définissez-la sur Union des entrées.
- Renommez la sortie de Capture des points d'écoulement en Raster des points d'écoulement. Il s'agit d'une sortie intermédiaire qui est supprimée une fois le modèle exécuté. Cliquez avec le bouton droit sur Raster des points d'écoulement et cliquez sur Géré.
- Ajouter l'outil Raster vers points au modèle. Double-cliquez sur Raster vers points et définissez le paramètre Raster en entrée sur Raster des points d'écoulement. Définissez le paramètre Entités points en sortie sur %scratchworkspace%\snapped_pour.shp.
- Renommez la variable en sortie Raster vers points en Point d'écoulement capturé en sortie.
- Cliquez avec le bouton droit sur Point d'écoulement capturé en sortie et convertissez-le en Paramètre du modèle.
- Ajoutez l'outil Bassin versant au modèle et utilisez la couche Direction de flux pour le paramètre Raster de direction de flux en entrée. Renommez la sortie de l'outil Bassin versant en Raster de bassin versant. Le raster de bassin versant est une sortie intermédiaire.
- Cliquez avec le bouton droit sur Raster de bassin versant et cliquez sur Géré.
- Ajoutez l'outil Raster vers polygones au modèle. Définissez le paramètre Raster en entrée en Raster de bassin versant. Définissez le paramètre Entités polygones en sortie en %scratchworkspace%\Watershed.shp.
- Renommez la variable en sortie de l'outil Raster vers polygones en Bassin versant en sortie.
- Cliquez avec le bouton droit sur Bassin versant en sortie et convertissez-le en Paramètre du modèle.
- Dans le menu principal de ModelBuilder, cliquez sur Modèle > Propriétés du modèle.
- Définissez Nom sur CreateWatershedPolygon.
- Définissez Etiquette sur Créer un polygone de bassin versant.
- Cochez Enregistrer le chemin relatif.
- Enregistrez et fermez le modèle.
Création de fichiers de couches de symbologie
Dans cette prochaine série d'étapes, vous créerez des fichiers de couches à utiliser comme symbologie en sortie pour votre tâche.
- Dans la fenêtre Catalogue, double-cliquez sur l'outil Créer un polygone de bassin versant pour ouvrir sa boîte de dialogue. La boîte de dialogue suivante s'affiche :(L'ordre des paramètres de la boîte de dialogue de l'outil dépend de l'ordre dans lequel vous avez défini les paramètres de modèle de variables. Vous pouvez modifier l'ordre des paramètres dans les propriétés de l'outil de modèle.)
- Cliquez sur Ajouter une entité () pour ajouter un point d'écoulement. L'emplacement utilisé pour le point d'écoulement doit être situé dans une vallée et non au sommet d'une montagne où aucun écoulement n'est possible. L'illustration suivante montre le résultat de l'exécution de l'outil Créer un polygone de bassin versant :
Dans l'illustration ci-dessus, notez que le polygone de bassin versant en sortie est en bleu et que le point d'écoulement capturé est un petit point. (Votre symbologie peut être différente.) Dans la procédure suivante, vous allez créer une meilleure symbologie, enregistrer cette symbologie en tant que fichier de couches (.lyr), puis utiliser ces fichiers de couches pour définir la symbologie de vos variables en sortie.
- Ouvrez les propriétés de la couche snapped_pour et sélectionnez une croix rouge comme symbole.
- Ouvrez les propriétés de la couche Watershed et sélectionnez un bleu clair comme symbole de remplissage.
- Cliquez avec le bouton droit sur snapped_pour, cliquez sur Enregistrer comme fichier de couche et enregistrez-le sous Stowe\ToolData\snapped_pour.lyr.
- Cliquez avec le bouton droit sur Watershed, cliquez sur Enregistrer comme fichier de couche et enregistrez-le sous Stowe\Tooldata\Watershed.lyr.
- Modifiez le modèle Créer un polygone de bassin versant.
- Cliquez avec le bouton droit sur la variable Point d'écoulement capturé en sortie, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés, cliquez sur l'onglet Symbologie des couches et définissez la couche de symbologie sur snapped_pour.lyr.
- Suivez la même procédure pour la variable Bassin versant en sortie, en définissant la couche de symbologie sur watershed.lyr.
- Enregistrez et fermez le modèle.
- Supprimez les couches snapped_pour et Watershed de la table des matières.
Pour en savoir plus sur la spécification de la symbologie à l'aide d'un fichier de couches
Créer une couche d'outils
- Si vous ne l'avez pas encore fait, supprimez les couches snapped_pour et Bassin versant de la table des matières.
- Pour créer la couche d'outils, faites glisser l'outil Créer un polygone de bassin versant vers la table des matières d'ArcMap. Votre couche d'outils peut s'afficher avec ou sans sous-couches, comme illustré ci-dessous. Les sous-couches s'affichent si les sorties d'outil existent au moment où vous créez la couche d'outils.
- Cliquez avec le bouton droit sur la couche d'outils, puis cliquez sur Ouvrir. La boîte de dialogue de l'outil s'ouvre. Ajoutez un point d'écoulement à l'aide du contrôle de jeu d'entités et exécutez l'outil. Une fois l'outil exécuté, les deux sous-couches figurant dans la table des matières d'ArcMap sont actualisées et leur symbologie correspond à celle définie dans les couches de symbologie que vous avez créées ci-dessus.
- Enfin, supprimez la couche PourPoint, car elle n'est plus nécessaire. Vous devez d'abord enregistrer la couche dans un fichier de couches pour une réutilisation ultérieure.
- Enregistrez la carte sous StoweHydro.mxd et quittez ArcMap.
Publier le service
Au cours des étapes précédentes, vous avez publié le service de carte StoweBasemap. Vous allez maintenant publier le service de géotraitement StoweHydro. Le service StoweHydro contient la tâche Créer un polygone de bassin versant.
- Dans la fenêtre Catalogue, accédez à votre serveur, cliquez dessus avec le bouton droit et sélectionnez Ajouter un nouveau service. Nommez le service StoweHydro et sélectionnez Service de géotraitement comme type.
- Cliquez sur Suivant.
- Choisissez StoweHydro.mxd comme source pour votre service de géotraitement, comme illustré ci-dessous. Comme vous allez tester votre service, cochez la case Afficher les messages. Dans un environnement de production, vous pouvez désactiver les messages.
- Cliquez sur Suivant. A partir de ce point, vous pouvez accepter les valeurs par défaut fournies par l'assistant.
Utiliser le service
- Démarrez ArcMap avec un document vide.
- Ajoutez le service de carte StoweBasemap à la table des matières d'ArcMap à partir de votre connexion ArcGIS Server.
- Développez le service de géotraitement StoweHydro à partir de la connexion ArcGIS Server et ouvrez l'outil Créer un polygone de bassin versant.
- Ajoutez un point à l'outil Créer un polygone de bassin versant à l'aide d'un contrôle de jeu d'entités, puis cliquez sur OK pour exécuter la tâche. Une fois la tâche exécutée, la table des matières doit contenir les deux couches en sortie, comme illustré ci-dessous :
- Examinez les résultats de la tâche dans la fenêtre Résultats, comme illustré ci-dessous :