Skip To Content

Didacticiel : Publication d'un service KML

Complexité : IntermédiaireExigences en matière de données : Utiliser vos propres donnéesObjectif : Créer une carte et la publier sur ArcGIS Server en tant que service KML.

Vous pouvez diffuser un service KML de manière dynamique sur le web en publiant un service de carte ArcGIS Server avec la fonctionnalité KML activée. Un client peut ainsi se connecter au service de carte et demander des données KML pour une zone géographique spécifique. Le service KML peut être exposé par l’intermédiaire des opérations REST Generate Map (Générer la carte), Generate KML (Générer des données KML) et Query (Requête) ; du lien View in ArcGIS Earth (Afficher dans : ArcGIS Earth) dans le répertoire des services ArcGIS ; ou d’un document de liaison réseau KML qui contient une URL correctement configurée vers le service.

Ce didacticiel vous invite à découvrir la procédure de création d’un service KML à l’aide d’entités 3D extrudées. Vous utilisez tout d’abord ArcGlobe afin de créer un fichier de couches avec propriétés d’extrusion 3D. Vous ajoutez ensuite la couche dans ArcMap afin de définir la symbologie des couches et de configurer le texte descriptif qui sera associé aux entités de votre service KML. Puis, vous publiez la carte en tant que service avec la fonctionnalité KML activée. Enfin, vous créez un lien réseau KML sur votre serveur afin que d'autres puissent facilement accéder au service KML.

Avant de commencer ce didacticiel

Si vous venez d'installer ArcGIS Server, vous devez réaliser certaines étapes préparatoires avant de pouvoir vous connecter au serveur et publier des services.

Préparation des données dans ArcGlobe et ArcMap

Pour publier des classes d’entités avec des attributs 3D, tels que des décalages de coordonnée z ou une extrusion basée sur des attributs, vous devez d’abord modifier les propriétés de la couche de classe d’entités dans ArcGlobe, les enregistrer sous la forme d’un fichier de couches, puis ajouter ce fichier à un document ArcMap. La procédure ci-dessous vous explique comment appliquer l'extrusion dans ArcGlobe et enregistrer un fichier de couches correspondant qui pourra être utilisé ultérieurement dans ArcMap.

  1. Démarrez ArcGlobe et ajoutez une classe d'entités.
  2. Dans la Table des matières (Table of Contents), cliquez avec le bouton droit sur la couche concernée, puis cliquez sur Properties (Propriétés).
  3. Cliquez sur l’onglet Globe Extrusion (Extrusion du globe).
  4. Cochez les options Extrude features in layer (Extruder les entités de la couche) et Do not draw bottom face of extruded polygons (Ne pas afficher la face inférieure des polygones extrudés). Choisissez également d’appliquer l’extrusion en l’ajoutant à la hauteur minimale de chaque entité (adding it to each feature’s base height).
  5. Cliquez sur l’onglet Globe Extrusion (Extrusion du globe) dans ArcGlobe.
  6. Définissez une Valeur ou expression utilisée pour l’extrusion (Extrusion value or expression). Ce paramètre détermine à quelle distance les entités apparaissent sur la carte. Vous pouvez ouvrir le générateur d’expressions Calculateur si vous avez besoin d’aide pour créer l’expression. Dans ce cas, les entités surfaciques sont extrudées en multipliant la valeur de l’attribut POP10_SQMI par 250 (POP10_SQMI *250), puis en ajoutant cette valeur à la hauteur de base de l’entité. Il s’agit ici d’une valeur arbitraire retenue pour l’apparence seulement. Il vous faudra peut-être tester votre expression afin d'obtenir l'apparence que vous souhaitez.

    Entités extrudées dans ArcGlobe

  7. Une fois que l’extrusion est définie pour la couche et qu’elle semble tridimensionnelle, cliquez avec le bouton droit sur la couche et sélectionnez l’option Save as Layer File (Enregistrer comme fichier de couches).
  8. Maintenant que les propriétés 3D ont été définies pour les données, il est temps de définir les propriétés de la couche 2D. Ouvrez ArcMap et cliquez sur Add Data (Ajouter des données).
  9. Accédez au fichier de couches (.lyr) que vous venez d’enregistrer à partir d’ArcGlobe, puis cliquez sur Add (Ajouter). La couche n’apparaît pas en 3D dans ArcMap, mais elle apparaîtra en 3D lorsque vous l’afficherez dans ArcGIS Earth.
  10. Définissez les propriétés de la couche en cliquant avec le bouton droit sur la couche et en sélectionnant Properties (Propriétés) dans le menu contextuel.
  11. Cliquez sur l’onglet General (Général), réglez la Plage d’échelle (Scale Range) de la couche, puis entrez une description. Cette description sera utilisée pour la couche KML affichée dans les clients KML et pourra contenir tout code HTML valide.
  12. Facultativement, cliquez sur l’onglet Display (Affichage) et modifiez la transparence de la couche. Une légère transparence permet aux utilisateurs de voir jusqu'au fond de carte au-dessous.
  13. Facultativement, cliquez sur l’onglet Symbology (Symbologie) et modifiez les propriétés de rendu. Un remplissage dégradé subtil peut vous aider à distinguer les entités 3D adjacentes.
  14. Cliquez sur l’onglet Fields (Champs) et définissez les champs qui doivent être accessibles par l’intermédiaire du service de carte. Vous pouvez également modifier tout champ de la classe d’entités afin d’utiliser l’alias KMLSnippet. Les valeurs du champ que vous modifiez en vue d'utiliser l'alias KMLSnippet s'afficheront sous l'icône de chaque entité dans la table des matières d'un client KML.
  15. Vous pouvez éventuellement déterminer les ensembles de définitions ou les jointures et relations que vous souhaitez appliquer aux données. Pour ce faire, utilisez les onglets Definition Query (Ensemble de définitions) et Joins & Relates (Jointures/relations), respectivement.
  16. Vous pouvez éventuellement cliquer sur l’onglet Labels (Étiquettes) et définir l’étiquetage à appliquer. Le langage KML respecte les expressions de couleur, de taille et d’étiquette des entités ponctuelles. Il ne prend en revanche pas en charge l'étiquetage des lignes ou polygones.
  17. Cliquez sur l’onglet HTML Popup (Fiche HTML) et cochez l’option Show content for this layer using the HTML Popup tool (Afficher le contenu pour cette couche à l’aide de l’outil Fiche HTML). Sélectionnez ensuite l’une des options de mise en forme. Cette option détermine la description KML de chaque entité ou, en d’autres termes, le contenu qui s’affiche dans l’info-bulle d’information lorsque vous cliquez sur une entité. Vous pouvez ajouter de la fantaisie à une description à l’aide du langage HTML, JavaScript ou de feuilles de style ou, si vous souhaitez simplement effectuer quelques essais, vous pouvez sélectionner l’option par défaut afin d’afficher la mise en forme HTML As a table of the visible fields (Comme table des champs visibles).
  18. Cliquez sur OK pour ignorer les propriétés de calque, puis enregistrez votre document ArcMap en cliquant sur File (Fichier) > Save (Enregistrer).

