Несколько источников векторных листов

Вы можете собрать содержание из нескольких источников для векторных листов в единый картографический слой векторных листов, который будет ссылаться на каждый ресурс, но при этом будет оставаться в едином стиле. Вы можете смешивать и сочетать содержание из существующих слоев векторных листов, при этом не нужно создавать или размещать дублирующиеся данные векторных листов для каждой новой комбинации. Поддержка и сочетание разных слоев векторных листов в данном случае может оказаться довольно удобной при частом обновлении каждого слоя по отдельности.

Собрав исходные данные из нескольких источников векторных листов, вы можете сделать следующее:

  • Добавить дополнительное содержание для векторных листов в векторные базовые карты Esri
  • Заменить отдельные слои на векторных базовых картах Esri своими
  • Скомбинировать ресурсы из ArcGIS Living Atlas, ArcGIS Online и ArcGIS Enterprise

Обновление стиля векторных листов

В исходниках стиля векторных листов, которые являются кодом JSON свойство sources содержит несколько источников типа vector вместо единого источника типа vector.

В примере ниже используются два источника векторных листов. Первый называется "esri". Он содержит картографические данные по дорожной сети города Редлендс. Второй источник называется "contours". Он содержит границы территории Редлендса. Каждый слой в стиле векторных листов будет ссылаться на один из этих sources.

"sources": {
    "esri": {
      "type": "vector",
      "url": "https://tiles.arcgis.com/tiles/8cv2FuXuWSfF0nbL/arcgis/rest/services/Redlands_streetmap/VectorTileServer"
    },
    "contours": {
      "type": "vector",
      "url": "https://tiles.arcgis.com/tiles/8cv2FuXuWSfF0nbL/arcgis/rest/services/Redlands_contours/VectorTileServer"
    }
  },

Сочетание сервисов векторных листов

Вы можете сочетать несколько сервисов векторных листов с разными свойствами. В списке ниже приведены разрешенные комбинации:

  • Вы можете комбинировать сервисы векторных листов, опубликованные на ArcGIS Online или ArcGIS Enterprise.
  • Каждый источник векторных листов в стиле векторных листов должен иметь ту же схему листов и пространственную привязку, но максимальный уровень детальности может быть разным.
  • Вы можете сочетать несколько сервисов векторных листов с разными экстентами. Слой векторных листов будет отображаться как объединение всех этих экстентов.
  • Вы можете сочетать сервисы векторных листов с форматами векторных листов INDEXED или FLAT.

Пример: Сочетание источников Esri's A Children's Map и Streets

Используя несколько источников, вы можете добавить любое содержание в существующие векторные базовые карты Esri.

В данном примере "streets" встраивается в A Children's Map из ArcGIS Living Atlas.

Children's Map
Часть карты Esri's A Children's Map.

У этой карты нет слоя улиц в стиле. Изменив копию стиля векторных листов для нее, источник листов "streets" может быть добавлен в свойство sources. Затем новые слои могут быть добавлены в стиль, который ссылается на новый источник "streets".

Children's Map с улицами
Часть карты Esri's A Children's Map, включающая источник листов из Streets.

Источники векторных листов

"sources": {
    "esri": {
      "type": "vector",
      "url": "https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Esri_Childrens_Map/VectorTileServer"
    },
    "streets": {
      "type": "vector",
      "url": "https://<portal_name>/server/rest/services/Hosted/streets/VectorTileServer"
    }
},

Слои векторных листов в стиле JSON

"layers" : [{
    "id" : "Land/Not ice",    "type" : "fill",    "source" : "esri",    "source-layer" : "Land",    "filter" : ["==", "_symbol", 0],    "layout" : {},    "paint" : {
	"fill-color" : "#F2EFCC"
	}
    }, {
    "id" : "roads1",    "type" : "line",    "source" : "streets",    "source-layer" : "street",    "minzoom" : 4,    "layout" : {
    	"line-join" : "round"
        	},    "paint" : {
	"line-color" : "#B9B7B9",	"line-width" : 3.33333	}
    }, {
    "id" : "roads2",    "type" : "line",    "source" : "streets",    "source-layer" : "street",    "minzoom" : 4,    "layout" : {
 	"line-join" : "round"
	},    "paint" : {
	"line-color" : "#E1E1E1",	"line-width" : 1.33333	}
    },

Связанные разделы