Skip To Content

Spécification ExportWebMap

Lorsque vous tentez d'imprimer une carte à l'aide du service de géotraitement PrintingTools inclus avec ArcGIS for Server, vous devez fournir un moteur de rendu JavaScript Object Notation (JSON) de la carte, y compris les informations liées à la couche et à l'étendue. La JSON doit être structurée conformément à la spécification Esri ExportWebMap.

Lorsque vous utilisez les API Web ArcGIS vous n'avez pas besoin de vous préoccuper de la création de la JSON, car les API s'en chargent. Cette rubrique est néanmoins fournie à titre de référence, au cas où vous auriez besoin de créer la JSON vous-même. Cela peut être le cas si vous avez besoin d'appeler le service PrintingTools directement ou d'exécuter son outil de géotraitement source Exporter Web Map à partir d'une autre application.

La carte Web est constituée de cinq objets de niveau supérieur :

{
 "mapOptions": {},
 "operationalLayers": [],
 "baseMap": [],
 "exportOptions": {},
 "layoutOptions": {}
}

mapOptions

L'objet mapOptions, obligatoire, définit les propriétés d'affichage de la carte.

Syntaxe :Exemple
"mapOptions" : {
 "extent" : {
  "xmin" : <xmin>,
  "ymin" : <ymin>,
  "xmax" : <xmax>,
  "ymax" : <ymax>,
  "spatialReference" : {<spatialReference>}
 },
 "scale" : <mapScale>,
 "rotation" : <mapRotation>,
 "spatialReference" :  {<spatialReference>},
 "time" : [
  <timeInstant> | <startTime>,<endTime>
 ]
}
"mapOptions" : {
 "extent" : {
  "xmin":-12933906.537,
  "ymin":3993856.886,
  "xmax":-12933371.998,
  "ymax":3994375.189,
  "spatialReference" : {
   "wkid" : 102100
  }
 },
 "scale" : 1234.5,
 "rotation" : -45,
 "spatialReference" : {
  "wkid" : 102100
 },
 "time" : [
  1199145600000,
  1230768000000
 ]
}

Description

  • extent : propriété obligatoire définissant l'étendue de la carte. La référence spatiale de l'objet extent est facultative. Si elle n'est pas fournie, elle est supposée être exprimée dans la référence spatiale de la carte. Lorsque le rapport hauteur/largeur de l'étendue de la carte est différent de la taille de la carte sur la page de sortie ou de exportOptions:outputSize, d'autres entités peuvent s'afficher sur la carte en sortie.
  • scale (facultative) : échelle de la carte à laquelle vous souhaitez exporter la carte. Cette propriété est facultative, mais elle est recommandée en vue d'obtenir des résultats optimaux. La propriété scale est particulièrement utile lorsque les services de carte dans cette carte Web ont des couches dépendantes de l'échelle ou des échelles de référence définies. Puisque la carte que vous affichez dans l'application Web peut être plus petite que la carte en sortie (par exemple, 21 x 29,5 cm ou format A4), l'échelle de la carte en sortie est différente et vous voyez des différences dans les entités et/ou les symboles de l'application Web par rapport à la carte en sortie.

    La propriété scale prend le pas sur l'étendue, mais la carte en sortie est affichée à l'échelle requise centrée sur le centre de l'étendue.

  • rotation (facultative) : représente le nombre de degrés de rotation du bloc de données, mesurés dans le sens anti-horaire à partir du Nord. Pour faire pivoter dans le sens horaire, utilisez une valeur négative.
  • spatialReference (facultative) : référence spatiale de la carte. L'ordre de préférence lorsque spatialReference est manquante est le suivant :
    1. mapOptions.extent.spatialReference
    2. baseMap.baseMapLayers.spatialReference
    3. Référence spatiale du modèle de carte
  • time (facultative) : si une couche temporaire est présente et que vous voulez qu'elle soit affichée à un moment donné, définissez cette propriété. Cette liste d'ordre peut compter un ou deux éléments. Ajoutez deux éléments (startTime suivi de endTime) pour représenter un laps de temps ou fournissez une seul élément de temps pour représenter un instant. Les heures sont toujours exprimées en UTC.

operationalLayers

La liste operationalLayers contient toutes les couches opérationnelles à afficher sur la carte. L'ordre du tableau définit l'ordre des couches sur la carte. Le type de chaque couche est défini par la réponse de la ressource URL. S'il est impossible de déterminer la ressource à partir de l'URL, la propriété type définit le type. Par exemple, une couche WMS nécessite que vous spécifiez "type" : "wms". Certaines propriétés sont communes à tous les types de couches opérationnelles, alors que d'autres sont spécifiques à chaque type de couche opérationnelle.

Dans le cas de couches sécurisées, précisez le jeton dans une définition de couches. Le nom d'utilisateur et le mot de passe ne sont pas pris en charge en tant que partie de l'URL.

