Skip To Content

Didacticiel : Publication d'un service KML

Complexité : IntermédiaireConditions requises pour les 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 Générer la carte, Générer des données KML et Requête ; du lien Afficher dans : Google 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, cliquez avec le bouton droit sur la couche concernée, puis cliquez sur Propriétés.
  3. Cliquez sur l'onglet Extrusion du globe.
  4. Cochez les options Extruder les entités de la couche et 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é.
  5. Cliquez sur l'onglet Extrusion du globe dans ArcGlobe.
  6. Définissez une Valeur ou expression utilisée pour l'extrusion. 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 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 Ajouter des données.
  9. Sélectionnez le fichier de couches (.lyr) que vous venez d'enregistrer à partir d'ArcGlobe, puis cliquez sur Ajouter. La couche n'apparaît pas en 3D dans ArcMap ; elle apparaîtra en 3D lorsque vous afficherez la carte dans Google Earth ou ArcGIS Explorer.
  10. Définissez les propriétés de la couche en cliquant avec le bouton droit sur la couche et en sélectionnant Propriétés dans le menu contextuel.
  11. Cliquez sur l'onglet Général, réglez la Plage d'échelle 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 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 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 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éfinition ou les jointures et relations que vous souhaitez appliquer aux données. Pour ce faire, utilisez les onglets Ensemble de définitions et Jointures/relations, respectivement.
  16. Vous pouvez éventuellement cliquer sur l'onglet Etiquettes 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 Fiche HTML et cochez l'option 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 Comme table des champs visibles.
  18. Cliquez sur OK pour ignorer les propriétés de la couche, puis enregistrez votre carte en cliquant sur Fichier > 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 Fichier > 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 Suivant.
  3. Dans la boîte de dialogue Publier un service, cliquez sur 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 Suivant.
  5. Pour l'URL du serveur, saisissez l'URL du site ArcGIS Server auquel vous souhaitez vous connecter. Par exemple : http://gisserver.domain.com:6080/arcgis.
  6. Dans la liste déroulante Type de serveur, sélectionnez ArcGIS for 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 vos Nom d'utilisateur et Mot de passe. Cliquez sur Terminer.
  9. Facultativement, dans la fenêtre 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 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'Editeur 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'Editeur 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 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 Utiliser la balise NetworkLinkControl.
    Astuce:

    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 Analyse Analyser. Cette fonction examine la carte pour voir si elle peut être publiée sur le serveur.
    Astuce:

    Pour disposer d'une surface d'affichage plus grande lors de la configuration du service KML, cliquez sur Réduire Réduire en haut du Editeur de services.

  14. Le cas échéant, corrigez les erreurs Erreur dans la fenêtre Préparation avant de pouvoir 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. Facultativement, dans l'Editeur de services, cliquez sur Aperçu Aperç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 que vous avez corrigé les erreurs dans votre carte, cliquez sur Publier Publier.
  17. Votre service est désormais publié. Vous pouvez le prévisualiser en développant le nœud Serveurs SIG de la fenêtre Catalogue et en faisant glisser le service dans la table des matières d'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 et accédez au répertoire des services, dont l'URL est généralement http://gisserver.domain.com:6080/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 Afficher l'emprise dans Google Earth pour ouvrir un document KMZ qui affiche une superposition terrestre de votre service. 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 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 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 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 le Gestionnaire ArcGIS Server. Vous pouvez ensuite ajouter le lien réseau dans ArcGIS Explorer, ArcGlobe et Google Earth.

  1. Ouvrez le Gestionnaire et connectez-vous. Si vous avez besoin d'aide pour cette étape, reportez-vous à la rubrique Connexion au Gestionnaire.
  2. Cliquez sur Services > Liens réseau KML > 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 le 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 Suivant.
  7. Dans la liste déroulante 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 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 Actualisation basée sur la vue, Echelle liée à la vue et 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 Suivant.
  11. Facultativement, réglez les paramètres Latitude, Longitude, Plage, En-tête et 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 Créer pour créer le lien réseau KML.

Lorsque vous revenez au module Liens réseau KML dans le Gestionnaire, l'URL de votre nouveau lien réseau s'affiche (par exemple : http://gisserver.domain.com:6080/arcgis/kml/networklink01.kmz. Cliquez ou copiez et collez cette URL pour ajouter votre lien réseau KML à Explorer for ArcGIS, ArcGlobe, Google Earth, Google Maps ou Google Mobile.