Esri предоставляет слои, содержащие границы и демографическую информацию в них по различным регионам мира. Эти слои, например, штаты, провинции, округа, почтовые индексы, районы и т.п. содержат локальные сведения, которые участники портала могут использовать в своих картах, приложениях, инструментах анализа и Insights for ArcGIS.
Эти слои должны быть опубликованы на портале, если у вас установлен Insights for ArcGIS или у портала нет доступа к ресурсам Living Atlas of the World из ArcGIS Online.
Администратор портала может загрузить нужные файлы определения сервиса слоя границ (.sd) с My Esri и запустить инструмент publishboundarylayers для публикации на их основе размещенных векторных слоев.
Примечание:
Все инструменты, описанные в этом разделе должны запускаться со встроенной учетной записью администратора портала и с доступом через порт 7443, а не через веб-адаптер или балансировщик нагрузки.
Можно выполнить публикацию из папки, в которой находятся все нужные файлы, опубликовать отдельные файлы или предоставить список файлов в текстовом формате. Убедитесь, что учетная запись, которая использовалась для установки Portal for ArcGIS имеет доступ на чтение к этой папке.
Публикация этих файлов определения сервиса границ (.sd) на портал приведет к следующему:
- Каждый .sd добавляется на портал как элемент определения сервиса. Эти файлы должны остаться на портале, если нужно обновить слои границ, если они изменились.
- Для каждого опубликованного файла .sd создается размещенный векторный слой. Каждый размещенный векторный слой состоит из нескольких слоев.
- И элементы определения сервиса, и размещенные векторные слои принадлежат внутреннему участнику портала с именем esri_boundaries. Не передавайте их другому пользователю.
- По умолчанию все участники портала имеют доступ к размещенному на нем векторному слою границ.
Публикация слоев границ
Эти слои лицензируются в соответствии с Esri Master License Agreement. Перед публикацией прочтите краткую информацию и условия использования.
Важные требования при использовании
- Эти слои лицензированы для внутреннего использования в ArcGIS Enterprise, включая Portal for ArcGIS, Insights for ArcGIS и другие связанные приложения ArcGIS.
- Пользователям не разрешается применять эти слои вне семейства продуктов ArcGIS Enterprise или экспортировать данные для автономного использования в ArcGIS и других приложениях.
- Пользователям не разрешается публиковать эти слои (ни в публичном, ни в частном доступе) для внешнего использования участниками других организаций или широкой аудиторией, без специального письменного разрешения Esri.
- Слои лицензированы для использования в течение двух (2) лет после загрузки с Esri. Вы можете загружать самые последние данные каждый год для продления срока действия лицензии.
- При любой демонстрации этих слоев с каждым из них необходимо публиковать сведения Credits (Attribution).
Для получения файлов границ и их публикации в качестве векторных слоев на портале следуйте инструкциям ниже:
- Загрузите архивы, которые содержат файлы определений сервисов (.sd) из My Esri.
- Войдите в My Esri.
- Перейдите в Мои организации > Загрузки > Данные и ресурсы.
- Введите Boundary в поле поиска, чтобы отфильтровать слои границ.
- Щелкните Загрузить для выбранных файлов.
- Извлеките загруженные файлы в папку на машине с 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 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/tmp/boundaryfiles --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере файлы находятся в той же папке (boundaryfiles), но публикуются только три из них:
./publishboundarylayers.sh --folder /usr/tmp/boundaryfiles --files USA_Boundaries,WOR_Boundaries --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере создается текстовый файл (boundarysubset.txt) в папке boundaryfiles. Инструмент прочитает список файлов из текстового файла, чтобы опубликовать избранные слои границ.
./publishboundarylayers.sh --folder /usr/tmp/boundaryfiles --file 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, укажите имя текстового файла, содержащего список файлов границ для публикации.
В данном примере все файлы из папки boundaryfiles публикуются на портал, при этом существующие слои будут заменены:
./updateboundarylayers.sh --folder /usr/tmp/boundaryfiles --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере файлы находятся в той же папке (boundaryfiles), но заново будет опубликован только один из них:
./updateboundarylayers.sh --folder /usr/tmp/boundaryfiles --files WOR_Boundaries --url https://portal.domain.com:7443/arcgis --username portaladmin
В данном примере создается текстовый файл (boundaryupdatesubset.txt) в папке boundaryfiles. Инструмент прочитает список файлов из текстового файла, чтобы переопубликовать избранные слои границ.
./updateboundarylayers.sh --folder /usr/tmp/boundaryfiles --file 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