Suite

Service de géotraitement ArcGIS utilisant les données du service de carte pour l'entrée


J'aimerais créer un service de géotraitement dans ArcGIS Server (10.2) qui utilise un service de carte existant en entrée. J'ai essayé de le faire avec un modèle ModelBuilder, mais il copie les données de service de carte existantes dans mon service GP.

Plus précisément, ce que je fais est d'utiliser une couche d'unité de carte des sols NRCS et d'intersecter une couche de limite de champ agricole. La couche de sol et la couche de champ agricole sont publiées avec un autre processus.

Aucun des exemples de services GP d'ESRI ne montre l'utilisation de services de carte existants comme entrées, à moins que quelque chose ne me manque.


La réponse pour moi était de regarder http://blogs.esri.com/esri/arcgis/2013/10/10/quick-tips-consumer-feature-services-with-geoprocessing/ puis de créer des scripts Python qui extraient directement ce qui est nécessaire hors de moi les services de carte.

Vous trouverez ci-dessous un exemple qui s'exécute sur un serveur ArcGIS sur mon bureau. Il fait ce que Select by Attribute ferait autrement. Dans ce cas, il s'agit de sélectionner une limite de champ agricole par son nom. La limite de champ s'exécute en tant que service d'entités et les utilisateurs dessinent les limites à l'aide de JSAPI Edit Dijit.

J'espère qu'ESRI ajoutera des outils plus standard qui feraient directement ce genre de chose. Peut-être en 10.4, puisque 10.3 est déjà sorti cette semaine…

# SelectFieldByName.py # Obtenir un ensemble de fonctionnalités de serveur ArcGIS # input # 0: FeatureService URL # 1: Field Name # output # Feature Set # Historique des modifications # dhh 15Dec2014 Original import arcpy import os import sys import traceback import urllib # Obtenir les paramètres fsBaseURL = arcpy.GetParameterAsText(0) fieldName = arcpy.GetParameterAsText(1) où = urllib.quote(r"Name='{}'".format(fieldName)) fields = '*' jeton ="# Requête REST de la requête mapservice = r"/query?where={}&outFields={}&returnGeometry=true&f=json&token={}".format(où, champs, jeton) fs = arcpy.FeatureSet() fsURL = fsBaseURL + requête arcpy.AddMessage("Chargement {}.".format(fsURL)) fs.load(fsURL) arcpy.AddMessage("Chargé {} terminé.".format(fsURL, fs.JSON)) arcpy.SetParameter(2, fs);

Lorsque vous travaillez avec un site ArcGIS Server autonome, vous pouvez transformer vos outils de géotraitement en services de géotraitement et les utiliser dans ArcGIS Pro . Une fois qu'un service a été publié avec succès, d'autres utilisateurs d'ArcGIS Server peuvent également l'utiliser, si vous le partagez avec eux.

Pour créer un service de géotraitement, vous créez et documentez généralement un outil de géotraitement à l'aide de ModelBuilder ou Python. Vous n'avez pas besoin de créer votre propre outil, mais vous pouvez également utiliser l'un des nombreux outils inclus dans ArcGIS.

Une fois que vous avez créé un outil, vous devez d'abord l'exécuter dans ArcGIS Pro et l'outil doit se terminer avec succès. Lorsque l'outil a fini de s'exécuter, il peut être partagé. Le partage crée l'élément de service de géotraitement dans la connexion au serveur. Vous pouvez ajouter plusieurs outils que vous avez exécutés au même service de géotraitement lors de la publication.


Publier un service de carte avec une transformation géographique personnalisée

Des transformations géographiques personnalisées sont effectuées dans ArcGIS Desktop pour transformer les données cartographiques d'un système de coordonnées géographiques (GCS) ou d'un système de référence vers un autre. Si la carte que vous avez l'intention de publier inclut une transformation géographique personnalisée, vous devez vous assurer que tous les fichiers nécessaires à la transformation sont accessibles à ArcGIS Server .