Publication du service KML

Une fois la carte terminée, vous devez la publier sous forme d’un service de carte. Le service de carte peut générer le service KML, à condition que sa fonctionnalité KML soit activée, ce qui est le cas par défaut.

  1. Dans ArcMap, sélectionnez File (Fichier) > Share As (Partager en tant que) > Service dans le menu principal.
  2. Dans la fenêtre Partager en tant que service, sélectionnez Publier un service. Cliquez sur Next (Suivant).
  3. Dans la boîte de dialogue Publish a Service (Publier un service), cliquez sur Connect to ArcGIS Server (Connecter à ArcGIS Server) Ajouter un serveur ArcGIS pour créer une connexion à ArcGIS Server.
  4. Dans la fenêtre Ajouter un serveur ArcGIS, sélectionnez Publier les services SIG. Cliquez sur Next (Suivant).
  5. Pour le type Server URL (URL du serveur), tapez l’URL du site ArcGIS Server auquel vous souhaitez vous connecter (par exemple, https://gisserver.domain.com:6443/arcgis).
  6. Dans la liste déroulante Type de serveur, sélectionnez ArcGIS Server.
  7. Au cours du processus de publication, un fichier de définition de service est créé et stocké temporairement sur un disque local. A l'issue du processus, la définition de service est chargée sur le serveur et le fichier local est supprimé. Dans le cadre de ce didacticiel, acceptez le dossier par défaut et poursuivez.
  8. Si votre administrateur de serveur a activé la sécurité d’ArcGIS Server, entrez votre nom d’utilisateur (User Name) et votre mot de passe (Password). Cliquez sur Finish (Terminer).
  9. Facultativement, dans la fenêtre Publish a Service (Publier un service), entrez un nouveau nom pour le service. Le nom ne doit pas dépasser 120 caractères et ne peut contenir que des caractères alphanumériques et des traits de soulignement. Cliquez sur Next (Suivant).
  10. Par défaut, les services sont publiés sur le dossier racine (racine) d'ArcGIS Server. Les services peuvent être organisés dans des sous-dossiers du dossier racine. Choisissez le dossier où vous souhaitez publier le service, ou créez un dossier pour contenir le service. Cliquez sur Continuer.
  11. L'Editeur de services s'affiche. Dans l’Éditeur de services, sélectionnez les opérations que les utilisateurs peuvent effectuer sur le service KML. Vous pouvez contrôler en détails la manière dont le serveur exposera votre service KML. Cliquez sur l'onglet Fonctionnalités.
  12. Par défaut, Cartographie et KML sont activés. Dans le volet gauche de l’Éditeur de services, cliquez sur KML et modifiez les propriétés suivantes :
    • Sélectionnez les opérations autorisées pour le service KML. Pour obtenir une description de chaque opération, consultez la rubrique Prise en charge de KML dans ArcGIS Server.
    • Définissez la manière de limiter le KML renvoyé par le service KML. Les options KML Compatibility Mode (Mode de compatibilité KML) vous permettent de déterminer si seuls les sous-ensembles ciblés de la fonctionnalité doivent être inclus si le service est principalement destiné à être utilisé avec Google Earth, Google Maps ou Google Mobile. Ce paramètre peut accroître les performances.
    • Définissez la manière de limiter les entités renvoyées par le service KML, la taille d'image en sortie et la résolution client en sortie.
    • Limitez la fréquence à laquelle un client peut demander un service à l’aide des options Use NetworkLinkControl Tag (Utiliser la balise NetworkLinkControl).
    Conseil :

    Pour plus d’informations sur la procédure de configuration au mieux du service KML aux fins de déploiement, reportez-vous à la rubrique Optimisation et configuration des services.

  13. Cliquez sur AnalyseAnalyser. Cette fonction examine la carte pour voir si elle peut être publiée sur le serveur.
    Conseil :

    Pour agrandir la zone d’affichage lors de la configuration du service KML, cliquez sur le bouton Collapse (Réduire) Réduire en haut de la fenêtre Service Editor (Éditeur de services).

  14. Corrigez les erreurs éventuellesErreur dans la fenêtre Préparation avant de publier. Vous pouvez éventuellement traiter les avertissements et les messages informationnels pour améliorer davantage la performance et l’apparence du service KML. Pour plus d'informations sur la résolution de ces problèmes, reportez-vous à la rubrique Analyse de votre ressource SIG.
    Remarque :

    Vous pouvez enregistrer les dossiers et les géodatabases sur votre site ArcGIS Server et ainsi vous assurer que le serveur puisse reconnaître et utiliser vos données. Si vous effectuez les étapes suivantes, toutes les données référencées par votre carte qui proviennent d'un dossier ou d'une géodatabase non enregistré seront copiées sur le serveur au moment de la publication. Il s'agit d'une mesure de précaution visant à s'assurer que le serveur peut accéder à toutes les données utilisées par le service. Pour obtenir les instructions complètes d'inscription d'un dossier ou d'une géodatabase auprès de votre site ArcGIS Server, reportez-vous à la rubrique Inscription de vos données auprès d'ArcGIS Server à l'aide d'ArcGIS Desktop.

  15. Dans l'éditeur de services, vous pouvez également cliquer sur AperçuAperçu. Cela peut vous donner une idée de l'apparence de votre carte sur le Web. Reportez-vous à la rubrique Aperçu d'une carte pour plus d'informations.
  16. Une fois les erreurs résolues dans votre document ArcMap, cliquez sur PublierPublier.
  17. Votre service est désormais publié. Vous pouvez le prévisualiser en développant le nœud GIS Servers (Serveurs SIG) de la fenêtre Catalog (Catalogue) et en faisant glisser le service dans la table des matières (Table of Contents) de ArcMap.

Analyse des opérations REST KML exposées dans le répertoire des services ArcGIS Server

Par défaut, chaque serveur ArcGIS Server présente un répertoire des services, qui vous permet d’explorer les services et d’interagir avec eux à l’aide de l’architecture REST. Utilisez le répertoire des services pour vous entraîner à interagir avec votre service KML.

  1. Ouvrez un navigateur Web et accédez au répertoire des services, dont l’URL est généralement https://gisserver.domain.com:6443/arcgis/rest/services.
  2. Dans la liste des services, cliquez sur le nom de votre service KML. Si le service ne figure pas dans la liste, il peut être dans un dossier.
  3. Cliquez sur le lien View Footprint In: ArcGIS Earth (Afficher l’emprise dans : ArcGIS Earth) pour ouvrir un document KMZ affichant une superposition terrestre de votre service. Ou, si votre service est mis en cache, une super-superposition compatible avec les régions KML s’affiche. Notez que ce lien ne renvoie aucun vecteur.
  4. Revenez au Répertoire des services et cliquez sur une couche quelconque de votre service.
  5. Au bas de votre page, cliquez sur le lien Query (Requête). Un formulaire s’affiche, où vous pouvez préciser plusieurs paramètres pour interroger une couche. La dernière option correspond au format dans lequel vous souhaitez recevoir la réponse. Sélectionnez KMZ si vous souhaitez recevoir un document KMZ contenant les résultats de votre requête.
  6. Revenez sur la page de votre service dans le Répertoire des services.
  7. Au bas de la page, cliquez sur Generate KML (Générer le KML). Ce lien affiche un formulaire web dans lequel vous pouvez sélectionner les couches à renvoyer dans le KML. Vous pouvez également choisir de renvoyer dynamiquement des vecteurs de votre service en sélectionnant l’option Vector layers as vectors and raster layers as images (Les couches vectorielles en tant que vecteurs et les couches raster en tant qu’images).

Création d’un lien réseau à partir de votre service de carte

Vous pouvez rendre le KML accessible sur votre serveur dans un format convivial en créant un lien réseau KML dans ArcGIS Server Manager. Vous pouvez alors ajouter le lien réseau dans ArcGIS Earth, ArcGlobe, Google Earth ou Google Maps.

Remarque :

Avant d’ajouter le lien réseau dans Google Earth ou Google Maps, assurez-vous que votre service n’est pas sécurisé. Si le service nécessite une authentification avec des jetons ArcGIS, il ne peut pas être utilisé par ces plateformes.

  1. Ouvrez le gestionnaire et connectez-vous. Si vous avez besoin d’aide supplémentaire pour cette étape, reportez-vous à la rubrique Connexion au gestionnaire.
  2. Cliquez sur Services > KML Network Links (Liens réseau KML) > Create Network Link (Créer un lien réseau).
  3. Spécifiez le nom de votre lien. Le nom que vous spécifiez est utilisé comme nom de fichier et est incorporé à la balise Name dans le fichier de lien réseau.
  4. Vous pouvez éventuellement spécifier l’External Hostname (Nom d'hôte externe).
  5. Si vous le souhaitez, fournissez une description courte et longue. La description longue autorise l'emploi d'URL et de balises HTML intégrées.
  6. Vous pouvez éventuellement spécifier le comportement du snippet. Par défaut, les extraits ne sont pas configurés pour s’afficher. Cliquez sur Next (Suivant).
  7. Dans la liste déroulante Map Service (Service de carte), sélectionnez le service de carte que vous venez de publier. Sélectionnez également les couches à exposer par l'intermédiaire du lien réseau KML.
  8. Sélectionnez l’option permettant de dessiner Vector layers as vectors and raster layers as images (Les couches vectorielles en tant que vecteurs et les couches raster en tant qu’images). Vos entités extrudées étant des vecteurs, vous devez sélectionner cette option. Sinon, une image rastérisée aplatie s'affichera.
  9. Facultativement, réglez le mode de compatibilité par défaut sur un client Google particulier.
  10. Réglez les paramètres View-Based Refresh (Actualisation basée sur la vue), View Bound Scale (Échelle liée à la vue) et Time-Based Refresh (Actualisation temporelle), si vous le souhaitez. Vous pouvez également choisir de survoler la vue dans le navigateur lors de l’actualisation. Pour ce didacticiel, les options par défaut sont suffisantes. Cliquez sur Next (Suivant).
  11. Si vous le souhaitez, réglez les paramètres Latitude, Longitude, Range (Plage), Heading (En-tête) et Tilt (Inclinaison), selon le comportement souhaité pour l’affichage du lien réseau. Pour ce didacticiel, les options par défaut sont suffisantes.
  12. Cliquez sur Create (Créer) pour créer le lien réseau KML.

Lorsque vous revenez au module KML Network Links (Liens réseau KML) dans le Gestionnaire, l’URL de votre nouveau lien réseau s’affiche (par exemple : https://gisserver.domain.com:6443/arcgis/kml/networklink01.kmz). Cliquez sur cette URL ou copiez-la et collez-la pour ajouter votre lien réseau KML à ArcGIS Earth, ArcGlobe, Google Earth ou Google Maps.