Especificación ExportWebMap

Cuando intenta imprimir un mapa utilizando el servicio de geoprocesamiento PrintingTools incluido con ArcGIS Server, debe proporcionar una representación del mapa de notación de objetos de JavaScript (JSON), incluida la capa y la información de extensión. La JSON debe estructurarse según la especificación ExportWebMap de Esri.

Cuando utilice las API Web de ArcGIS, no necesita preocuparse por la construcción de la JSON; las API se ocupan de eso por usted. Sin embargo, este tema se incluye para referencia en caso alguna vez necesita construir la JSON usted mismo. Esto puede suceder si necesita llamar el servicio PrintingTools directamente o ejecutar la herramienta de geoprocesamiento de origen Exportar mapa Web desde otra aplicación.

El mapa Web está compuesto de cinco objetos de nivel superior:

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

mapOptions

El objeto mapOptions es necesario y define las propiedades de visualización del mapa.

Sintaxis:

Ejemplo

"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
 ]
}

Descripción

  • extensión: una propiedad obligatoria que define la extensión del mapa. La referencia espacial del objeto de extensión es opcional; cuando no se proporciona, se asume que está en la referencia espacial del mapa. Cuando la relación de aspecto de la extensión de mapa es diferente que el tamaño del mapa en la página de salida o el exportOptions:outputSize, es posible que observe más entidades en el mapa de salida.
  • escala (opcional): la escala de mapa a la que desee exportar el mapa. Esta propiedad es opcional pero se recomienda para obtener los mejores resultados. La propiedad de escala es especialmente útil cuando los servicios de mapas en este mapa Web tienen capas dependiente de la escala o escalas de referencia establecidas. Debido a que el mapa que está visualizando en la aplicación Web puede ser más pequeño que el tamaño del mapa de salida (por ejemplo, 8,5 x 11 pulgadas o tamaño A4), la escala del mapa de salida será diferente y podrá ver las diferencias en entidades y símbolos de la aplicación Web en comparación con el mapa de salida.

    Cuando se utiliza la escala, prevalece sobre la extensión, pero el mapa de salida se dibuja en la escala solicitada al centro de la extensión.

  • rotación (opcional): esta opción representa el número de grados en que se girará el marco de datos, medido en sentido contrario a las agujas del reloj desde el norte. Para rotar en el sentido de las agujas del reloj, utilice un valor negativo.
  • spatialReference (opcional): la referencia espacial del mapa. El orden de preferencia cuando falta spatialReference, es el siguiente:
    1. mapOptions.extent.spatialReference
    2. baseMap.baseMapLayers.spatialReference
    3. Referencia espacial de la plantilla de mapa
  • tiempo (opcional): si existe una capa sensible al tiempo y desea que se dibuje en un momento determinado, especifique esta propiedad. Esta lista ordenada puede tener uno o dos elementos. Agregar dos elementos (startTime seguido por endTime) para representar una extensión de tiempo o proporcionar un solo elemento de tiempo para representar un instante de tiempo. Los tiempos siempre están en UTC.

operationalLayers

La lista operationalLayers contiene todas las capas operacionales que se visualizarán en el mapa. El orden del conjunto define el orden de las capas en el mapa. El tipo de cada capa se define por la respuesta del recurso de la dirección URL. Si el recurso no se puede determinar en la dirección URL, la propiedad del tipo define el tipo. Por ejemplo, una capa WMS requiere que especifique el "tipo": "wms". Hay algunas propiedades comunes para todos los tipos de capas operacionales, mientras que otras son específicas para cada tipo de capa operacional.

En caso de capas seguras, especifique el token en una definición de capa. El nombre de usuario y la contraseña no son compatibles como parte de la dirección URL.

NotaNota:

Para un servicio de mapas, servicio de entidades o un servicio de imágenes utilice una dirección URL señalando el extremo REST del servicio. Los extremos SOAP no son compatibles.

Sintaxis para las capas operacionales

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

Descripción

  • Id. (opcional): una cadena de caracteres que identifica de manera única una capa operacional. Esto es necesario en su mayor parte para leyendas.
  • url: el punto final de un servicio. No es necesario para "featureCollection" .
  • token (opcional): un token para acceder a un servicio protegido.
  • título (opcional): nombre de una capa operacional. Si se muestra en la leyenda, la leyenda en el diseño debe admitirlo.
  • visibilidad (opcional): el valor predeterminado es verdadero.
  • opacidad (opcional): los rangos de valores del 0 al 1 (valor predeterminado); 1 significa totalmente opaco y 0 significa totalmente transparente.
  • minScale (opcional): la capa no se dibujará si se aleja más allá de esa escala.
  • maxScale (opcional): la capa no se dibujará si se acerca más allá de esa escala.