Remarque :

Pour un service de carte, un service d'entités ou un service d'imagerie, utilisez une URL pointant vers le point de terminaison REST du service. Les points de terminaison SOAP ne sont pas pris en charge.

Syntaxe des couches opérationnelles
"operationalLayers" : [
 {
  "id" : "<webmapOperationalLayerId>",
  "url" : "<url1>",
  "token" : "<tokenString1>",
  "title" : "<title1>",
  "opacity" : <opacity1>,
  "visibility" : <true | false>,
  "minScale" : <minScale1>,
  "maxScale" : <maxScale1>
 }
]

Description

Remarque :

Les propriétés décrites ci-dessous sont communes à tous les types de couches opérationnelles (par exemple, les couches de service de carte, les graphiques côté client, les couches KML, etc.). Ainsi, il est possible qu'elles ne soient pas incluses dans cette section pour chaque type de couche opérationnelle.

  • id (facultative) : chaîne identifiant de manière unique une couche opérationnelle. Elle est obligatoire surtout pour les légendes.
  • url : point d'arrivée d'un service. Elle n'est pas obligatoire pour "featureCollection".
  • token (facultative) : jeton permettant d'accéder à un service sécurisé.
  • title (facultative) : nom d'une couche opérationnelle. S'il s'affiche sur la légende, la légende de la mise en page doit le prendre en charge.
  • visibility (facultative) : la valeur par défaut est vraie.
  • opacity (facultative) : les valeurs s'échelonnent de 0 à 1 (valeur par défaut), 1 étant complètement opaque et 0 complètement transparent.
  • minScale (facultative) : La couche ne s'affiche pas lorsque le zoom arrière est supérieur à cette échelle.
  • maxScale (facultative) : La couche ne s'affiche pas lorsque le zoom avant est supérieur à cette échelle.

Syntaxe d'une couche de service de carteExemple
"operationalLayers" : [
 {
  "url" : "<url1>",
  "title" : "<title1>",
  "opacity" : <opacity2>,
  "gdbVersion": "<gdbVersion>",
  "visibleLayers" : [
   <layerId1>,
   <layerId2>
  ],
  "layers" : [
   {
    "id": <sublayerId1>,
    "name": <name>,
    "layerDefinition": {
     "definitionExpression": "<definitionExpression>",
     "layerTimeOptions": {
      "useTime": <true | false>,
      "timeDataCumulative": <true | false>,
      "timeOffset": <timeOffset1>,
      "timeOffsetUnits": "<esriTimeUnits>"
     },
     "drawingInfo": {
      "renderer" : {<renderer>},
      "transparency" : <transparency>,
      "scaleSymbols" : <true | false>,
      "showLabels" : <true | false>,
      "labelingInfo" : {<labelingInfo>},
     },
     "source": {<layerSource>},
     "gdbVersion": "<Geodatabase version name>"
    }
   }
  ]
 }
]
"operationalLayers" : [
 {
  "url" : "http://servicesbeta.esri.com/ArcGIS/rest/
           services/HomelandSecurity/operations/
           MapServer",
  "title" : "Homeland security operations",
  "opacity" : 0.8,
  "visibleLayers" : [
   0,
   1
  ]
 }
]

Description

  • visibleLayers (facultative) : tableau d'ID de sous-couche qui doivent être rendus visibles au sein de la couche de service de carte. Si cette propriété est omise, la couche opérationnelle s'affiche avec les états visibles par défaut de chaque sous-couche. Il n'est pas nécessaire de préciser l'ID du groupe de couches. Notez que si un service de carte prend en charge les couches dynamiques, "layers" a priorité sur "visibleLayers". Pour les services de carte qui n'utilisent pas les couches dynamiques, seul "layerDefinition" dans la propriété "layers" est pris en charge.
  • layers (facultative) : liste des couches à exporter. Si les services de carte utilisent des couches dynamiques, toutes les couches spécifiées dans la matrice "layers" sont exportées, tandis que la matrice "visibleLayers" est ignorée. Utilisez la propriété "name" pour définir le nom d'une couche. Ceci est généralement nécessaire lorsque le type "source" de la couche est "dataLayer".
  • drawingInfo (facultative) : cette propriété permet de remplacer les paramètres d'affichage d'une sous-couche, par exemple, le moteur de rendu de la sous-couche.
    • renderer (facultative) : lorsque cette propriété est définie, elle remplace le moteur de rendu d'origine de la sous-couche.
  • source (facultative) : représente la source d'une couche qui est ajoutée au service de carte dynamiquement par requête. Reportez-vous à la rubrique API REST d'ArcGIS pour savoir comment définir la source.
  • gdbVersion (facultative) :indiquez si vous souhaitez afficher les entités tracées à partir d'une autre version de la géodatabase. Vous pouvez soit définir cette option au niveau d'une couche opérationnelle afin de faire basculer toutes les couches vers la version indiquée, soit la définir sous la forme d'une sous-couche d'un tableau "layers" afin de modifier la version de la géodatabase pour une couche individuelle.

