При попытке распечатать карту с помощью сервиса геообработки PrintingTools, входящего в состав ArcGIS Server, вы должны определить представление карты в формате JavaScript Object Notation (JSON), в том числе информацию о слое и экстенте. JSON необходимо структурировать в соответствии со спецификацией Esri ExportWebMap.
При использовании ArcGIS REST API вам не нужно беспокоиться по поводу создания JSON – API сделают это за вас. Тем не менее, эта тема включена для справки на случай, если вам когда-нибудь понадобится создать представление JSON самостоятельно. Это может произойти, если вам нужно вызвать сервис PrintingTools напрямую или запустить его исходный инструмент геообработки Экспорт веб-карты из другого приложения.
Примечание:
Для большего удобства и понятности примеры JSON в данном разделе отформатированы. Однако на практике вам следует вставлять в сервисы печати не отформатированные выражения JSON.
Веб-карта состоит из пяти объектов верхнего уровня:
{
"mapOptions": {},
"operationalLayers": [],
"baseMap": [],
"exportOptions": {},
"layoutOptions": {},
"reportOptions": {}
}
mapOptions
Объект mapOptions является обязательным и определяет свойства отображения карты.
Синтаксис: | Пример |
---|---|
|
|
Описание | |
|
operationalLayers
Список operationalLayers содержит все рабочие слои, которые будут отображаться на карте. Порядок в массиве определяет порядок слоев на карте. Тип каждого слоя определяется по типу ответа ресурса URL. Если ресурс нельзя определить по строке URL, свойство type определяет тип. Например, слой WMS требует, чтобы вы указали "type": "wms". Есть некоторые свойства, общие для всех типов рабочих слоев, в то время как другие являются специфическими для каждого типа рабочего слоя.
При наличии защищенных слоев задайте маркер токен в определении слоя. Имя пользователя и пароль не могут использоваться в качестве части строки URL.
Примечание:
Для картографического сервиса, сервиса объектов или сервиса изображений используйте URL, указывающий на конечную точку доступа REST сервиса. Конечные точки SOAP не поддерживаются.
Синтаксис для рабочих слоев |
---|
|
Описание |
Примечание:Описываемые ниже свойства являются общими для всех типов рабочих слоев (например: слоя картографического сервиса, построения изображения на стороне клиента, слоя kml и т.д.). Поэтому они могут быть не включены в раздел для каждого типа перечисленных ниже рабочих слоев.
|
Синтаксис для слоя картографического сервиса | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для слоя объектов | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для слоя сервиса изображений | Пример |
---|---|
|
|
Описание | |
Примечание:См. справку ArcGIS REST API для получения дополнительной информации о слоях сервиса изображений. |
Синтаксис для слоя WMS-сервиса | |
---|---|
| |
Описание | |
|
Синтаксис для слоя KML | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для изображений на стороне клиента | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для графики на клиентской стороне | Пример | |
---|---|---|
|
| |
Описание | ||
|
Синтаксис для файлов с разделением значений запятыми (CSV) по URL-адресу | Пример | |
---|---|---|
|
| |
Описание | ||
|
Прочие свойства
Примечание:
См. справку ArcGIS REST API для получения дополнительной информации о следующих свойствах.
- source
- renderer
- symbol
- textSymbol
- labelingInfo
- geometry
- geometryType
- spatialRel
- relationParam
Синтаксис для определения drawingInfo для временной визуализации | Пример |
---|---|
Примечание:Временная отрисовка не поддерживается Сервисами печати, опубликованными из ArcGIS Pro.
|
|
Синтаксис для определения symbolAger | |
| |
Синтаксис для определения agerClassBreakInfo | |
| |
Описание | |
|
Результат геообработки
Результат геообработки может быть включен двумя способами.
- Когда результатом геообработки является набор объектов, и он отрисовывается как графика на стороне клиента, отправьте результат в виде группы объектов.
- Когда результат отрисовывается с помощью картографического сервиса задания, создайте новый слой картографического сервиса в operationalLayers и укажите свойство URL, чтобы определить конечную точку результата. Например:
- Результат геообработки из 10.1 или более поздней версии: https://gisserver.domain.com:6080/arcgis/rest/services/GPJobMapServiceName/MapServer/jobs/job_id
- Результат геообработки из 10.0 и предыдущих версий: https://gisserver.domain.com/arcgis/rest/services/GPServiceName/GPServer/GPTaskName/jobs/job_id/results/out_param_name
Пример: результат геообработки в качестве рабочего слоя, который отрисовывается с помощью картографического сервиса задания
"operationalLayers": [
{
"url": "https://gisserver.domain.com:6080/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
"title": "Geoprocessing Result"
}
]
baseMap
Карта содержит один объект baseMap, имеющий название, и свойство baseMapLayers, содержащее упорядоченный список baseMapLayers. Каждый объект baseMapLayer должен иметь одинаковую пространственную привязку и схему листов. Когда есть объект baseMap, он определяет пространственную привязку карты.
Синтаксис для baseMap | Пример |
---|---|
|
|
Синтаксис для функции Слой векторных листов как baseMapLayer | Пример |
---|---|
Примечание:Слои векторных листов поддерживаются только Сервисами печати при публикации из ArcGIS Pro.
|
|
Синтаксис для использования Bing Maps в качестве объекта basemapLayer | Пример |
---|---|
|
|
Синтаксис для OpenStreetMap как basemapLayer | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для WebTiledLayer как basemapLayer | Пример |
---|---|
|
|
Описание | |
|
Синтаксис для WMTS в качестве объекта basemapLayer |
---|
|
exportOptions
Этот объект определяет параметры выходной карты.
Синтаксис | Пример |
---|---|
|
|
Описание | |
|
layoutOptions
Определяет настройки для различных доступных элементов компоновки страницы и требуется только в случае, когда выбран доступный шаблон компоновки. Элементы компоновки страницы включают название, авторские тексты, масштабную линейку, имя автора, пользовательские и динамические текстовые элементы, элементы фрейма диаграммы и элементы фрейма таблицы.
Примечание:
Эта опция заменяет свойства только существующих элементов. Если элемент не существует в выбранном шаблоне компоновки, связанные с ним свойства не будут использованы. Например, если в шаблоне компоновки нет элемента авторских прав, в компоновку не будет добавлен новый элемент текста авторских прав, даже если в layoutOptions указан элемент copyrightText.
Диаграммы должны быть полностью определены в рабочих слоях, прежде чем использовать их в качестве источников для элементов фрейма диаграммы.
Все свойства этого объекта являются необязательными. Когда значение свойства не указано, значение соответствующего элемента компоновки страницы будет заменено. В противном случае, существующий элемент останется неизменным.
Пользовательский текстовый элемент ExportWebMap | Соответствующий динамический текст в ArcGIS Pro |
---|---|
titleText | <dyn type="layout" property="metadata" attribute="title" emptyStr=""/> |
authorText | <dyn type="layout" property="metadata" attribute="contactname" emptyStr=""/> |
copyrightText | <dyn type="layout" property="metadata" attribute="credits" emptyStr=""/> |
Примечание:
Более подробно об объекте dynamicText см. в Справке ArcGIS.
Синтаксис | Пример |
---|---|
|
|
Описание | |
|
reportOptions
Определяет настройки для различных доступных элементов отчета и требуется только в случае, когда выбран доступный шаблон отчета. Элементы отчета включают идентификаторы источника и связанных источников, список полей и т.д.
Примечание:
Эта опция заменяет свойства только существующих элементов. Если элемент не существует в выбранном шаблоне отчета, связанные с ним свойства не будут использованы. Например, если шаблон отчета не имеет связанного отчета, выходные отчеты не будут иметь связанных записей.
Все свойства этого объекта являются обязательными.
Отправьте запрос на задачу Получить информацию шаблонов отчетов, чтобы получить элементы, доступные для каждого шаблона отчета.
Синтаксис | Пример |
---|---|
|
|
Описание | |
| |
Ограничения
Символы на уровне объекта, замещенные в слоях примечаний, не поддерживаются, если для отображения используются такие методы, как границы классов или простое отображение.