Suivez ces étapes lors de la publication d'une carte avec une transformation personnalisée :

  1. Exécutez l'outil de géotraitement Créer une transformation géographique personnalisée dans ArcMap ou dans ArcGIS Pro . La sortie de cet outil est un fichier .gtf enregistré dans le dossier ESRI<ArcGIS product>ArcToolboxCustomTransformations du dossier Application Data de votre profil utilisateur. Ce dossier est créé par l'outil s'il n'existe pas. Si le dossier Application Data est en lecture seule ou masqué, la sortie est créée dans ArcToolboxCustomTransformations sous le dossier temporaire de l'utilisateur.
  2. Si votre transformation nécessite des fichiers de prise en charge, tels qu'un fichier Grid Shift Binary ( .gsb ), copiez-les dans le dossier pedata de votre lecteur d'installation ArcGIS Desktop. Sinon, si vous avez installé le composant ArcGIS Coordinate Systems Data, copiez vos fichiers dans le dossier CoordinateSystemsData > pedata. Dans les deux cas, accédez au sous-dossier de pedata , nommé pour la méthode que vous avez utilisée pour créer la transformation personnalisée (par exemple, ntv2 ) et collez-y vos fichiers copiés.
  3. Si vous avez copié des fichiers de prise en charge dans le dossier Desktop pedata à l'étape 2, copiez-les à nouveau dans le dossier pedata du répertoire d'installation d'ArcGIS Server. Comme précédemment, recherchez le dossier dans pedata correspondant à votre méthode de transformation et collez-y les fichiers.
  4. Lors de la préparation d'une carte pour publication, assurez-vous que la transformation personnalisée est utilisée dans la carte. Si la carte contient des couches qui utilisent à la fois les systèmes de coordonnées géographiques en entrée et en sortie de la transformation personnalisée, assurez-vous que la transformation est active :
    • Dans ArcMap , cliquez avec le bouton droit sur votre bloc de données dans le panneau Table des matières , puis ouvrez ses propriétés . Sélectionnez l'onglet Système de coordonnées, puis cliquez sur le bouton Transformations. Vérifiez que votre transformation personnalisée est sélectionnée.
    • Dans ArcGIS Pro , cliquez avec le bouton droit sur votre carte dans le panneau Contenu, ouvrez ses propriétés , puis cliquez sur Transformation . Vérifiez que votre transformation personnalisée est sélectionnée.

Si vous ne prévoyez pas d'avoir des couches qui utilisent le GCS d'entrée et de sortie de votre transformation personnalisée dans la même carte, ajoutez une couche qui utilise le GCS qui ne sera pas dans la carte finale, définissez la transformation personnalisée, puis supprimez la couche. La transformation sera alors stockée avec la carte.

Votre service de carte ou votre carte Web inclura la transformation géographique personnalisée appliquée à vos données SIG. Cela inclut le traitement en temps réel lorsque vous effectuez un zoom et un panoramique sur la carte.


Vous pouvez spécifier que votre service de géotraitement doit s'exécuter en mode synchrone ou asynchrone. En mode asynchrone, il y a un léger surcoût supporté par le serveur, ce qui signifie que les tâches asynchrones s'exécutent rarement en moins d'une seconde. L'exécution de la même tâche en mode synchrone est environ un dixième de seconde plus rapide que son exécution en mode asynchrone.