Syntaxe d'une couche d'entitésExemple
"operationalLayers" : [
 {
  "url" : "<url1>",
  "title" : "<title1>",
  "opacity" : <opacity2>,
  "layerDefinition" : {
   "drawingInfo" : {
    "renderer" : {<renderer1>}
   },
   "definitionExpression" : "<definitionExpression1>",
   "objectIds" : [
    <oid1>,
    <oid2>
   ],
   "timeInfo" : {  //optional
    "trackIdField" : "<trackIdFieldName>"
   },
   "geometry" : {<geometry>},
   "geometryType" : "<geometryType>",
   "spatialRel" : "<spatialRel>",
   "relationParam" : "<relationParam>",
   "gdbVersion" : "<geodatabaseVersionName>",
   "source": {<layerSource>}
  },
  "selectionObjectIds" : [
   <oid1>,
   <oid2>
  ],
  "selectionSymbol" : {<symbol>}
 }
]
"operationalLayers" : [
 {
  "url" : "http://servicesbeta.esri.com/ArcGIS/rest/
           services/Hydrography/Watershed173811/
           FeatureServer/1",
  "title" : "Watershed",
  "opacity" : 1,
  "layerDefinition" : {
   "drawingInfo" : {
    "renderer" : {<renderer>}
   },
   "definitionExpression" : "Type = 1",
   "objectIds" : [
    534,
    434
   ]
  },
  "selectionObjectIds" : [
   434
  ],
  "selectionSymbol" : {<symbol>}
 }
]

Description

  • url (obligatoire) : URL de la couche. Cette propriété doit se terminer par /dynamicLayer lorsqu'une couche d'entités est basée sur une couche à partir d'un service de carte qui utilise des couches dynamiques.
  • drawingInfo (facultative) : spécifie le moteur de rendu pour cette couche.
    • Pour effectuer un rendu à l'aide du moteur de rendu temporel, indiquez les propriétés latestObservationRenderer, trackLinesRenderer et observationAger en les séparant du moteur.
    • observationAger (facultative) : le moteur de rendu temporel prend en charge deux types de propriété observationAger : rampAger et classBreaksAger. Pour une demande donnée, une couche peut contenir soit une propriété rampAger, soit une propriété classBreaksAger, mais pas les deux.
  • definitionExpression (facultative) : instruction SQL restreignant les entités à afficher.
  • objectIds (facultative) : restreint les entités à afficher, en fonction des ID des objets.
  • timeInfo (facultative) :
    • trackIdField : champ qui représente de manière unique un ou plusieurs objets observés. Si ce champ a la valeur Null ou est manquant, seule la dernière observation est affichée à l'aide de latestObservationRenderer.
  • geometry (facultative) : restreint les entités qu'une géométrie doit afficher.
  • geometryType (facultative) : cette propriété est obligatoire lorsqu'une géométrie est spécifiée.
  • spatialRel (facultative) : relation spatiale à appliquer sur la géométrie en entrée lors de l'exécution de la requête.
  • relationParam (facultative) : fonction de relation spatiale pouvant être appliquée lors de l'exécution de la requête. Par exemple, FFFTTT***.
  • selectionObjectIds (facultative) : met en surbrillance les entités dotées des ID d'objets donnés avec le symbole fourni. La propriété selectionSymbol doit être définie.
  • selectionSymbol (facultative) : les entités sont mises en surbrillance avec ce symbole. Cette propriété est obligatoire lorsque selectionObjectIds est spécifiée.
  • gdbVersion (facultative) : définit un nom de version de géodatabase si vous utilisez une version autre que celle référencée par la carte ou le service d'entités.
  • source (facultative) : cette option est obligatoire uniquement lorsqu'une couche d'entités est basée sur un service de carte qui utilise des couches dynamiques.

Syntaxe d'une couche de service d'imagerieExemple
"operationalLayers" : [
 {
  "url" : "<url1>",
  "title" : "<title1>",
  "opacity" : <opacity2>,
  "noData" : <noDataValue>,
  "format" : "<jpgpng | png | png8 | png24 | png32 |
               jpg | bmp | gif | tiff >",
  "interpolation" : "<RSP_BilinearInterpolation | 
                     RSP_CubicConvolution | 
                     RSP_Majority | 
                     RSP_NearestNeighbor>",
  "compressionQuality" : <compress>,
  "bandIds" : [
   <bandId1>,
   <bandId2>
  ],
  "mosaicRule" : "<mosaicRule>",
  "renderingRule" : "<renderingRule>",
  "noDataInterpretation" : "<esriNoDataMatchAny | 
                             esriNoDataMatchAll>"
 }
]
"operationalLayers" : [
 {
  "url" : "http://ais3/ArcGIS/rest/services/QB16/
           ImageServer",
  "title" : "Satellite image from 1990",
  "opacity" : 0.8,
  "bandIds" : [
   0,
   1,
   2
  ]
 }
]

