Esri предоставляет слои, содержащие границы и демографическую информацию в них по различным регионам мира. Эти слои, например, штаты, провинции, округа, почтовые индексы, районы и т.п. содержат локальные сведения, которые участники портала могут использовать в своих картах, сценах, приложениях, инструментах анализа и в ArcGIS Insights.
Рассмотрите возможность публикации этих слоев на вашем портале, если вы установили ArcGIS Insights или если ваш портал не имеет доступа к ресурсам ArcGIS Living Atlas of the World из ArcGIS Online.
Как администратор портала вы можете загрузить нужные вам файлы определения сервиса слоя границ (.sd) из My Esri и использовать инструмент publishboundarylayers для публикации размещенных векторных слоев из этих файлов.
Примечание:
При запуске любого из инструментов, описанных в этом разделе, надо использовать встроенную учетную запись администратора портала. URL, который вы используете для этих инструментов, зависит от того, где вы развернули ArcGIS Enterprise.
- Когда вы запускаете инструменты в локальном развертывании ArcGIS Enterprise, необходимо обращаться к порталу через порт 7443, а не через веб-адаптер или балансировщик нагрузки.
- Когда вы запускаете эти инструменты в развертывании ArcGIS Enterprise в облаке, надо получить доступ к порталу через веб-адаптер или балансировщик нагрузки; не используйте порт 7443.
Можно выполнить публикацию из папки, в которой находятся все нужные файлы, опубликовать отдельные файлы или предоставить список файлов в текстовом формате. Убедитесь, что учетная запись, используемая для установки Portal for ArcGIS, имеет доступ для чтения к этому каталогу.
Публикация этих файлов определения сервиса границ (.sd) на портал приведет к следующему:
- Каждый .sd добавляется на портал как элемент определения сервиса. Эти файлы должны остаться на портале, если нужно обновить слои границ, если они изменились.
- Для каждого опубликованного файла .sd создается размещенный векторный слой. Каждый размещенный векторный слой состоит из нескольких слоев.
- И элементы определения сервиса, и размещенные векторные слои принадлежат внутреннему участнику портала с именем esri_boundaries. Не передавайте их другому пользователю.
- По умолчанию все участники портала имеют доступ к размещенному на нем векторному слою границ. Участники портала могут получить доступ к слоям границ при помощи следующего:
- Поиск элементов слоя границ на вкладке Моя организация страницы Ресурсы.
- Добавить слои границ в инструменты анализа пространственных объектов в Map Viewer из диалогового окна Выбор слоя анализа.
- Добавить слои границ в Scene Viewer из панели Ресурсы.
Публикация слоев границ
Эти слои лицензируются в соответствии с Esri Master License Agreement. Перед публикацией прочтите краткую информацию и условия использования.
Важные требования при использовании
- Эти слои лицензированы для внутреннего использования в ArcGIS Enterprise, включая Portal for ArcGIS, ArcGIS Insights и другие связанные приложения ArcGIS.
- Пользователям не разрешается применять эти слои вне семейства продуктов ArcGIS Enterprise или экспортировать данные для автономного использования в ArcGIS и других приложениях.
- Пользователям не разрешается публиковать эти слои (ни в публичном, ни в частном доступе) для внешнего использования участниками других организаций или широкой аудиторией, без специального письменного разрешения Esri.
- Слои лицензированы для использования в течение двух (2) лет после загрузки с Esri. Вы можете загружать самые последние данные каждый год для продления срока действия лицензии.
- При любой демонстрации этих слоев с каждым из них необходимо публиковать сведения Credits (Attribution).
Для получения файлов границ и их публикации в качестве векторных слоев на портале следуйте инструкциям ниже:
- Загрузите сжатые файлы, которые содержат определения сервисов (.sd), из My Esri.
- Извлеките загруженные файлы в папку на машине с Portal for ArcGIS.
Имена файлов содержат трехбуквенный код, обозначающий регион, к которому он относится, и год для данных, прикрепленный к окончанию имени. Например, USA_Boundaries_2015 содержит границы США в 2015 году.
Удалите файлы, которые не хотите выгружать и публиковать на вашем портале. Либо создайте текстовый файл со списком файлов, которые нужно загрузить и опубликовать. Каждая строка в нем должна соответствовать только одному имени файла, например, если нужно загрузить границы США или на весь мир, в текстовом файле должно быть:
USA_Boundaries_2015 WOR_Boundaries_2015
- Откройте командное окно на машине Portal for ArcGIS.
- Измените папки на те, которые доступны инструменту.
- Запустите инструмент publishboundarylayers.
Инструмент установлен в <Portal installation directory>/tools/publishboundarylayers. Синтаксис инструмента выглядит так: publishboundarylayers --folder <location of sd files> [{--files <file names>|--file <name of text file>}] --url <Portal website URL> --username <portal administrator user name> [--password <portal administrator password>]
Если не указывать пароль при запуске инструмент, потребуется ввести пароль администратора портала. Пользователь должен иметь роль администратора портала по умолчанию.
Если используется операция --files, укажите список файлов определения сервиса, разделенных запятыми. Если используется опция --file, укажите имя и местоположение текстового файла, содержащего список файлов границ, которые хотите опубликовать.
В данном примере все файлы из директории boundaryfiles публикуются на портал по запросу:
./publishboundarylayers.sh --folder /usr/data/boundaryfiles --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере файлы находятся в той же директории (boundaryfiles), но публикуются только два из них:
./publishboundarylayers.sh --folder /usr/data/boundaryfiles --files USA_Boundaries,WOR_Boundaries --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере создается текстовый файл (boundarysubset.vi) в директории boundaryfiles. Инструмент прочитает список файлов из текстового файла, чтобы опубликовать избранные слои границ.
./publishboundarylayers.sh --folder /usr/data/boundaryfiles --file /usr/tmp/boundarysubset.vi --url https://portal.domain.com:7443/arcgis --username portaladmin
После того, как публикация будет завершена, для каждого опубликованного .sd появятся элемент определения сервиса и размещенный векторный слой.
Чтобы убедиться, что элементы появились, можно выполнить поиск по всем элементам портала, принадлежащим пользователю esri_boundaries. Введите owner:esri_boundaries в поле поиска портала и затем Поиск по всем ресурсам.
Обновление слоев границ
В большинстве случаев обновления слоя границ являются новым файлом определения сервиса, публикуемым вами на своем портале с использованием утилиты publishboundarylayers. Это позволит вам использовать слои отдельно и анализировать две версии данных. К примеру, могут быть версии файла с границами 2015 и 2017 гг. В редких случаях файлы определения сервисов, предоставленные на My Esri, обновляются корректным содержимым. В этих случаях можно загрузить файл обновлений и опубликовать их с помощью инструмента updateboundarylayers. При этом существующие размещенные векторные слои на портале будут замещены.
Как было отмечено в начале, обновить слои границ можно только в том случае, если элемент определения сервиса слоя все еще существует на портале.
Для обновления существующих векторных слоев границ на портале:
- Загрузите архивы, которые содержат обновленные файлы определений сервисов (.sd) из My Esri.
- Извлеките загруженные файлы в папку на машине с Portal for ArcGIS.
Удалите файлы, которые не хотите выгружать и публиковать на вашем портале. Либо создайте текстовый файл со списком файлов, которые нужно загрузить и опубликовать. Каждая строка в нем должна соответствовать только одному имени файла, например, если нужно загрузить границы США и на весь мир, в текстовом файле должно быть:
USA_Boundaries_2015 WOR_Boundaries_2015
- Откройте командное окно на машине Portal for ArcGIS.
- Измените папки на те, которые доступны инструменту.
- Запустите инструмент updateboundarylayers.
Инструмент установлен в <Portal installation directory>/tools/publishboundarylayers. Синтаксис инструмента выглядит так: updateboundarylayers --folder <location of files> [{--files <file names>|--file <name of text file>}] --url <Portal home page URL> --username <portal administrator user name> [--password <portal administrator password>]
Если не указывать пароль при запуске инструмент, потребуется ввести пароль администратора портала. Пользователь должен иметь роль администратора портала по умолчанию.
Если используется операция --files, укажите список файлов определения сервиса, разделенных запятыми. Если используется опция --file, укажите имя текстового файла, содержащего список файлов границ, которые хотите опубликовать.
В данном примере инструмент updateboundarylayers публикует все файлы в директории boundaryfiles, выполняя перезапись существующих слоев:
./updateboundarylayers.sh --folder /usr/data/boundaryfiles --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере файлы находятся в той же папке (boundaryfiles), но заново будет опубликован только один из них:
./updateboundarylayers.sh --folder /usr/data/boundaryfiles --files WOR_Boundaries --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере создается текстовый файл (boundaryupdatesubset.vi) в директории boundaryfiles. Инструмент прочитает список файлов из текстового файла, чтобы опубликовать избранные слои границ.
./updateboundarylayers.sh --folder /usr/data/boundaryfiles --file /usr/tmp/boundaryupdatesubset.vi --url https://portal.domain.com:7443/arcgis --username portaladmin
После того, как публикация будет завершена, размещенные векторные слои границ будут содержать обновленные данные или метаданные.
Удаление слоев границ
Если окажется, что какой-то слой границ на портале больше не нужен, можно его удалить. Можно искать слои на веб-сайте портала и удалять их там, либо запустить инструмент deleteboundarylayers. Если нужно одновременно удалить несколько слоев границ, используйте инструмент deleteboundarylayers.
Инструмент deleteboundarylayers не будет удалять слои, у которых включена защита от удаления.
Внимание:
Если удалить слой границ, который используется в карте, приложении или сцене, то этот слой больше не будет там появляться. При повторной публикации слой в них не появится, так как в этом случае будет создан новый элемент с новым ID на портале.
Можно ввести список слоев для удаления, разделенных запятыми, для операции --files, либо текстовый файл со списком слоев для удаления для операции --file.
Синтаксис списка слоев, разделенных запятыми, должен быть следующим: deleteboundarylayers {--files <layer_name_list> | --file <location_of_text_file>} --url <portalURL> --username <portal_admin> [--password password]
Например, для удаления слоев USA_Boundaries_2015 и WOR_Boundaries_2015 с портала https://portal.domain.com:7443/arcgis администратором портала под именем portaladmin введите следующее:
./deleteboundarylayers.sh --files USA_Boundaries_2015,WOR_Boundaries_2015 --url https://portal.domain.com:7443/arcgis --username portaladmin
Синтаксис текстового файла со списком слоев для удаления должен быть следующим: deleteboundarylayers --file <location_of_text_file> --url <portalURL> --username <portal_admin> [--password password]
Например, чтобы удалить те же слои с помощью файла, создайте текстовый файл, в котором каждая строка соответствует одному имени слоя (как показано здесь) и укажите, где находится и как называется этот файл при запуске инструмента:
USA_Boundaries_2015 WOR_Boundaries_2015
В следующем примере файл boundarylist находится в /usr/data/boundaries. Он содержит список слоев, которые нужно удалить с портала, https://webadaptorhost.domain.com/webadaptorname.
./deleteboundarylayers.sh --file /usr/data/boundaries/boundarylist --url https://portal.domain.com:7443/arcgis --username portaladmin