Skip To Content

Настройка портала на геокодирование адресов

Полезной особенностью Portal for ArcGIS является способность размещать на карте адреса из файла CSV или таблицы. Чтобы разрешить это, вы должны убедиться, что портал имеет действительный служебный сервис геокодирования (поиска адресов) и хост-сервер (для чтения адресов и отправки их в служебный сервис геокодирования).

Установка служебного сервиса геокодирования

Вам следует установить служебный сервис геокодирования для вашего портала для одновременного геокодирования большого числа адресов, например, в случае добавлении во вьюер карт CSV-файла с адресами. Вы можете воспользоваться сервисом геокодирования организации ArcGIS Online либо настроить свой сервис геокодирования, работающий на интегрированном GIS Server либо автономном GIS Server.

Более подробно об установке служебных сервисов геокодирования см. в разделе Конфигурация служебных сервисов. Информацию о настройке вашего собственного сервиса геокодирования см. в следующем подразделе.

Настройка вашего собственного сервиса геокодирования

Portal for ArcGIS по умолчанию использует сервис геокодирования World, размещенный на ArcGIS Online. Если ваша организация имеет собственные данные локатора, которые используются при нахождении адресов и названий мест, или у вашего портала нет доступа к ArcGIS Online, опубликуйте сервис геокодирования и настройте его, чтобы он использовался в качестве служебного сервиса геокодирования портала.

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

  1. Следуйте инструкциям в разделе Создание локатора адресов справки ArcGIS Desktop, чтобы создать локатор из ваших данных. Если вы желаете видеть предложения, появляющиеся во вьюере карт, при создании локатора отметьте опцию Предложить инструмента Создать локатор адресов.
  2. Опубликуйте локатор как сервис, щелкнув правой кнопкой мыши по локатору в дереве Каталога в ArcGIS Desktop и выбрав Опубликовать как сервис (Share As Service)

    Более подробно о публикации как сервис смотри в разделе Как опубликовать сервис (How to publish a service) справочной системы ArcGIS Server.

  3. Если при создании локатора вы не включили функцию Предложить, вы можете включить ее на сервисе геокодирования после его публикации. Откройте Редактор сервисов (Service Editor) для данного сервиса в ArcGIS Desktop или в ArcGIS Server Manager, щелкните закладку Возможности (Capabilities) и отметьте опцию Предложить.
  4. Настройте полученный в результате сервис как служебный сервис портала для геокодирования, следуя инструкциям в разделе Конфигурация служебных сервисов.

Настройте реляционное хранилище данных с помощью GIS Server

Перед тем, как назначить интегрированный GIS Server хост-сервером портала, следует сначала настроить для него существующее реляционное хранилище данных.

  1. Установите ArcGIS Data Store.
  2. Создайте реляционное хранилище данных.

    При создании реляционного хранилища данных, укажите адрес URL того сайта GIS Server, который вы хотите использовать в качестве хост-сервера портала.

Интегрируйте GIS Server с вашим порталом

Перед тем, как назначить сайт GIS Server хост-сервером, вам следует сначала интегрировать его с порталом. Сайт GIS Server, который вы интегрируете с порталом, должен иметь необходимые настройки для обмена данными по протоколам HTTP и HTTPS или только HTTPS.

Подробные инструкции см. в разделе Интеграция сайта ArcGIS Server с вашим порталом.

Назначение хост-сервера

Укажите сайт GIS Server, который вы только что интегрировали со своим порталом, как хост-сервер.

  1. Выберите сайт GIS Server, из ниспадающего списка в разделе Хост-сервер на панели Сервер.
  2. Щёлкните Сохранить.

Настройка инструмента Геокодировать местоположения из таблицы для использования геокодера Esri World Batch Geocoder

По умолчанию, сервис Esri World Batch Geocoder опубликован в организации, когда вы настроите его, как служебный. Чтобы позволить пользователям и публикаторам организации отправлять запросы пакетного геокодирования с использования Esri World Batch Geocoder инструментом Геокодировать местоположения из таблицы, вам нужно опубликоватьEsri World Batch Geocoder для Всех.

  1. Перейдите в Мои ресурсы.
  2. Щелкните элемент локатора AGO World Geocoder, чтобы открыть страницу информации о нем.
  3. Щелкните Опубликовать на вкладке Обзор и поставьте отметку Все.
  4. Щелкните ОК.