Description

Remarque :

Reportez-vous à la rubrique API REST d'ArcGIS pour obtenir plus d'informations sur les couches de service d'imagerie.

Syntaxe d'une couche de service WMS
"operationalLayers" : [
 {
  "url" : "<url1>",
  "title" : "<title1>",
  "type" : "wms",
  "opacity" : <opacity1>,
  "version" : "<wmsServerVersion>",
  "format" : "<jpg | png8 | png24 | png32>",
  "transparentBackground" : <true | false>,
  "layers" : [
   {"name": "<layerName1>"},
   {"name": "<layerName2>"}
  ],
  "visibleLayers" : [
   "<layerName1>",
   "<layerName2>"
  ],
  "styles" : [
   "<style1>",
   "<style2>"
  ]
 }
]

Description

  • type (facultative) : pour les couches WMS, cette propriété doit être spécifiée sous la forme "wms".
  • format (facultative) : format d'image demandé au serveur.
  • transparentBackground (facultative) : lorsque cette propriété est vraie, l'arrière-plan devient transparent, si le format d'image prend en charge une couleur transparente. (JPEG est un exemple de format d'image qui ne prend pas en charge la couleur transparente.) La valeur par défaut est false.
  • visibleLayers (facultative) : tableau de noms de sous-couches qui doivent être rendues visibles au sein de la couche de service WMS. L'ordre est important également : il doit être conforme aux besoins du service WMS. En l'absence de cette propriété, toutes les couches du service WMS seront visibles.
  • layers (facultative) : tableau de noms de sous-couches à ajouter à la carte. En l'absence de cette propriété, toutes les couches d'un service WMS seront ajoutées à la carte.
  • styles (facultative) : cette propriété permet de remplacer le style d'affichage par défaut d'une sous-couche. Lorsqu'elle est spécifiée, vérifiez que le nombre et l'ordre des styles correspondent à ceux du tableau visibleLayers. Si vous ne souhaitez pas changer le style d'une sous-couche en particulier, vous pouvez utiliser une chaîne vide, par exemple, "styles" : ["highways","","population"].
  • version (facultative) : version de WMS à laquelle vous voulez vous connecter. Par défaut, il s'agit de la dernière version en date prise en charge par le service WMS donné.

Syntaxe d'une couche KMLExemple
"operationalLayers" : [
 {
  "type" : "kml",
  "url" : "<url1>",
  "title" : "<title1>",
  "showLabels" : "<true | false>",
  "visibleFolders" : [
   <folderId1>,
   <folderId2>
  ]
 }
]
"operationalLayers" : [
 {
  "type" : "kml",
  "url" : "http://myMachine/.../vermont.kmz",
  "title" : "Vermont weather stations",
  "opacity" : 0.75,
  "showLabels" : true,
  "visibleFolders" : [
   0,
   1,
   2
  ]
 }
]

Description

  • type (facultatif) : pour ce type de couche, le type doit être "kml".
  • url (obligatoire) : URL d'un fichier kmz.
  • showLabels (facultatif) : par défaut, la valeur est fausse.
  • visibleFolders : matrice d'id numériques de dossiers qui seront visibles.

Syntaxe d'une image côté clientExemple
"operationalLayers" : [
 {
  "type" : "image",
  "title" : "<title1>",
  "opacity" : <opacity2>,
  "extent" : {
   "xmin" : <xmin>,
   "ymin" : <ymin>,
   "xmax" : <xmax>,
   "ymax" : <ymax>,
   "spatialReference" : {<spatialReference>}
  },
  "url" : "<url1>",
  "imageData" : "<base64EncodedImageData>"
 }
]
"operationalLayers" : [
 {
  "type" : "image",
  "title" : "heat map",
  "opacity" : 0.75,
  "extent" : {
   "xmin":-12933906.537,
   "ymin":3993856.886,
   "xmax":-12933371.998,
   "ymax":3994375.189,
   "spatialReference" : {
    "wkid" : 102100
   }
  },
  "url" : "http://myMachine/anImage.png",
  "imageData" : "iVBORw0KGg....",
 }
]

Description

  • type (facultative) : pour ce type de couche, le type doit être "image".
  • extent (obligatoire) : emprise minimale dans laquelle l'image vient s'ajuster.
  • url (facultative) : URL d'une image que vous souhaitez afficher. Cette propriété est obligatoire uniquement si imageData n'est pas transmise.
  • imageData (facultative) : image codée en base64. Cette propriété est obligatoire si la propriété "url" n'est pas transmise.

Syntaxe des graphiques côté clientExemple
"operationalLayers" : [
 {
  "featureCollection": {
   "layers": [
    {
     "layerDefinition": {
      "name": "<layerName>",
      "geometryType": "<esriGeometryType>",
      "drawingInfo": {<drawingInfo>},
      "objectIdField": "<objectIdFieldName>",  //optional
      "fields": [  //optional
       {
        "name": "<fieldName>",
        "type": "<esriFieldType>",
        "alias": "<fieldAliasName>"
       }
      ]
     },
     "featureSet": {
      "features": [
       {
        "geometry": {<geometry>},
        "attributes": {  //optional
         "<fieldName>": "<value>"
        },
        "symbol": {<symbol>}  //overrides symbol
		                              defined in the renderer
       }
      ]
     }
    }
   ]
  }
 }
]
"operationalLayers": [
  {
   "id": "map_graphics",
   "featureCollection": {
    "layers": [
     {
      "layerDefinition": {
       "name": "pointLayer",
       "geometryType": "esriGeometryPoint",
        "drawingInfo": {
        "renderer": {
         "type": "simple",
         "symbol": {
          "type": "esriSMS",
          "style": "esriSMSCircle",
          "color": [
           76,
           115,
           0,
           255
          ],
          "size": 20,
          "outline": {
           "color": [
            255,
            0,
            0,
            255
           ],
           "width": 1
          }
         }
        }
       }
      },
      "featureSet": {
       "features": [
        {
         "geometry": {
          "x": -10253568.722284,
          "y": 5463514.62565701,
          "spatialReference": {
           "wkid": 102100
          }
         }
        },
        {
         "geometry": {
          "x": -13267022.125398,
          "y": 5463514.62565701,
          "spatialReference": {
           "wkid": 102100
          }
         },
         "symbol": {
          "color": [
           255,
           138,
           255,
           191
          ],
          "size": 12,
          "type": "esriSMS",
          "style": "esriSMSSquare"
         }
        }
       ]
      }
     }
    ]
   }
  }
 ]

Description

  • layers (obligatoire) :ensemble de couches. Une couche comporte deux propriétés : layerDefinition et featureSet.
  • layerDefinition (obligatoire) : contient des propriétés qui définissent une couche, à savoir : name, geometryType, drawingInfo, objectIdField et fields.
  • name (facultative) : nom de la couche.
  • geometryType (obligatoire) : pour une couche de texte, la propriété geometryType doit correspondre à esriGeometryPoint.
  • drawingInfo (facultative) : en l'absence de drawingInfo, les graphiques sont représentés à l'aide de symboles.
  • objectIdField (facultative) : nom du champ qui contient les ID d'objet.
  • fields (facultative) : ensemble de champs.
  • featureSet (obligatoire) : conteneur d'entités.
  • features (obligatoire) :ensemble d'entités.
  • geometry (obligatoire) : géométrie qui définit l'entité ou le graphique.
  • attributes (facultative) : ensemble d'attributs d'entité.
  • symbol (facultative) : si cette propriété est définie, ce symbole remplace celui défini dans le moteur de rendu.

Syntaxe du fichier CSV (valeurs séparées par des virgules) par URLExemple
"operationalLayers" : [
 {
  {
   "type" : "CSV",
   "url" : "<url>",
   "layerDefinition" : {
    "drawingInfo": {
     "renderer": {<renderer>}
    }
   },
   "locationInfo" : {
    "latitudeFieldName" : "<latitudeFieldName>",
    "longitudeFieldName" : "<longitudeFieldName>"
   }
  }
 }
]
"operationalLayers": [
 {
  "type": "CSV",
  "url": "http://servicesbeta.esri.com/demos/exp/data/earthquakes.csv",
  "id": "Earthquakes",
  "title": "Earthquakes",
  "visibility": true,
  "opacity": 1,
  "layerDefinition": {
   "drawingInfo": {
    "renderer": {
     "symbol": {
      "height": 15,
      "type": "esriPMS",
      "url": "http://static.arcgis.com/images/Symbols/Basic/RedSphere.png",
      "width": 15
     },
     "type": "simple"
    },
    "transparency": 0
   }
  },
  "locationInfo": {
   "latitudeFieldName": "lat",
   "longitudeFieldName": "lon"
  }
 }
]

Description

  • latitudeFieldName (obligatoire) : nom du champ qui contient la coordonnée Y.
  • longitudeFieldName (obligatoire) : nom du champ qui contient la coordonnée X.

Autres propriétés

Remarque :

Reportez-vous à la rubrique API REST d'ArcGIS pour plus d'informations sur les propriétés suivantes.

  • source
  • moteur de rendu (par)
  • symbole
  • textSymbol
  • labelingInfo
  • géométrie
  • geometryType
  • spatialRel
  • relationParam

Syntaxe de définition de drawingInfo pour un moteur de rendu temporelExemple
"drawingInfo": {
 "observationAger": {<symbolAger>},
 "latestObservationRenderer": {<renderer>},
 "trackLinesRenderer": {<renderer>},
 "renderer": {<renderer>}
}
"drawingInfo": {
 "observationAger": {
  "alphaRange": [
   0,
   255
  ]
 },
 "latestObservationRenderer": {
  "type": "simple",
  "symbol": {
   "type": "esriPMS",
   "url": "http://help.arcgis.com/.../hurr_100_icon.png",
   "contentType": "image/png",
   "width": 30,
   "height": 30
  }
 },
 "trackLinesRenderer": {
  "type": "simple",
  "symbol": {
   "type": "esriSLS",
   "style": "esriSLSSolid",
   "width": 1,
   "color": [
    0,
    0,
    0,
    255
   ]
  }
 },
 "renderer": {
  "type": "simple",
  "symbol": {
   "type": "esriSMS",
   "style": "esriSMSCircle",
   "size": 24,
   "outline": {
    "color": [
     255,
     255,
     255,
     255
    ],
    "width": 1
   }
  }
 }
}

Syntaxe de définition d'une propriété symbolAger

//rampAger
{
 "colorRange": [
                {<color>}, //for oldest events
                {<color>}  //for newest events
 ],
 "alphaRange": [
                <alpha>, //for oldest events
                <alpha>  //for newest events
 ],
 "sizeRange": [
                <size>, //for oldest events
                <size>  //for newest events
 ]
}

//classBreaksAger
{
 "timeUnits": "<esriTimeUnits>",
 "agerClassBreakInfos" : [{<agerClassBreakInfo>},...]
}

Syntaxe de définition d'une propriété agerClassBreakInfo

{
 "oldestAge": <age>,
 "color": {<color>},
 "alpha": <alpha>,
 "size": <size>
}

Description

  • Le moteur de rendu temporel est pris en charge uniquement par les couches d'entités, et non par les couches de graphiques côté client ou les couches de service de carte dynamique.
  • Alpha est un nombre entier compris entre 0 et 255.

Résultat du géotraitement

Il existe deux façons d'inclure un résultat de géotraitement :

  1. Lorsque le résultat d'un géotraitement revient sous la forme d'un jeu d'entités et qu'il s'affiche sous la forme de graphiques côté client, envoyez le résultat en tant que collection d'entités.
  2. Lorsque le résultat est affiché par le service de carte de résultat d'une tâche, ajoutez une nouvelle couche de service de carte dans operationalLayers et définissez la propriété URL de manière à ce qu'elle pointe sur le point de terminaison du résultat. Par exemple :
    • Résultat du géotraitement du serveur 10.1 ou version ultérieure : http://gisserver.domain.com:6080/arcgis/rest/services/GPJobMapServiceName/MapServer/jobs/job_id
    • Résultat du géotraitement du serveur 10.0 et versions antérieures : http://gisserver.domain.com/arcgis/rest/services/GPServiceName/GPServer/GPTaskName/jobs/job_id/results/out_param_name

Exemple : Résultat du géotraitement en tant que couche opérationnelle affichée par un service de carte de résultat de tâche.

"operationalLayers" : [
 {
  "url" : "http://gisserver.domain.com:6080/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
  "title" : "Geoprocessing Result"
 }
]

baseMap

La carte contient une propriété baseMap, dotée d'un titre, et une propriété baseMapLayers qui contient une liste triée de baseMapLayers. Chaque propriété baseMapLayer doit être exprimée dans la même référence spatiale et la même structure de tuilage. Lorsqu'une propriété baseMap est présente, elle définit la référence spatiale de la carte.

Syntaxe de baseMapExemple
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "url" : "<url1>",
   "opacity" : <opacity1>
  },
  {
   "url" : "<url2>",
   "opacity" : <opacity2>
  }
 ]
}
"baseMap" : {
 "title" : "Shared Imagery Basemap",
 "baseMapLayers" :  [
  {
   "url" : "http://services.arcgisonline.com/ArcGIS/
            rest/services/ESRI_Imagery_World_2D/
            MapServer",
  },
  {
   "url" : "http://services.arcgisonline.com/ArcGIS/
            rest/services/CSP_Imagery_World_2D/
            MapServer",
  }
 ]
}