Tout logiciel qui traite les données fonctionne plus rapidement lorsque l'ensemble de données est petit. Il existe plusieurs façons de réduire la taille de vos données géographiques :

  • Supprimez les attributs inutiles sur vos données de projet avec l'outil Supprimer le champ.
  • Les entités linéaires et surfaciques ont des sommets qui définissent leur forme. Chaque sommet est une coordonnée x,y. Il se peut que vos entités aient plus de sommets qu'elles n'en ont besoin, ce qui augmente inutilement la taille de votre jeu de données.
    • Si vos données proviennent d'une source externe, elles peuvent contenir des sommets en double ou des sommets si proches les uns des autres qu'ils ne contribuent pas à la définition de l'entité.
    • Le nombre de sommets ne correspond pas à l'échelle d'analyse. Par exemple, vos fonctionnalités contiennent des détails appropriés à grande échelle, mais votre analyse ou présentation est à petite échelle.

    Utilisez l'un des deux workflows suivants pour déployer le fichier .gtf. La première option est la plus simple et la plus directe si vous n'avez pas d'accès direct à votre machine serveur. La deuxième option de copie manuelle des fichiers peut nécessiter l'assistance de votre administrateur réseau si vous n'avez pas accès à votre machine ArcGIS for Server.

    Publiez l'outil Créer une transformation géographique personnalisée en tant que service. L'exécution du service publié créera et déploiera le fichier dans le répertoire approprié pour vous.

    1. Dans ArcGIS for Desktop , exécutez Créer une transformation géographique personnalisée pour créer un fichier .gtf. Même si vous disposez déjà d'un fichier .gtf préexistant, vous devez toujours exécuter cette étape pour obtenir un résultat pouvant être publié en tant que service de géotraitement.
    2. Publiez le résultat de l'étape 1 en tant que service de géotraitement. Vous pouvez coder en dur les paramètres d'entrée ou les laisser comme paramètres configurables.
    3. Exécutez la tâche de géotraitement nouvellement publiée. Ne modifiez aucun des paramètres d'entrée. Ils seront définis avec les mêmes valeurs par défaut que lors de l'exécution initiale de l'outil à partir d'ArcMap . Lorsque vous exécutez le service de géotraitement, le fichier .gtf est écrit dans le dossier %appdata%RoamingESRIServer10.xArcToolboxCustomTransformations du compte d'utilisateur du serveur.
    4. Vous pouvez supprimer le service après l'avoir exécuté une fois. Les tâches de géotraitement suivantes auront désormais accès au fichier .gtf que vous avez créé.

    Copiez manuellement le fichier .gtf sur la machine serveur à partir de votre machine locale.

    1. Recherchez le fichier .gtf sur votre ordinateur local. Voir la section ci-dessus sur la création d'un fichier de transformation géographique personnalisé qui explique les emplacements possibles où ce fichier peut être enregistré. Généralement, sous Windows, il s'agit de C:Users<USERNAME>AppDataRoamingESRIDesktop10.XArcToolboxCustomTransformations .
    2. Sur la machine serveur, recherchez le dossier ArcToolboxCustomTransformations pour le compte d'utilisateur exécutant le service ArcGIS for Server. Généralement, sous Windows, il s'agit de C:Users<ArcGIS Server Account Name>.<Server Name>AppdataRoamingESRIServer10.XArcToolboxCustomTransformations . Sur un système Unix, ce chemin serait généralement /<AGS_InstallDir>/framework/runtime/.wine/drive_c/users/<AGS_InstallAccount>/Application Data/ESRI/Server10.X/ArcToolbox/CustomTransformations .
    3. Copiez le fichier de l'emplacement de l'étape 1 vers l'emplacement de l'étape 2.

    Utiliser des tâches de géotraitement dans l'API ArcGIS pour JavaScript

    À l'aide de ces quatre étapes, vous pouvez ajouter avec succès une fonctionnalité de géotraitement à l'aide de l'API ArcGIS pour JavaScript .

    Étape 1 : Initialiser la tâche de géotraitement

    Pour initialiser une tâche de géotraitement, vous devez connaître l'URL de la tâche. Le modèle d'URL de tâche de géotraitement est https://<arcgis-host>/<gpservicename>/GPServer/<gptask-name> . Ajoutez le code ci-dessous à votre application JavaScript pour initialiser une tâche de géotraitement.

    Lors de l'initialisation, veillez à définir la propriété outSpatialReference de l'instance de tâche de géotraitement sur la référence spatiale de la carte Web. Les jeux de données des tâches de géotraitement peuvent se trouver dans une référence spatiale différente et, par conséquent, leurs sorties peuvent également se trouver dans une référence spatiale différente. Cependant, les applications Web supposent que les sorties de la tâche sont dans la même référence spatiale que celle de la carte. Cela peut provoquer un comportement inattendu lors du dessin des sorties. Par conséquent, vous devez définir la propriété de référence spatiale en sortie de la tâche de géotraitement. Le serveur renverra des sorties dans la référence spatiale spécifiée par la propriété outSpatialReference.

    Initialiser la tâche de géotraitement

    Étape 2 : Configurer les paramètres de la tâche

    Lors de l'exécution d'une tâche de géotraitement, l'application Web doit fournir les valeurs des paramètres de la tâche de géotraitement. Pour connaître les exigences des paramètres d'une tâche, copiez et collez l'URL de la tâche dans la barre d'adresse d'un navigateur Web pour ouvrir la page Tâche du répertoire des services. La page Tâche répertorie tous les paramètres de tâche et leurs types de données. La page des tâches a également une URL d'aide où vous pouvez trouver plus d'informations sur la fonctionnalité de géotraitement, l'accès et l'utilisation.

    • Valeurs saisies par l'utilisateur à l'aide de l'application Web
    • Valeurs de l'une des couches d'entités de la carte Web ou des couches graphiques actuelles
    • Les résultats d'autres tâches telles que les requêtes, les tâches de routage, etc.
    • Résultats d'autres tâches de géotraitement

    Le code JavaScript ci-dessous montre un exemple de création d'entités d'entrée, un paramètre GPFeatureRecordsetLayer à partir d'un FeatureLayer qui est ajouté à la carte Web et la création de buffDistance , un paramètre GPLinearUnit dérivé d'une entrée de texte dojo avec un id="distance" . Il est supposé que l'utilisateur entrera de manière interactive la valeur de distance. Une fois les paramètres de tâche créés, une construction JSON, avec des paires nom-valeur des paramètres, est construite et envoyée au serveur.

    Les paramètres GPFeatureRecordSetLayer et GPRecordSetLayer ont un schéma par défaut défini par la tâche. Vous pouvez trouver le schéma des paramètres dans la page Tâche. Un schéma d'un GPFeatureRecordSetLayer se compose d'une géométrie, d'une référence spatiale, de champs et d'entités. C'est une bonne pratique de s'assurer que les paramètres GPFeatureRecordSetLayer ont toutes les propriétés telles que définies dans le schéma pour des résultats réussis.

    Étape 3 : Exécutez la tâche

    Pour exécuter une tâche, vous devez utiliser la méthode execute ou submitJob de l'instance de géoprocesseur ( gpTask ) en fonction de l'opération prise en charge de la tâche de géotraitement. Vous pouvez trouver l'opération prise en charge de la tâche dans la page Tâche. Opération de tâche : exécuter et Opération de tâche : les rubriques submitJob expliquent la différence entre les opérations et la communication serveur et client pour l'opération.

    Opération de tâche : exécuter

    Si l'opération prise en charge de la tâche est Exécuter la tâche, vous devez utiliser la méthode d'exécution de l'instance de géoprocesseur et transmettre les paramètres. Vous devez définir des gestionnaires d'événements qui dirigeront l'application sur les requêtes réussies et échouées. L'événement onExecuteComplete est déclenché lorsque la tâche s'exécute avec succès et renvoie le résultat et les messages de géotraitement. L'événement onError est déclenché lorsqu'une exécution de tâche échoue. Lorsque la tâche échoue, le serveur renvoie une instance d'erreur avec le code d'erreur HTML et les messages de géotraitement, le cas échéant.

    Opération de tâche : submitJob

    Si l'opération prise en charge de la tâche est l'opération submitJob, vous devez utiliser la méthode Geoprocessor.submitJob et transmettre les paramètres. Dans le cas de submitJob , trois événements sont déclenchés et ils doivent être gérés de manière appropriée dans l'application Web.

    Lorsque l'état actuel du travail est reçu

    Lorsque le travail est terminé avec succès

    • onStatusUpdate : Contrairement à execute , dans le cas de submitJob , le serveur crée un travail et attribue un jobId . Les opérations submitJob n'informent pas le client lorsqu'une tâche est terminée. Il appartient donc au client de vérifier auprès du service pour déterminer l'état de la tâche. Les applications Web, par défaut, envoient des demandes d'état au serveur toutes les secondes pour déterminer l'état de la tâche. Chaque fois que la réponse d'état est reçue, l'événement onStatusUpdate est déclenché. Vous pouvez augmenter ou diminuer l'intervalle de vérification d'état via la méthode Geoprocessor.setUpdateDelay si nécessaire. L'événement onStatusUpdate est déclenché à chaque fois que l'état du travail est vérifié. Le gestionnaire d'événements reçoit une instance JobInfo contenant l'ID de la tâche, l'état de la tâche et tout GPMessage renvoyé par le serveur. Vous pouvez utiliser ces informations pour suivre la progression de la tâche.
    • onJobComplete : Lorsque JobInfo.jobStatus = STATUS_SUCCEEDED , l'événement onJobComplete est déclenché. Les résultats ne sont pas automatiquement renvoyés au client lorsque l'opération est terminée, mais sont plutôt stockés sur le serveur et le client doit envoyer une demande pour les récupérer. Dans le gestionnaire d'événements onJobComplete, vous pouvez appeler la méthode Geoprocessor.getResultData et obtenir les résultats. Chaque paramètre de sortie est une ressource indépendante et la méthode getResultData de l'instance de géoprocesseur doit être appelée pour chaque paramètre de sortie de la tâche. Vous devez fournir le jobId renvoyé par le gestionnaire d'événements et le nom du paramètre de sortie dans la méthode getResultData. Vous devez également créer un gestionnaire d'événement pour l'événement onGetResultDataComplete. L'événement onGetResultDataComplete est déclenché lorsque la valeur de résultat du paramètre de sortie est reçue par l'application Web.
    • une erreur : L'événement onError est déclenché lorsqu'une demande submitJob ou une demande de statut expire ou si les tâches de géotraitement ont échoué. L'événement renverra une instance d'erreur avec le code d'erreur HTML.

    Étape 4 : Rendu du résultat

    Les résultats d'une tâche de géotraitement sont rendus en fonction du type de données du paramètre de sortie.

    Les entités en sortie sont généralement dessinées sur la carte Web en tant que couche graphique pour afficher le résultat du géotraitement.

    Les enregistrements de sortie sont affichés dans une grille ou les valeurs sont utilisées pour créer des tableaux et des graphiques.

    Les rasters en sortie peuvent être téléchargés mais ne peuvent pas être dessinés sur la carte. Cependant, vous pouvez utiliser un service de carte de résultats pour visualiser les données raster.

    Les fichiers de sortie peuvent être téléchargés ou des fichiers tels que .gpx et .csv peuvent être traités par l'application Web.

    GPBoolean , GPDataFile , GPLong , GPDouble , GPSstring , GPLinearUnit , GPDate

    Les sorties sont affichées à l'aide de HTML ou d'autres widgets.

    Résultats du gestionnaire d'événements onExecuteComplete

    Dans le cas de l'opération d'exécution, l'événement onExecuteComplete renvoie les résultats et les messages de la tâche de géotraitement. L'instance de résultats est un tableau de tous les paramètres de sortie de la tâche, et les entrées du tableau sont toujours dans l'ordre indiqué dans la page Tâche. Par conséquent, les valeurs des paramètres peuvent être identifiées par leur position dans le tableau. Chaque paramètre de sortie du tableau a un nom de paramètre, son type de données et sa valeur. Le code ci-dessous montre comment accéder au premier paramètre de sortie dans les résultats. Dans le code ci-dessous, le paramètre de sortie est connu pour être une sortie GPFeatureRecordSetLayer et, par conséquent, le code montre comment le rendre en tant que couche graphique et l'ajouter à l'application Web.

    Rendu des résultats du gestionnaire d'événements onExecuteComplete

    Résultats du gestionnaire d'événements onGetResultDataComplete

    L'événement onGetResultDataComplete fournit une instance de résultat. Contrairement aux résultats de l'événement onExecuteComplete, l'instance de résultat n'aura des valeurs que pour le paramètre demandé. Le résultat du paramètre aura le nom, le type de données et la valeur du paramètre demandé. La valeur du paramètre est extraite du résultat et utilisée selon les besoins. Le code ci-dessous montre le rendu des résultats d'un paramètre GPFeatureRecordSetLayer à partir d'une instance de résultat de paramètre.


    Entrée de données simple, sortie de données simple

    Un service SIG doit fonctionner avec le plus simple de tous les clients : un navigateur Web s'exécutant sur un ordinateur qui n'a aucune capacité SIG. Ces clients simples ne savent que comment envoyer des paquets de données simples à un serveur, tels que du texte, des nombres, des tableaux et des entités géographiques et leurs attributs. Ces clients ne connaissent pas les représentations de données géographiques plus avancées que vous utilisez dans ArcGIS Desktop , telles que les jeux de données réseau, les topologies, les TIN, les classes de relations, les réseaux géométriques, etc. Ces jeux de données sont appelés jeux de données complexes, ils modélisent des relations complexes entre des entités simples. Les jeux de données complexes ne peuvent pas être transportés sur Internet, seules des entités simples, des tables, des rasters et des fichiers peuvent être transportés.

    Lors de la création d'une tâche, vous devez savoir que tous les clients, qu'il s'agisse d'applications Web, d'Explorer for ArcGIS ou d'ArcGIS Desktop, savent uniquement comment envoyer et recevoir (transporter) ces jeux de données simples. Même si vous savez que votre service ne sera accessible que par des clients sophistiqués tels qu'ArcMap , vous êtes toujours limité à de simples données d'entrée lors de la création de vos tâches.

    Consultez la rubrique Modes d'entrée et types de données de paramètre pour plus d'informations sur les ensembles de données transportables et non transportables.


    Paramètres

    Accédez au service WCS d'entrée. Cet outil peut également accepter une URL qui fait référence au service WCS.

    Si une URL de serveur WCS est utilisée, l'URL doit inclure le nom de la couverture et les informations de version. Si seule l'URL est saisie, l'outil prendra automatiquement la première couverture et utilisera la version par défaut (1.0.0) pour créer la couche WCS.

    Un exemple d'URL qui inclut le nom et la version de la couverture est http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer?coverage=rasterDRGs&version=1.1.1 .

    Dans cet exemple, http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer? est l'URL. La couverture spécifiée est cover=rasterDRGs et la version est &version=1.1.1 .

    Pour obtenir les noms de couverture sur un serveur WCS, utilisez la demande WCS GetCapabilities. Un exemple de requête WCS est http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer?request=getcapabilities&service=wcs .

    Le nom de la couche WCS de sortie.

    L'étendue de sortie de la couche WCS.

    • Par défaut : l'étendue sera basée sur l'étendue maximale de toutes les entrées participantes. C'est la valeur par défaut.
    • Etendue d'affichage actuelle : l'étendue est égale au bloc de données ou à l'affichage visible. L'option n'est pas disponible lorsqu'il n'y a pas de carte active.
    • Comme spécifié ci-dessous : l'étendue sera basée sur les valeurs d'étendue minimale et maximale spécifiées.
    • Parcourir : l'étendue sera basée sur un jeu de données existant.

    Choisissez les bandes à exporter pour la couche. Si aucune bande n'est spécifiée, toutes les bandes seront utilisées dans la sortie.

    Le nom du service WCS d'entrée ou l'URL qui fait référence au service WCS.

    Si une URL de serveur WCS est utilisée, l'URL doit inclure le nom de la couverture et les informations de version. Si seule l'URL est saisie, l'outil prendra automatiquement la première couverture et utilisera la version par défaut (1.0.0) pour créer la couche WCS.

    Un exemple d'URL qui inclut le nom et la version de la couverture est http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer?coverage=rasterDRGs&version=1.1.1 .

    Dans cet exemple, http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer? est l'URL. La couverture spécifiée est cover=rasterDRGs et la version est &version=1.1.1 .

    Pour obtenir les noms de couverture sur un serveur WCS, utilisez la demande WCS GetCapabilities. Un exemple de requête WCS est http://ServerName/arcgis/services/serviceName/ImageServer/WCSServer?request=getcapabilities&service=wcs .

    Le nom de la couche WCS de sortie.

    L'étendue de sortie de la couche WCS.

    • MAXOF —L'étendue maximale de toutes les entrées sera utilisée.
    • MINOF —La zone minimale commune à toutes les entrées sera utilisée.
    • DISPLAY —L'étendue est égale à l'affichage visible.
    • Nom de la couche : l'étendue de la couche spécifiée sera utilisée.
    • Objet d'étendue : l'étendue de l'objet spécifié sera utilisée.
    • Chaîne de coordonnées délimitée par des espaces : l'étendue de la chaîne spécifiée sera utilisée. Les coordonnées sont exprimées dans l'ordre x-min, y-min, x-max, y-max.

    Choisissez les bandes à exporter pour la couche. Si aucune bande n'est spécifiée, toutes les bandes seront utilisées dans la sortie.


    Personnalisation du modèle de source du service de géotraitement

    L'exemple précédent utilise l'outil de modèle Extract Data Task de la boîte à outils Server. Ce modèle ne fait que définir des paramètres pour l'outil d'extraction de données. Si vous copiez l'outil de modèle dans une nouvelle boîte à outils personnalisée, il peut être ouvert dans ModelBuilder et modifié. Le modèle Extract Data Task contient les variables d'entrée Spatial Reference et Customized Spatial Reference Folder , qui ne sont pas exposées en tant que paramètres de modèle. La référence spatiale a une valeur par défaut, Identique à l'entrée , ce qui signifie que la référence spatiale des fichiers de sortie est la même que celle des couches d'entrée. Si vous souhaitez obtenir une référence spatiale des fichiers de sortie, qui est différente de celle des fichiers d'entrée, vous pouvez définir la référence spatiale comme paramètre d'entrée de sorte que lorsque la boîte de dialogue de l'outil de modèle est ouverte, une référence spatiale différente peut être spécifiée . La variable Custom Spatial Reference Folder est un paramètre facultatif qui vous permet de spécifier un chemin d'accès à un dossier contenant des références spatiales personnalisées et/ou standard.

    En plus des deux variables de référence spatiale, le paramètre Feature Format peut également être modifié pour contenir les formats supplémentaires dont vous avez besoin.

    Les étapes suivantes montrent comment personnaliser le modèle de tâche d'extraction de données en exposant la variable Référence spatiale en tant que paramètre, en ajoutant un chemin pour le dossier de référence spatiale personnalisé et en ajoutant de nouveaux formats de sortie pour le paramètre Format d'entité.

    Une boîte à outils nommée CustomSPRef.tbx contenant un modèle ExtractZionSPRef personnalisé se trouve dans C:arcgisArcTutorGP Service ExampleClipAndShip . La boîte à outils et le modèle sont le produit fini après avoir effectué les étapes suivantes.

    1. La première étape consiste à créer une nouvelle boîte à outils et un nouveau modèle. Dans Catalogue , copiez le dossier ClipAndShip de C:arcgisArcTutorGP Service Example dans un répertoire local.
    1. À partir de votre répertoire local dans lequel vous copiez les données et le modèle, ouvrez ClipAndShip.mxd .
    2. Dans la fenêtre Catalogue, cliquez sur Aller au dossier d'accueil bouton. Supprimez la boîte à outils CustomSPRef.tbx et le dossier SpatialReference.
    3. Cliquez avec le bouton droit sur le dossier Accueil et sélectionnez Nouvelle > Boîte à outils .
    4. Renommez la boîte à outils en CustomSPRef .
    1. Développez Boîtes à outils > Boîtes à outils système > Outils serveur.tbx > Extraction de données .
    2. Cliquez avec le bouton droit sur la tâche d'extraction de données et sélectionnez Copier .
    3. Cliquez avec le bouton droit sur CustomSPref.tbx que vous avez créé ci-dessus et sélectionnez Coller .

    Le modèle Extract Data Task est copié dans la boîte à outils.

    1. Dans la fenêtre Catalogue, cliquez avec le bouton droit sur le dossier Accueil. Créez un nouveau dossier en cliquant avec le bouton droit sur le dossier et en sélectionnant Nouveau > Dossier .
    2. Renommez le nouveau dossier SpatialReference .
    3. Dans le dossier Accueil, accédez à ToolData/Zion.gdb . Cliquez avec le bouton droit sur n'importe quelle classe d'entités dans la géodatabase et sélectionnez Propriétés pour ouvrir la boîte de dialogue Propriétés. Cliquez sur l'onglet Système de coordonnées XY.
    4. Développez le système de coordonnées projetées / State Plane / NAD 1983 (pieds américains) . Faites défiler la liste jusqu'à ce que vous trouviez NAD 1983 StatePlane Utah South FIPS 4303 (US Feet) .
    5. Cliquez avec le bouton droit sur NAD 1983 StatePlane Utah South FIPS 4303 (US Feet) et sélectionnez Enregistrer sous .
    6. Enregistrez le fichier de projection dans le nouveau dossier, SpatialReference , que vous avez créé à l'étape b ci-dessus. Enregistrez le fichier avec son nom par défaut NAD 1983 StatePlane Utah South FIPS 4303 (US Feet).prj .

    Le paramètre Référence spatiale apparaît en bas de la liste des paramètres.