Sintaxis para una capa de servicio de mapas

Ejemplo

"operationalLayers" : [
 {
  "url" : "<url1>",
  "title" : "<title1>",
  "opacity" : <opacity2>,
  "gdbVersion": "<gdbVersion>",
  "visibleLayers" : [
   <layerId1>,
   <layerId2>
  ],
  "layers" : [
   {
    "id": <sublayerId1>,
    "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
  ]
 }
]

Descripción

  • visibleLayers (opcional): conjunto de Id. de subcapas que deben estar visibles en la capa de servicio de mapas. Si esto se omite, la capa operacional se dibuja con los estados visibles predeterminados de cada subcapa. No es necesario especificar el Id. de capa del grupo. Tenga en cuenta que si un servicio de mapas es compatible con capas dinámicas, la configuración de "capas" tendrá prioridad sobre "visibleLayers". Los servicios de mapas que no utilizan capas dinámicas solamente son compatibles con la opción "layerDefinition" de la propiedad "capas".
  • capas (opcional): lista de las capas a exportar. En los servicios de mapas que utilizan capas dinámicas serán exportadas todas las capas especificadas en el conjunto "capas", omitiéndose la opción "visibleLayers"
  • drawingInfo (opcional): utilice esta opción para suprimir la configuración de dibujo de la subcapa, como por ejemplo el renderizador de la subcapa.
    • renderizador (opcional): si se especifica esta opción, suprimirá el renderizador original de la subcapa.
  • origen (opcional): representa el origen de una capa que se agrega al servicio de mapas dinámicamente a solicitud. Consulte en la Referencia de API REST de ArcGIS (disponible a través de un vínculo desde el directorio de servicios) más información sobre cómo definir el origen.
  • GdbVersion (opcional): especifique esta opción si desea ver las entidades dibujadas desde una versión de geodatabase diferente. Podrá definirla en un nivel de capa operacional para cambiar todas las capas a la versión especificada, o bien definirla como una subcapa en un conjunto "capas" para cambiar la versión de la geodatabase de cualquier capa individual.

Sintaxis para una capa de entidades

Ejemplo

"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>}
 }
]

Descripción

  • url (obligatoria): la dirección URL de la capa. Esta propiedad debe acabar con '/dynamicLayer' si una capa de entidades está basada en la capa de un servicio de mapas que utiliza capas dinámicas.
  • drawingInfo (opcional): permite especificar el renderizador de esta capa.
    • Para representar en pantalla utilizando un renderizador temporales, especifique la latestObservationRenderer, trackLinesRenderer, y observationAger propiedades aparte de el renderizador.
    • ObservationAger (opcional): el renderizador temporal admite dos tipos de observationalAger: rampAger y classBreaksAger. Para cualquier solicitud determinada, una capa puede contener una o un rampAger classBreaksAger, pero no en ambos.
  • definitionExpression (opcional): una declaración SQL que limita las entidades que se dibujarán.
  • objectIds (opcional): restringe las entidades que se dibujarán en función de los Id. de objeto.
  • timeInfo (opcional):
    • trackIdField: campo que representa de forma exclusiva uno o varios objetos determinados que se están observando. Si este campo está vacío o falta, solo se dibujará la última observación, utilizando la propiedad latestObservationRenderer.
  • geometría (opcional): restringe las entidades que dibujará una geometría.
  • geometryType (opcional): esta opción será obligatoria si se especifica una geometría.
  • spatialRel (opcional): la relación espacial que se aplicará a la geometría de entrada mientras se ejecuta la consulta.
  • relationParam (opcional): la función de relación espacial que puede aplicarse al realizar la consulta. Un ejemplo de esta función de relación espacial es "FFFTTT***".
  • selectionObjectIds (opcional): resalta las entidades con determinados Id. de objeto y el símbolo proporcionado; es necesario configurar selectionSymbol.
  • selectionSymbol (opcional): se resaltarán las entidades que tengan este símbolo. Esto es necesario cuando se especifica selectionObjectIds.
  • GdbVersion (opcional): especifica un nombre de versión de la geodatabase si se utiliza una versión distinta de aquella a la que haga referencia el servicio de entidades o de mapas.
  • origen (opcional): esta opción solamente será necesaria si una capa de entidades está basada en un servicio de mapas que utiliza capas dinámicas.