Syntaxe pour Bing Maps en tant que basemapLayerExemple
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "id" : "<id1>",
   "type" : "<BingMapsRoad | BingMapsAerial | 
             BingMapsHybrid>",
   "culture" : "<Bing Maps supported culture>",
   "key" : "<bing_key>" //optional
  }
 ]
}
"baseMap" : {
 "title" : "Bing Maps",
 "baseMapLayers" :  [
  {
   "id" : "BingMap",
   "visibility" : true,
   "type" : "BingMapsRoad",
   "culture" : "fr-ca"
  }
 ]
}

Syntaxe pour OpenStreetMap en tant que basemapLayerExemple
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "type" : "OpenStreetMap",
   "url" : "<url>",  //optional
   "credits" : "<credits>"  //optional
  }
 ]
}
"baseMap" : {
 "title" : "OpenCycle Map",
 "baseMapLayers" :  [
  {
   "type" : "OpenStreetMap",
   "url" : "http://a.tile.opencyclemap.org/cycle"
  }
 ]
}

Description

  • url (facultative) : lorsque cet argument n'est pas spécifié, openstreetmap.org est utilisé par défaut.
  • credits (facultatif) : accusé de réception facultatif indiquant qui a contribué à la couche. La valeur de cette propriété est ignorée si "url" n'est pas spécifiée. En revanche, les crédits du service OpenStreetMap par défaut sont utilisés.

