Skip to main content

Настройка организации на геокодирование адресов

В ArcGIS Enterprise вы можете использовать локатор, чтобы превратить адреса или названия мест в точки на карте.

Добавление сервисов геокодирования в ArcGIS Enterprise

Чтобы превратить адреса в точки на карте вашей организации, необходимо добавить в организацию сервис геокодирования и настроить его как служебный сервис. Вы можете настроить и использовать сервис геокодирования ArcGIS World Geocoding, но для пакетного геокодирования потребуются кредиты ArcGIS Online. Кроме того, вы можете опубликовать свой собственный локатор как сервис геокодирования на ArcGIS Enterprise и использовать его.

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

Настройка ArcGIS World Geocoding Service для ArcGIS Enterprise

Чтобы настроить ArcGIS World Geocoding Service для ArcGIS Enterprise, выполните следующие действия:

  1. Войдите в организацию как администратор.

  2. Перейдите на вкладку Организация, щелкните Настройки и выберите ArcGIS Online.

  3. Отметьте Геокодирование и введите свои имя пользователя и пароль ArcGIS Online.

    Каждый раз, когда ArcGIS World Geocoding Service используется для пакетного геокодирования в этой организации, кредиты списываются с аккаунта пользователя ArcGIS Online, указанного в этом диалоговом окне.

  4. Щелкните Настроить.

Настройка вашего собственного локатора

Совместное использование собственного локатора с использованием ваших собственных данных или данных ArcGIS StreetMap Premium позволяет создавать сервисы геокодирования, адаптированные к потребностям вашей организации.

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

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

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

Чтобы настроить свой локатор с помощью локальных Постоянных томов, выполните следующие действия:

  1. Создайте в своем кластере пул узлов со спецификацией узлов, которая может поддерживать локальные тома.

    Например, вы можете использовать узлы с хранилищами экземпляров в Amazon Elastic Kubernetes Service (EKS).

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

    1. Копировать данные локатора в бакет S3 в вашей организации.

    2. Создайте шаблон запуска, который создает локальную директорию на вашем узле и копирует файлы локатора из бакета S3 в локальную директорию на ваших узлах геокодирования.

      Например, чтобы копировать данные из папки с названием локатор в бакете S3 с названием my-bucket в локальную директорию /data/locatordata на узле, включите следующее в раздел User data вашего шаблона запуска:

      > #!/bin/bash
      > sudo su - root -c "mkdir /data"
      > sudo su - root -c "aws s3 sync s3://my-bucket/locator/ /data/locatordata/"
      
    3. Используйте этот шаблон запуска для вашей группы узлов геокодирования.

  2. Создайте пользовательскую подпись для этого пула узлов.

    Например, чтобы добавить надписи к узлам с ключом Type и значением Geocoding, используйте следующую команду:

    kubectl label nodes <your-node-pool-selector> Type=Geocoding

  3. Создайте локальный Постоянный том с привязкой узлов для пула узлов.

    Поскольку локальный Постоянный том доступен только на указанных вами узлах, сервисы геокодирования, настроенные для использования этого постоянного тома, будут запланированы только на этих узлах. Ниже приведен пример:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: arcgis-enterprise-folder-pv
    spec:
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteOnce
      persistentVolumeReclaimPolicy: Retain
      storageClassName: arcgis-folder-pv
      local:
        path: /path/to/service/data # copy locator data to this path
      nodeAffinity:
        required:
          nodeSelectorTerms:
            - matchExpressions:
              - key: Type
                operator: In
                values:
                  - geocoding
    
  4. Создание локатора.

    Вы можете использовать ArcGIS Pro для создания локатора из ваших собственных данных. Кроме того, можно использовать локатор StreetMap Premium, если ArcGIS Enterprise on Kubernetes и ArcGIS Pro лицензированы для соответствующего дополнительного модуля StreetMap Premium.

  5. Для каждого узла в выделенном пуле узлов геокодирования убедитесь, что файлы локатора .loc и .loz скопированы в локальный каталог, указанный в Постоянном томе.

  6. Добавьте папку хранилища данных на основе PV.

    Вы должны указать Это локальный постоянный том для сервисов маршрутизации или геокодирования. Для Путь к папке издателя укажите местоположение, где издатель может получить доступ к данным локатора из ArcGIS Pro.

  7. Опубликовать локатор из ArcGIS Pro и настроить число экземпляров на модуль локатора в ArcGIS Pro.

  8. Примените допуск, чтобы гарантировать, что модули сервиса геокодирования могут быть запланированы на узлах в пуле выделенных узлов геокодирования.

    Например, чтобы добавить допуск для узлов с ключом Type и значением Geocoding, используйте следующие значения:

    • Эффект — не выполнять

    • Ключ — тип

    • Оператор — равно

    • Значение — геокодирование

  9. Измените узлы в пуле выделенных узлов геокодирования, чтобы гарантировать, что на этих узлах запланированы только модули сервиса геокодирования.

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

    kubectl taint nodes -l Type=Geocoding:NoExecute

  10. При необходимости выделите модулю больше ресурсов.

    Настройте число модулей, предел памяти и предел CPU для локатора в ArcGIS Enterprise Manager. Чтобы распределять ресурсы, вы должны быть администратором организации.

  11. Войдите на портал как администратор.

  12. Перейдите в Организация > Настройки > Служебные сервисы и настройте опубликованный локатор для вашей организации.

Примечание:

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