Sintaxis para una capa de servicio de imágenes

Ejemplo

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

Descripción

NotaNota:

Consulte en la Referencia de API REST de ArcGIS más información acerca de las capas de servicio de imágenes.

Sintaxis para una capa de servicio 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>"
  ]
 }
]

Descripción

  • tipo (obligatorio): para capas WMS debe especificarse como "wms".
  • formato (opcional): el formato de la imagen solicitada desde el servidor.
  • transparentBackground (opcional): si esta opción se configura como verdadero, el fondo se tornará transparente, siempre y cuando el formato de imagen solicitado sea compatible con colores transparentes. (JPEG es un ejemplo de un formato de imagen que no es compatible con un color transparente.) El valor predeterminado es falso.
  • visibleLayers (opcional): conjunto de nombres de subcapas que deben estar visibles dentro de la capa de servicio de WMS. El orden también es importante; el orden debe cumplir con los requisitos del servicio WMS. Cuando no se encuentren, todas las capas del servicio WMS será visible.
  • capas (opcional): conjunto de nombres de subcapas que se agregarán al mapa. Si no se proporciona, todas las capas de un servicio WMS se agrega al mapa.
  • estilos (opcional): utilice esta opción para suprimir un estilo de dibujo predeterminado de subcapa. Cuando se especificada, asegúrese de que el número y el orden de los estilos coincidan con el conjunto visibleLayers. Si no se desea cambiar el estilo de una subcapa en particular, podrá incorporarlo a una cadena de caracteres vacía, por ejemplo, "estilos": ["carreteras","","población"].
  • versión (opcional): la versión de WMS a la que desee conectarse. El valor predeterminado es la última versión compatible con el servicio WMS determinado.

Sintaxis para una imagen del cliente

Ejemplo

"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....",
 }
]

Descripción

  • tipo (obligatorio): para este tipo de capa, el tipo debe ser "imagen".
  • extensión (obligatorio): el cuadro de delimitación mínimo al que debe ajustarse la imagen.
  • url (opcional): la dirección URL de la imagen que desee dibujar. Esto solo es necesario cuando imageData no está aprobada.
  • imageData (opcional): la imagen está codificada como base64. Esto es necesario cuando la propiedad url no está aprobada.

Sintaxis para gráficos de cliente

"operationalLayers" : [
 {
  "featureCollection": {
   "layers": [
    {
     "layerDefinition": {
      "name": "<layerName>",
      "geometryType": "<esriGeometryType>",
      "drawingInfo": {<drawingInfo>},
      "timeInfo" : {  //optional
       "startTimeField" : "<fieldName>",
       "endTimeField" : "<fieldName>",
       "trackIdField" : "<trackIdFieldName>"
      },
      "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
       }
      ]
     }
    }
   ]
  }
 }
]

Descripción

  • capas (obligatorio): colección de capas. Una capa tiene dos propiedades - layerDefinition y featureSet.
  • layerDefinition (obligatorio): contiene propiedades que definen una capa: nombre, geometryType, drawingInfo, objectIdField y campos.
  • nombre (opcional): nombre de la capa.
  • geometryType (obligatorio): para los textos de capas, configure geometryType como esriGeometryPoint.
  • drawingInfo (opcional): si no se especifica drawingInfo, los gráficos se representarán utilizando el símbolo.
  • timeInfo (opcional):
    • startTimeField: nombre del campo que tiene una hora de inicio para una entidad. El tipo de campo debe ser datetime y el valor debe estar expresado en UTC.
    • endTimeField (opcional): nombre del campo que tiene una hora de fin para una entidad. El tipo de campo debe ser datetime y el valor debe estar expresado en UTC. Si los datos solo tienen una hora asociada (es instantáneo), no defina esta propiedad.
    • trackIdField (opcional): campo que representa de forma exclusiva uno o varios objetos determinados que se están observando. Si este campo está vacío o falta, solo se dibujará la última observación, utilizando la propiedad latestObservationRenderer.
  • objectIdField (opcional): nombre del campo que contiene Id. de objeto.
  • campos (opcional): conjunto de campos.
  • featureSet (obligatorio): contenedor de entidades.
  • entidades (obligatorio): colección de entidades.
  • geometría (obligatorio): la geometría que define la entidad o el gráfico.
  • atributos (opcional): conjunto de atributos de entidades.
  • símbolo (opcional): si se especifica, este símbolo sustituirá el definido en el renderizador.