Syntaxe pour WebTiledLayer en tant que basemapLayerExemple
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "type" : "WebTiledLayer",
   "urlTemplate" : "<urlTemplate1>",
   "subDomains": [  //optional
    <subDomain1>,
    <subDomain2>
   ],
   "tileInfo" : {},  //optional
   "credits" : "<credits>"  //optional
  }
 ]
}
"baseMap" : {
 "title" : "MapQuest",
 "baseMapLayers" :  [
  {
   "type" : "WebTiledLayer",
   "urlTemplate" : "http://{subDomain}.mqcdn.com/
      tiles/1.0.0/vx/map/{level}/{col}/{row}.jpg,
   "subDomains" : [
     "mtile01", 
     "mtile02", 
     "mtile03", 
     "mtile04"
   ]
  }
 ]
}

Description

  • urlTemplate (obligatoire) : modèle d'URL permettant de récupérer les tuiles. Le modèle d'URL présente le format suivant : http://some.domain.com/{level}/{col}/{row}/, où "level" correspond au niveau de zoom, et "col" et "row" représentent la colonne et la ligne correspondant à la tuile, respectivement.
  • subDomains (facultatif) : un des sous-domaines spécifiés sera utilisé pour remplacer l'espace réservé {subDomain} dans urlTemplate afin de former l'URL de demande de tuile.
  • tileInfo (facultatif) : définit les informations sur les tuiles de la couche, y compris les niveaux de détail, les lignes, les colonnes, l'origine et la référence spatiale. Si aucune donnée n'est spécifiée pour tileInfo, la couche est censée se trouver dans Web Mercator avec la structure de tuilage Web Mercator. Pour plus d'informations sur tileInfo, reportez-vous à la rubrique API REST d'ArcGIS.
  • credits (facultatif) : accusé de réception facultatif indiquant qui a contribué à la couche.

