Exemple de service de géotraitement : polygones de temps de conduite

Complexité : Intermédiaire Exigences relatives aux données : ArcGIS Tutorial Data Setup Chemin des données : C:\ArcGIS\ArcTutor\GP Service Examples\DriveTimePolygons Objectif : Créez, publiez et utilisez un service de géotraitement qui génère des polygones en fonction du temps de conduite autour de points.

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

  • SanFranciscoBaseMap (service de carte)
  • DriveTimePolygonsService (service de géotraitement)

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

Network Analyst

A remarquer

Démontre les étapes de base nécessaire à l'exécution des workflows d'analyse de réseau.

A propos de cet exemple

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.

Exemple de sortie à partir de la tâche Calculer les polygones de temps de conduite
Exemple de sortie à partir de la tâche Calculer les polygones de temps de conduite

Données

Les données de cet exemple se trouvent dans C:\arcgis\ArcTutor\GP Service Examples\DriveTimePolygons.

Contenu du dossier DriveTimePolygons
Contenu du dossier 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.

Fond de carte de San Francisco indiquant l'étendue du jeu de données réseau
Fond de carte de San Francisco indiquant l'étendue du jeu de données réseau

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

Générer une couche de zones de desserte

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.

Ajouter des localisations

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

Rechercher

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.

Sélectionner des données

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)

Eléments du modèle
Modèle Calculer les polygones de temps de conduite

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.

  1. Générer une couche d'analyse de réseau.
  2. Ajoutez des emplacements à une ou plusieurs classes d'analyses de réseau
  3. Calculez la couche d'analyse de réseau
  4. 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.

Utilisation d'une couche de jeu de données réseau
Utilisation d'une couche de jeu de données réseau

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.

Paramètres de l'outil Générer une couche de zones de desserte
Paramètres de l'outil Générer une couche de zones de desserte

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.

Utilisation d'un jeu d'entités pour les ressources en entrée
Utilisation d'un jeu d'entités pour les ressources en entrée

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 :

  1. Créez la couche d'outils.
  2. Cliquez avec le bouton droit sur la couche d'outils, puis cliquez sur Ouvrir. La boîte de dialogue de l'outil s'ouvre.
  3. 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 :

  1. 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.
  2. Cliquez sur l'onglet Symbologie.
  3. 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.

  4. 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 :

  1. Dans la fenêtre Catalogue, cliquez avec le bouton droit sur SanFranciscoBaseMap.mxd, puis cliquez sur Publier sur un serveur ArcGIS.
  2. Acceptez toutes les valeurs par défaut.
  3. 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.
  4. Cliquez sur Suivant.
  5. 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.
    Publication de DriveTimePolygonsService
    Publication de DriveTimePolygonsService
  6. 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

  1. Démarrez ArcMap avec un document vide.
  2. Créez, le cas échéant, une connexion utilisateur à ArcGIS Server à partir de la fenêtre Catalogue.
  3. Ajoutez le service de carte SanFranciscoBaseMap à la table des matières d'ArcMap.
  4. 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.
    Tâche Calculer les polygones de temps de conduite dans une session ArcMap
  5. 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.

    Tâche complétée
    Tâche complétée
  6. Examinez le résultat de la tâche dans la fenêtre Résultats d'ArcToolbox, comme illustré ci-dessous.
    Résultats de la tâche
    Résultats de la tâche

Rubriques associées


3/6/2012