Sintaxis de valores separados por coma (CSV), archivo de dirección URL

Ejemplo

"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"
  }
 }
]

Descripción

  • latitudeFieldName (obligatorio): el nombre del campo que contiene la coordenada Y.
  • longitudeFieldName (obligatorio): el nombre del campo que contiene la coordenada X.

Otras propiedades

NotaNota:

Consulte la Referencia de API REST de ArcGIS para obtener más información sobre las siguientes propiedades.

  • origen
  • renderizador
  • símbolo
  • textSymbol
  • labelingInfo
  • geometría
  • geometryType
  • spatialRel
  • relationParam

Sintaxis para definir drawingInfo para un renderizador temporales

Ejemplo

"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
   }
  }
 }
}

Sintaxis para definir un 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>},...]
}

Sintaxis para definir un agerClassBreakInfo

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

Descripción

  • El renderizador temporal solamente es compatible con las capas de entidades, no con las capas de gráficos del lado del cliente ni con las capas dinámicas del servicio de mapas.
  • Alfa es un valor entero que va desde 0 hasta 255.

Resultado de geoprocesamiento

Hay dos maneras en las que se puede incluir un resultado de geoprocesamiento:

  1. Cuando se devuelva un resultado de geoprocesamiento como un conjunto de entidades y se dibuja como gráficos en el lado del cliente, envíe el resultado como un conjunto de entidades.
  2. Cuando el resultado se dibuja a partir de un servicio de mapas de resultado del trabajo, agregue una nueva capa de servicio de mapas en operationalLayers y establezca la propiedad url para señalar el extremo del resultado. Por ejemplo:
    • Resultados de geoprocesamiento del servidor 10.1: http://{myMachine:6080}/arcgis/rest/services/{GPJobMapServiceName}/MapServer/jobs/{job_id}
    • Resultados de geoprocesamiento de una versión del servidor anterior a la 10.1: http://{myMachine}/arcgis/rest/services/{GPServiceName}/GPServer/{GPTaskName}/jobs/{job_id}/results/{out_param_name}

Ejemplo: resultado de geoprocesamiento como capa operacional que se dibuja a partir de un servicio de mapas de resultado del trabajo

"operationalLayers" : [
 {
  "url" : "http://myMachine/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
  "title" : "Geoprocessing Result"
 }
]

baseMap

El mapa contiene un propiedad baseMap, que tiene un título y una propiedad baseMapLayers que contiene una lista ordenada de baseMapLayer. Cada baseMapLayer deben estar en la misma referencia espacial y esquema de ordenamiento en teselas. Cuando hay una propiedad baseMap, esta define la referencia espacial del mapa.

Sintaxis para baseMap

Ejemplo

"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",
  }
 ]
}

Sintaxis para Bing Maps como basemapLayer

Ejemplo

"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"
  }
 ]
}

Sintaxis para OpenStreetMap como basemapLayer

Ejemplo

"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"
  }
 ]
}

Descripción

  • url (opcional): si no se especifica, se usa openstreetmap.org de forma predeterminada.
  • credits (opcional): créditos de la capa. Si no se especifica ningún valor para url, no surte ningún efecto.

Sintaxis para WMTS como basemapLayer

"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "type" : "wmts",
   "url" : "<url1>",
   "layer" : "<layerName>",    //optional
   "style" : "<style>",        //optional
   "format" : "<imageFormat>", //optional
   "tileMatrixSet" : "<tileMatrixSet>"  //optional
  }
 ]
}

exportOptions

Este objeto especifica la configuración del mapa de salida.

Sintaxis

Ejemplo

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

Descripción

  • ppp (opcional): la resolución, en puntos por pulgada. El valor predeterminado es 96 dpi.
  • outputSize (opcional): tamaño de la imagen, en píxeles. El tamaño debe definirse cuando una cadena de caracteres vacía o MAP_ONLY (sin comillas) se apruebe como un valor para el parámetro layout_template. Si no se configura layout_template como MAP_ONLY o como cadena de caracteres vacía, layout_template prevalecerá sobre outputSize.

layoutOptions