Syntaxe pour WMTS en tant que basemapLayer
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "type" : "wmts",
   "url" : "<url1>",
   "layer" : "<layerName>",    //optional
   "style" : "<style>",        //optional
   "format" : "<imageFormat>", //optional
   "tileMatrixSet" : "<tileMatrixSet>"  //optional
  }
 ]
}

exportOptions

Cet objet spécifie les paramètres pour la carte en sortie.

SyntaxeExemple
"exportOptions" : {
 "dpi" : <dpi>,
 "outputSize" :  [
  <width>,
  <height>
 ]
}
"exportOptions": {
 "dpi" : 300,
 "outputSize" :  [
  500,
  500
 ]
}

Description

  • dpi (facultative) : résolution exprimée en points par pouce. La valeur par défaut est 96 ppp.
  • outputSize (facultative) : taille de la carte en pixels. La taille doit être définie lorsqu'une chaîne vide ou MAP_ONLY (sans guillemet) est transmise comme valeur du paramètre layout_template. Si layout_template n'est pas spécifié sous la forme MAP_ONLY ou d'une chaîne vide, layout_template est prioritaire sur outputSize.

layoutOptions

Cette propriété définit les paramètres des différents éléments de mise en page disponibles. Elle est nécessaire uniquement lorsqu'un modèle de mise en page disponible est choisi. Ces éléments de mise en page sont notamment le titre, le texte de droit d'auteur, la barre d'échelle, le nom de l'auteur et les éléments de texte personnalisés.

Remarque :

Cette option remplace les propriétés d'éléments existants uniquement. Si un élément n'existe pas dans le modèle de mise en page choisi, les propriétés associées sont ignorées. Par exemple, si un modèle de mise en page ne possède pas d'élément de texte de droit d'auteur, aucun nouvel élément de texte de droit d'auteur n'est ajouté, même si l'élément copyrightText est spécifié dans la propriété layoutOptions.

Toutes les propriétés de cet objet sont facultatives. Quand la valeur d'une propriété est spécifiée, la valeur de l'élément de mise en page correspondante est remplacée. Dans le cas contraire, l'élément existant reste tel quel.

Elément de texte ExportWebMapTexte dynamique correspondant dans ArcMap

titleText

<dyn type="document" property="title" />

authorText

<dyn type="document" property="author" />

