Skip To Content

Рекомендации по пакетному геокодированию на портале

Требования

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

Достоинства

Мы можем использовать возможности ArcGIS Enterprise, чтобы получить максимальную отдачу от опубликованных сервисов геокодирования.. После публикации локатора на портал его можно использовать для пакетного геокодирования. Преимущества использования портала для пактеного геокодирования включают:

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

Архитектура

Чтобы максимально эффективно использовать опубликованные сервисы локаторов, вы можете масштабировать число экземпляров сервера геокодирования. Вы можете это сделать, перейдя в директорию Сервисы в ArcGIS Server Manager и выбрав сервис геокодирования, который хотите масштабировать, затем нужно перейди на вкладку Слияние сервисов и изменить параметры Минимальное число экземпляров на одном компьютере и Максимальное число экземпляров на одном компьютере. Для задач геокодирования эти два числа всегда должны быть одинаковыми. Если вы хотите, чтобы всегда было доступно 4 экземпляра, установите для обоих параметров значение 4.

Добавление numBatchThreads

На рисунке выше администратор ArcGIS увеличил количество экземпляров на компьютере до четырех. Администратор ArcGIS вашей организации может затем задать для свойства numBatchThreads значение 4 для локатора, это повысит производительность операций пакетного геокодирования в четыре раза. Администратор может настроить свойство numBatchThreads в локации общего доступа Portal for ArcGIS Directory. Обратите внимание, что если два пользователя захотят выполнить пакетное геокодирование одновременно, администратору ArcGIS придется установить для свойства numBatchThreads значение 2, либо задачи будут поставлены в очередь и появится вероятность возникновения тайм-аута во время ожидания выполнения другой задачи. В другом случае каждая задача пакетного геокодирования будут запущена для двух доступных экземпляров локаторов и конечный сервис локатора сможет обработать загрузку нескольких задач одновременно.

Конфигурация

Инструкции ниже описывают, как администратор ArcGIS может настроить свой портал для выполнения описанной выше процедуры асинхронного пакетного геокодирования.

Добавьте ведение журнала для получения дополнительный сведений во время пакетного геокодирования

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

  1. Перейдите к ArcGIS Server Manager для вашего размещенного сервера.
  2. Щелкните папку Utilities в директории Server Manager.
  3. Щелкните сервис геообработки GeocodingTools.
  4. Щелкните баннер Параметры слева и измените Уровень сообщений на Информация. Затем щелкните кнопку Сохранить и перезапустить сверху в правом углу.

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

Увеличение времени ожидания пакетного геокодирования

По умолчанию время ожидания сервиса геообработки GeocodingTools для заданий превышает 200 минут. Если предполагается, что выполнение пакетного задания геокодирования может занять более 3 часов и 20 минут, необходимо увеличить максимальное время, в течение которого клиент может использовать сервис.

  1. Перейдите к ArcGIS Server Manager для вашего размещенного сервера.
  2. Щелкните папку Utilities в директории Server Manager.
  3. Щелкните сервис геообработки GeocodingTools.
  4. Щелкните баннер Слияние слева и измените максимальное время, которое клиент может использовать сервис. Увеличение этого значение до очень больших чисел гарантирует что время выполнения даже больших заданий пакетного геокодирования никогда не превысит время ожидания. Затем щелкните кнопку Сохранить и перезапустить сверху в правом углу.

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

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

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

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

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

  1. Перейдите к Portal for ArcGIS 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 в текстовом поле Сервис геокодирования, щёлкните Обновить организацию в нижней части страницы.

Инструменты, в которых доступно пакетное геокодирование

После того, как администратор ArcGIS настроит значение numBatchThreads для локатора, пользователи могут использовать преимущества улучшенной производительности задач пакетного геокодирования. Инструменты, которые используют эти преимущества: Геокодировать таблицу, Геокодировать местоположения из таблицы и Геокодировать файл в ArcGIS Pro, а также Геокодировать местоположения из таблицы в Map Viewer.