C'est avec quelques jours de retard que noue terminons notre série d'articles consacrés à l'utilisation de données KML avec ArcGIS. Aujourd'hui, je vais évoquer les capacités multiples offertes par ArcGIS Server pour la diffusion de cartes ou de résultats de géotraitements au format KML.
Publier des services de carte en KML
En publiant une carte en KML via un service Web ArcGIS Server vous conserverez l'énorme avantage d'être lié en permanence aux données de la Géodatabase. Ainsi, contrairement à un export de fichier KML, les données affichées dans Google Earth/Maps, Virtual Earth ou ArcGIS Explorer sont toujours celles existants actuellement dans le SIG.
Depuis la version 9.2, la démarche pour publier un service de carte au format KML est exactement la même que pour tout autre Map Service. Préparé dans ArcMap, le document cartographique est ensuite publié avec ArcCatalog ou l'ArcGIS Server Manager. Vous activerez alors la capacité KML et indiquerez si la carte peut être servie en tant qu'image simple, images composites ou en vectoriel.
A partir de ce moment, votre carte est accessible via le Web sous la forme d'un flux KML/KMZ.
Vous noterez que si votre carte ArcMap est créée à partir de couches 3D élaborées dans ArcScene ou ArcGlobe, votre flux KML ArcGIS Server intégrera les informations 3D.
Accéder aux services KML ArcGIS ServerPour que vos clients KML accèdent à votre Map Service il suffira d'utiliser une URL de ce type :
http://Serveur/ArcGIS/Services/Nom_du_Service/MapServer/KMLServer
(copier/coller l'URL pour la tester)
Mettre en ligne un lien réseau
Pour maîtriser encore plus l'affichage de votre carte en KML, vous pouvez configurer sur votre serveur un lien réseau (network link) Google Earth. Ceci vous permettra d'indiquer le type de flux à utiliser (image ou vecteur), le point de vue par défaut ainsi que des informations comme le mode de rafraichissement ou la fréquence de l'actualisation du flux. Ce paramétrage se fait à l'aide d'un assistant dans l'ArcGIS Server Manager.
Vos résultats de géotraitements en ligne au format KMLEn version 9.3, ESRI propose une API REST permettant d'accéder très simplement (par une URL) à des services ArcGIS Server et notamment aux services de géotraitement. ArcGIS Server propose de retourner les résultats des requêtes REST (gotraitment, géocodage, calcul d'itinéraire, calcul d'isichrones, …) directement au format KML.
Ci-dessous un exemple d'URL REST demandant un géocodage d'adresse à un serveur ArcGIS Server. Les candidats proposées pour l'adresse de la conférence utilisateur d'ESRI "Harbor Street, San Diego, CA" sont retournées sous la forme d'un flux KML.
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer/findAddressCandidates?Address=Harbor+drive&City=san+diego&State=CA&f=kmz
(copier/coller l'URL pour la tester)
Ci-dessous un exemple d'URL REST demandant un calcul de l'isochrone à 3 minutes autour du point (lat: 32.71, long: -117.16) correspondand au "Convention Center" de San Diego.
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Network/ESRI_DriveTime_US/GPServer/CreateDriveTimePolygons/execute?Input_Location={"features":[{"geometry" : {"x" : -117.16, "y" : 32.71}}]}&Drive_Times=3&f=kmz (copier/coller l'URL pour la tester)