copyrightText

<dyn type="document" property="credits" />

Remarque :

Pour plus d'informations, consultez la rubrique concernant dynamicText dans l'Aide ArcGIS.

SyntaxeExemple
"layoutOptions" : {
 "titleText" : "<title>",
 "authorText" : "<authorName>",
 "copyrightText" : "<copyright>",
 "scaleBarOptions" :  {
  "metricUnit" : "<esriMeters | esriKilometers>" ,
  "metricLabel" : "<metricUnitLabel>",
  "nonMetricUnit" : "<esriFeet | esriYards | esriMiles | 
                    esriNauticalMiles>" ,
  "nonMetricLabel" : "<nonMetricUnitLabel>"
 },
 "customTextElements" : [
  {"<textElementName1>" : "<value1>"},
  {"<textElementName2>" : "<value2>"}
 ],
 "legendOptions" : {
  "operationalLayers" : [
   {
    "id" : "<webmapOperationalLayerId>",
    "sublayerIds" : [  //array of string or number
      <mapServerSublayerId1>,
      <mapServerSublayerId2>
    ]
   }
  ]
 }
}
"layoutOptions": {
 "titleText" : "City Land Use Map",
 "authorText" : "Print by: XYZ",
 "copyrightText" : "© esri",
 "scaleBarOptions" :  {
  "metricUnit" : "kilometers",
  "metricLabel" : "km",
  "nonMetricUnit" : "miles",
  "nonMetricLabel" : "mi"
 }
 "customTextElements" : [
  {"townshipName" : "Town ABC"}
 ],
 "legendOptions": {
  "operationalLayers": [
   { //for dynamic mapservicelayer
    "id": "myMapserviceLayer",
    "subLayerIds": [ //array of integer
     0,
     1 
    ]
   },
   { //for WMS layer
    "id": "myWMSLayer",
    "subLayerIds": [ //array of string
     "layer1",
     "layer2" 
    ]
   },
   { //for FeatureLayer
    "id": "myFeatureLayer"
   }
  ]
 }
}

Description

  • titleText (facultative) : le texte de l'élément de texte de titre de carte est mis à jour s'il existe sur la mise en page.
  • authorText (facultative) : le texte de l'élément de texte d'auteur est mis à jour s'il existe sur la mise en page.
  • copyrightText (facultative) : le texte de l'élément de texte de droit d'auteur est mis à jour s'il existe sur la mise en page.
  • scaleBarOptions (facultative) : cette propriété met à jour une barre d'échelle si elle existe.
    • metricUnit (facultative) : définit les unités de la barre d'échelle en unités métriques.
    • metricLabel (facultative) : chaîne indiquant la façon dont les unités doivent être étiquetées, par exemple, KM, kilomètres ou km. Si cette propriété n'est pas spécifiée ou si une chaîne vide est transmise, la valeur de texte de l'unité est utilisée.
    • non MetricUnit (facultative) : définit les unités de la barre d'échelle en unités non métriques.
    • nonMetricLabel (facultative) : chaîne indiquant la façon dont les unités doivent être étiquetées, par exemple, Miles ou mi. Si cette propriété n'est pas spécifiée ou si une chaîne vide est transmise, la valeur de texte de l'unité est utilisée.
  • customTextElements (facultative) : tableau de paires nom-valeur. Vous devez utiliser cette propriété pour mettre à jour le texte d'un élément de texte (texte non dynamique) sur la mise en page. Les valeurs doivent être des chaînes.
  • legendOptions (facultative) : spécifie les propriétés d'un élément de légende sur la mise en page. Notez que lorsqu'un élément de légende sur une mise en page est vide (lorsqu'il ne contient aucune couche), il est supprimé par le service d'impression.
    • operationalLayers (facultative) : spécifie les couches opérationnelles dont la légende sera ajoutée à la mise en page.
      • id : chaîne représentant l'identifiant de la couche. Cet identifiant doit être unique et doit correspondre à l'ID de la couche dans l'élément operationalLayers où la couche opérationnelle est définie.
      • subLayerIds (facultative) : tableau de sous-couches dont les éléments sont de type chaîne ou long et contextuel au type de couche opérationnel. Par exemple, pour une couche de service de carte il doit s'agir d'une couche. Pour une couche WMS, il doit s'agir d'une chaîne. Il est recommandé de spécifier des valeurs subLayerIds pour les couches opérationnelles possédant des sous-couches. Si celles-ci sont omises, dans le cas d'un service de carte et de couches WMS, les légendes provenant de toutes les sous-couches sont ajoutées à l'élément de légende sur la mise en page. Pour les couches d'entités ou de graphiques, la propriété sublayers n'a pas besoin d'être définie.

Limitations

Les symboles de niveau d'entités dans les couches de notes ne sont pas pris en charge lorsque le type de moteur de rendu est interruptions de classe ou simple.