Exemple de service de géotraitement : polygones de temps de conduite
Dossier |
DriveTimePolygons |
Objet |
Crée des polygones de temps de conduite autour de points en entrée pour les valeurs de temps de conduite données. |
Services |
|
Tâche Géotraitement |
Calculer les polygones de temps de conduite |
Entrées |
Un point numérisé et une liste de valeurs de temps de conduite en minutes séparées par des espaces |
Sorties |
Un polygone de temps de conduite correspondant à chaque valeur de temps de conduite en entrée pour tous les points |
Données |
Utilise un jeu de données de réseau de transport pour la zone de San Francisco fournie dans le dossier ToolData. |
Extensions |
|
A remarquer |
Démontre les étapes de base nécessaire à l'exécution des workflows d'analyse de réseau. |
Dossier correspondant
C:\arcgis\ArcTutor\GP Service Examples\DriveTimePolygons contient l'intégralité du modèle et des données.
A propos de la tâche Calculer les polygones de temps de conduite
La tâche Calculer les polygones de temps de conduite a essentiellement pour objectif de créer des polygones de temps de conduite autour de points spécifiés par l'utilisateur. Un polygone de temps de conduite désigne une zone qui comprend toutes les rues accessibles à partir d'un point donné dans un temps de conduite spécifié. Les polygones de temps de conduite permettent d'évaluer l'accessibilité d'un point en fonction d'autres entités. Par exemple, des polygones de temps de conduite d'une, deux et trois minutes autour de l'emplacement d'une épicerie permettent de déterminer les personnes susceptibles de faire leurs courses dans ce magasin.
Données
Les données de cet exemple se trouvent dans C:\arcgis\ArcTutor\GP Service Examples\DriveTimePolygons.
Jeu de données réseau
Le dossier ToolData contient une géodatabase fichier (SanFrancisco.gdb). Cette géodatabase comporte un jeu de données réseau (Streets_ND) dans le jeu de données d'entité Transport. Ce jeu de données réseau modélise le réseau de transport d'une zone de San Francisco. Il fournit un attribut de réseau (notamment TravelTime), qui indique la durée nécessaire pour parcourir chaque segment de rue en minutes.
Fond de carte
La couche de fond de carte se trouvant dans SanFranciscoBasemap.mxd possède une couche (Streets), comme indiqué ci-dessous. Cette couche affiche l'étendue du jeu de données réseau. Cela signifie que cette tâche permet uniquement de déterminer des polygones de temps de conduite dans cette étendue.
SanFranciscoBaseMap.mxd est publié en tant que service de carte.
Boîte à outils et carte
La boîte à outils de ce service de géotraitement est DriveTimePolygonsService, tandis que la carte source de ce service est DriveTimePolygonsService.mxd. DriveTimePolygonsService.mxd contient une couche de données sources (Streets_ND, qui est le jeu de données réseau).
Modèle
Vue d'ensemble des modèles
Le modèle Calculer les polygones de temps de conduite est illustré ci-dessous. Il existe deux variables en entrée :
- La variable Ressources en entrée constitue le centre des polygones de temps de conduite à générer. (Dans l'analyse de réseau, une ressource est tout emplacement fixe du réseau, tel qu'un bâtiment ou votre position actuelle.)
- La variable Valeurs de temps de conduite constitue une liste de valeurs de temps de conduite en minutes séparée par des espaces.
Le modèle crée une couche d'analyse de réseau pour les zones de desserte, ajoute les points numérisés par l'utilisateur comme ressources et effectue un calcul pour déterminer les polygones de temps de conduite.
Élément |
Type |
Description |
---|---|---|
Streets_ND |
Couche du jeu de données réseau |
La couche du jeu de données réseau. |
Valeurs de temps de conduite |
Chaîne, paramètre en entrée |
Liste de valeurs de temps de conduite en minutes séparée par des espaces |
Outil |
Crée une couche d'analyse de réseau pour les zones de desserte. Cette couche contient des données et des propriétés qui déterminent la manière dont seront calculées les zones de desserte, avec les résultats du calcul. |
|
Zone de desserte |
Couche d'analyse de réseau |
Couche de zones de desserte |
Ressources en entrée |
Jeu d'entités (points), paramètre en entrée |
Entités ponctuelles autour desquelles les polygones de temps de conduite sont déterminés. |
Outil |
Ajoute les points en entrée comme ressources à la couche de zones de desserte. |
|
Zone de desserte (2) |
Couche d'analyse de réseau |
Couche de zones de desserte avec ressources |
Outil |
Calcule les polygones de temps de conduite. |
|
Zone de desserte (3) |
Couche d'analyse de réseau |
Couche de zones de desserte contenant les polygones de temps de conduite calculés. |
SolveSucceeded | Booléen | Sortie dérivée de l'outil Rechercher qui indique si le calcul a réussi. |
Outil |
Sélectionne la sous-couche de polygones à partir de la couche de zone de desserte. |
|
Polygones |
Couche d'entités, paramètre en sortie |
Couche de polygones issue de la couche d'analyse de réseau de la zone de desserte (3) |
Workflow d'analyse de réseau
Ce modèle illustre le workflow en quatre étapes couramment utilisé pour effectuer différents types d'analyses de réseau.
- Générer une couche d'analyse de réseau.
- Ajoutez des emplacements à une ou plusieurs classes d'analyses de réseau
- Calculez la couche d'analyse de réseau
- Utilisez les résultats issus du calcul.
Utilisation de la couche réseau
Le jeu de données réseau de la zone de San Francisco est ajouté à la carte DriveTimePolygonsService.mxd en tant que couche réseau (Streets_ND). Cette couche est utilisée dans le modèle en tant que variable en entrée pour l'outil Générer une couche de zones de desserte. L'utilisation d'une couche réseau améliore considérablement le temps d'exécution global du modèle car la couche de réseau garde ouverte une connexion au jeu de données réseau. Sinon, si le jeu de données réseau est référencé à partir de son emplacement sur le disque, une connexion au jeu de données réseau est établie chaque fois que le modèle est exécuté, ce qui réduit les performances du service de géotraitement créé à l'aide du modèle.
Processus de modèle
L'outil Générer une couche de zones de desserte crée une couche Network Analyst (ServiceArea), qui stocke les propriétés d'analyse, référence la couche du jeu de données réseau Streets_ND utilisée pour l'analyse et stocke les ressources en entrée et les polygones en sortie. Le jeu de données réseau possède un attribut de coût de réseau nommé TravelTime, qui spécifie la durée nécessaire pour parcourir chaque segment de rue. Cet attribut est utilisé comme attribut d'impédance. Les valeurs de borne par défaut sont lues à partir de la variable Valeurs de temps de conduite sous la forme d'une liste de valeurs séparées par des espaces.
Pour ce service, l'option NO_MERGE a permis de créer des polygones superposés qui ne fusionnent pas pour chaque ressource. L'option RINGS permet de dessiner les polygones sous forme d'anneaux pour chaque valeur de temps de conduite. Les polygones obtenus englobent la zone de la borne précédente jusqu'à la valeur limite de la borne et excluent la zone des bornes les plus petites.
L'outil Ajouter des emplacements ajoute les points numérisés par l'utilisateur en tant que ressources à la couche de zones de desserte. Le paramètre Ressources en entrée est du type de données jeu d'entités, de sorte que le modèle puisse accepter interactivement les points numérisés par l'utilisateur en tant que ressources. La structure et la symbologie du jeu d'entités proviennent du fichier InputFacilities.lyr qui se trouve dans le dossier ToolData.
L'outil Rechercher calcule la zone de desserte en fonction des options spécifiées dans la couche de zones de desserte en entrée et génère les polygones de temps de conduite. Les polygones calculés sont écrits dans la sous-couche de polygones de la couche de zone de desserte en sortie.
Les couches Network Analyst ne sont pas des types de données de paramètre en sortie pris en charge pour les clients ArcGIS Server. L'outil Sélectionner des données permet donc de récupérer la sous-couche de polygones à partir de la couche de zones de desserte. La sous-couche de polygones est un type de données de couche d'entités.
Couche d'outils
Pour créer une couche d'outils Calculer les polygones de temps de conduite, faites glisser le modèle vers la table des matières d'ArcMap. Vous devez tester le modèle avant de le publier, comme suit :
- 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.
- Entrez un point et des distances de temps de conduite (1 2 3, par exemple) et cliquez sur OK.
Les polygones de temps de conduite sont ajoutés en tant que sous-couche à la couche d'outils.
La sortie du modèle Calculer les polygones de temps de conduite est une couche d'entités. Lorsqu'une couche d'entités ou une couche raster est sortie par un modèle, la couche en sortie est ajoutée à la couche d'outils en l'état ; la symbologie définie dans la sous-couche d'outils est donc ignorée. Vous pouvez tenter l'expérience suivante pour le vérifier :
- Après avoir ouvert et exécuté la couche d'outils, cliquez avec le bouton droit sur la sous-couche Polygones, puis cliquez sur Propriétés.
- Cliquez sur l'onglet Symbologie.
- Transformez la symbologie en symbole unique (un remplissage de polygones bleus, par exemple).
La sous-couche Polygones est maintenant dessinée avec une seule couleur au lieu de couleurs graduées.
- Ouvrez la couche d'outils et exécutez-la.
La sous-couche Polygones est redessinée avec des couleurs graduées.
Comme indiqué dans la rubrique Définition de la symbologie en sortie pour les tâches de géotraitement, lorsque qu'un modèle génère une couche, la symbologie de la couche prévaut sur la symbologie de couche d'outils. Ces règles s'expliquent par le fait que certains outils, comme Générer une couche de zones de desserte, effectuent des sorties de couches contenant une symbologie personnalisée. Pour conserver cette symbologie personnalisée, celle présente dans la sous-couche d'outils est ignorée. Si vous souhaitez modifier la symbologie des polygones de temps de conduite, le modèle Calculer les polygones de temps de conduite devra générer en sortie une classe d'entités au lieu d'une couche d'entités. Pour ce faire, il suffit d'ajouter l'outil Copier des entités au modèle, à l'aide de la variable Polygones en tant qu'entrée pour Copier des entités.
Publication
SanFranciscoBaseMap.mxd est publié en tant que service de carte. DriveTimePolygonsService.mxd est publié en tant que service de géotraitement sans service de carte obtenu, comme suit :
- Dans la fenêtre Catalogue, cliquez avec le bouton droit sur SanFranciscoBaseMap.mxd, puis cliquez sur Publier sur un serveur ArcGIS.
- Acceptez toutes les valeurs par défaut.
- Dans la fenêtre Catalogue, accédez à votre connexion administrateur de serveur sous le nœud Serveurs SIG, cliquez dessus avec le bouton droit, puis choisissez Ajouter un nouveau service. Nommez ce service DriveTimePolygonsService et sélectionnez Service de géotraitement comme type.
- Cliquez sur Suivant.
- Dans le volet suivant, sélectionnez Asynchrone comme Type d'exécution. Pour l'option Les outils présentés par le service de géotraitement sont stockés dans, choisissez Une carte et spécifiez DriveTimePolygonsService.mxd pour Carte. Comme vous allez tester votre service, cochez Afficher les messages.
- Cliquez sur Suivant. A partir de ce point, vous pouvez accepter les valeurs par défaut fournies par l'assistant et créer le service.
Utilisation
- Démarrez ArcMap avec un document vide.
- Créez, le cas échéant, une connexion utilisateur à ArcGIS Server à partir de la fenêtre Catalogue.
- Ajoutez le service de carte SanFranciscoBaseMap à la table des matières d'ArcMap.
- Dans la fenêtre Catalogue, sous votre nœud de connexion utilisateur Serveurs SIG, développez la boîte à outils DriveTimePolygonsService et double cliquez sur l'outil Calculer les polygones de temps de conduite pour l'ouvrir. Le résultat obtenu après avoir suivi cette procédure est illustré ci-dessous.
- Ajoutez un point pour créer une localisation de ressource. Spécifiez 2 3 4 comme valeurs de temps de conduite, puis cliquez sur OK pour exécuter la tâche.
Une fois la tâche exécutée, la table des matières contient la couche des polygones en sortie, comme illustré ci-dessous.
- Examinez le résultat de la tâche dans la fenêtre Résultats d'ArcToolbox, comme illustré ci-dessous.