Используя Esri World Batch Geocoder в инструменте Геокодировать местоположения из таблицы, вы расходуете кредиты организации ArcGIS Online, используемой при настройке служебного сервиса геокодирования. Число конкурирующих запросов пакетного геокодирования Esri World Batch Geocoder нельзя настроить и всегда равно единице. С помощью любого сервиса локатора инструмент Геокодировать местоположения из таблицы не будет тратить кредиты, а другие локаторы можно настроить для отправления нескольких конкурирующих запросов пакетного геокодирования.

Настройте предложенное число параллельных пакетных запросов геокодирования для вашего служебного сервиса геокодирования

Служебный сервис геокодирования может быть также использован сервисом геообработки GeocodingTools, запущенным на вашем интегрированном сайте GIS Server. Сервис геообработки может посылать множество параллельных запросов к служебному сервису геокодирования, чтобы ускорить общее выполнение пакетного геокодирования. Число параллельных пакетных запросов, выполняемых сервисом геообработки, может быть настроено администратором портала. Если сервис геообработки выполняет обширные параллельные пакетные запросы к служебному сервису геокодирования, то сервис геокодирования может работать медленно, что приведет к увеличению ошибок при запуске сервиса геообработки. По этой причине администратор должен задать число экземпляров, используемых сервисом геообработки, на основе числа экземпляров, доступных для служебного сервиса геокодирования, а также должен настроить число параллельных пакетных запросов геокодирования, которые могут быть выполнены из любого экземпляра сервиса геокодирования GeocodingTools.

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

Обратите внимание, что Esri World Batch Geocoder нельзя настроить на использование большего количества конкурирующих запросов. Следующая конфигурация применима ко всем опубликованным сервисам локаторов, настроенным, как служебные сервисы.

Чтобы настроить предложенное число параллельных пакетных запросов геокодирования для вашего служебного сервиса геокодирования, используйте следующие шаги:

  1. Перейдите к Portal for ArcGISArcGIS Portal Directory и войдите с учетной записью участника портала, имеющего административные права доступа. URL-адрес имеет вид https://webadaptorhost.domain.com/<webadaptorname>/sharing/rest.
  2. Перейдите к Домой > Порталы > Авто.
  3. Щелкните Обновить в нижней части страницы.
  4. В текстовом поле Сервис геокодирования вы увидите служебные сервисы геокодирования, настроенные в текущий момент времени для портала. Для служебных сервисов геокодирования, которые позволяют выполнять пакетное геокодирование (это можно определить по значению свойства batch, установленного на true), вы можете настроить рекомендуемое число параллельных пакетных запросов геообработки. Выберите геокодер, который вы хотите настроить с помощью этого свойства. JSON в текстовом поле Сервис геокодирования будет иметь следующий формат:
    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000
        }]

  5. Добавьте свойство numBatchThreads ко всем служебным сервисам геокодирования, которые вы хотите использовать с сервисом геообработки GeocodingTools. Для того, чтобы установить значение numBatchThreads, сначала определите число параллельных пакетных запросов геообработки, которые вы хотите включить для данного служебного сервиса геокодирования, и задайте свойство равным этому числу. Обратите внимание, что для настройки numBatchThreads служебного сервиса геокодирования значение batch должно быть равно true.

    В данном примере число разрешенных параллельных пакетных запросов геокодирования для служебного сервиса Streetmap Premium USA Geocoder задано равным четырем.

    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000,
            "numBatchThreads" : 4
        }]

  6. После того как вы обновили JSON в текстовом поле Сервис геокодирования, щелкните Обновить организацию в нижней части страницы.

Адрес url служебного сервиса геокодирования с добавленным свойством numBatchThreads должен быть использован в качестве geocodeServiceURL в задачах AnalyzeGeocodeInput и BatchGeocode. Дополнительную информацию о выполнении инструментов внутри сервиса GeocodingTools через задачи ArcGIS REST API см. в документации ArcGIS REST API.