Esto define la configuración para diferentes elementos de diseño de página disponibles y es necesario solo cuando se elige una plantilla de diseño disponibles. Los elementos de diseño de la página incluyen el título, el texto de copyright, la barra de escala, el nombre de autor y los elementos de texto personalizados.

Esta opción reemplaza las propiedades de los elementos existentes solamente. Si un elemento no existe en la plantilla de diseño que se ha elegido, las propiedades relacionadas se ignoran. Por ejemplo, si una plantilla de diseño no tiene un elemento de texto de copyright, layoutOptions no puede agregar un nuevo elemento de texto de copyright.

Todas las propiedades de este objeto son opcionales. Cuando se especifica un valor de una propiedad, el valor del elemento de diseño de página correspondiente se sustituye; de lo contrario, el elemento existente se mantiene intacto.

Elemento de texto ExportWebMap

Texto dinámico correspondiente en ArcMap

titleText

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

authorText

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

copyrightText

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

NotaNota:

Puede leer sobre dynamicText en la Ayuda de ArcGIS para obtener más información.

Sintaxis

Ejemplo

"layoutOptions" : {
 "titleText" : "<title>",
 "authorText" : "<authorName>",
 "copyrightText" : "<copyright>",
 "scaleBarOptions" :  {
  "metricUnit" : "<meters | kilometers>" ,
  "metricLabel" : "<metricUnitLabel>",
  "nonMetricUnit" : "<feet | yards | miles | 
                    nauticalMiles>" ,
  "nonMetricLabel" : "<nonMetricUnitLabel>"
 },
 "customTextElements" : [
  {"<textElementName1>" : "<value1>"},
  {"<textElementName2>" : "<value2>"}
 ],
 "legendOptions" : {
  "operationalLayers" : [
   {
    "id" : "<webmapOperationalLayerId>",
    "sublayerIds" : [  //array of strin 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"
   }
  ]
 }
}

Descripción

  • titleText (opcional): el texto del elemento de texto del título del mapa se actualizará si existe en el diseño.
  • authorText (opcional): el texto del elemento de texto del autor se actualizará si existe en el diseño.
  • copyrightText (opcional): el texto del elemento de texto de copyright se actualizará si existe en el diseño.
  • scaleBarOptions (opcional): actualizarán una barra de escala si existe alguna.
    • metricUnit (opcional): configura las unidades de la barra de escala como unidades métricas.
    • metricLabel (opcional): cadena de caracteres que indica cómo deben etiquetarse las unidades; por ejemplo, KM, kilómetros o km. Cuando no se especifica o se aprueba una cadena de caracteres vacía, se utiliza el valor de texto de la unidad.
    • nonMetricUnit (opcional): configura las unidades de la barra de escala como unidades no métricas.
    • nonMetricLabel (opcional): cadena de caracteres que indica cómo deben etiquetarse las unidades; por ejemplo, millas o mi. Si no se especifica o se aprueba una cadena de caracteres vacía, se utilizará el valor de texto de la unidad.
  • customTextElements (opcional): es un conjunto de pares de valor y nombre. Debe utilizar esta opción si desea actualizar el texto de un elemento de texto (que no es texto dinámico) en el diseño de página. Los valores deben ser de cadenas de caracteres.
  • legendOptions (opcional): especifica las propiedades de un elemento de leyenda en el diseño.
    • operationalLayers (opcional): especifica las capas operacionales cuyas leyendas se agregarán al diseño.
      • id: cadena de caracteres que representa el Id. de la capa. El Id. debe ser único y debe coincidir con el Id. de la capa en el elemento operationalLayers donde se define la capa operacional.
      • subLayerIds (opcional): un conjunto de subcapas cuyos tipos de elementos son cadenas de caracteres o largos y contextuales para el tipo de capa operacional. Por ejemplo, para una capa de servicio de mapas, debe ser un número; para una capa WMS, debe ser una cadena de caracteres. Se recomienda que especifique los valores subLayerIds valores para las capas operacionales que tengan subcapas. Una vez omitido, en el caso del servicio de mapas y las capas WMS, se agregan las leyendas de todas las subcapas al elemento de leyenda en el diseño. Para capas de entidades o gráficos, no es necesario establecer la propiedad de las subcapas.

Limitaciones

Los símbolos a nivel de entidad que se invalidan en las capas de notas no son compatibles cuando el tipo de renderizador es de cortes de clase o simple.

9/11/2013