Редактирование через Интернет дает возможность значительно большему количеству людей добавлять данные и улучшать качество ваших данных. В эту группу людей входят полевые работники, аналитики из других отделов компании или волонтеры, привлеченные через краудсорсинг, которые могли бы внести ценный вклад в ваши данные через простой и удобный интерфейс редактирования.
В этом руководстве вы загрузите данные в вашу базу данных, предоставите права доступа к данным, зарегистрируете вашу базу данных в ArcGIS Server, создадите документ карты, опубликуете сервис объектов и воспользуетесь сервисом объектов через Map Viewer Classic в ArcGIS Online для редактирования данных.
Действия перед выполнением этого руководства
Если вы хотите опубликовать сервис объектов базы данных, предполагается, что у вас есть база данных, хранящая пространственные данные. Если нет, установите программное обеспечение СУБД и создайте базу данных. В некоторых случаях вам понадобится также установить пространственный тип или активировать хранение базой данных пространственной информации. Вы можете опубликовать сервисы объектов с использованием следующих СУБД:
- Dameng
- IBM Db2
- Microsoft SQL Server
- Oracle (установите тип ST_Geometry или используйте Oracle SDO_Geometry)
- PostgreSQL (установите тип ST_Geometry или PostGIS)
- SAP HANA
- Teradata
Для выполнения данного упражнения вам необходимы два пользователя базы данных: у одного должны быть права на создание таблиц и классов пространственных объектов в базе данных (владелец данных), а у другого изначально – только права на подключение к базе данных (редактор данных). Затем вы выдадите редактору права на редактирование данных, которые будут опубликованы в качестве сервиса объектов.
Если вы являетесь администратором базы данных, вы можете использовать инструменты СУБД для создания обоих пользователей и выдачи им необходимых прав доступа. Можно воспользоваться инструментом геообработки Создать пользователя базы данных для создания пользователя "владелец данных", однако, вам все равно понадобятся инструменты СУБД для создания пользователя "редактор данных". Если вы не являетесь администратором базы данных, попросите администратора базы данных создать двух указанных выше пользователей, чтобы вы смогли выполнить данное упражнение.
Если вы только что установили ArcGIS Server, прочитайте следующую информацию перед началом работы с руководством пользователя:
- Подробные инструкции по настройке сайта ArcGIS Server см. в разделе Развертывание Справки ArcGIS Server.
- Если до этого вы не работали с сервисами объектов, см. Сервисы объектов
- Чтобы опубликовать сервис объектов в ArcGIS Server, необходимо зарегистрировать данные на сайте ArcGIS GIS Server. Порядок регистрации данных зависит от того, хотите ли вы, чтобы сервис объектов осуществлял доступ к данным вашей исходной базы данных или к копии данных. В целях выполнения данного упражнения сервис объектов будет работать с данными вашей базы геоданных. Но вы должны понимать, что это означает, и какие другие варианты возможны. Для понимания того, какой метод вам ближе, обратитесь к разделу Включение доступа к данным в ArcGIS Server.
Подготовка данных
Упражнение содержит инструкции для копирования классов пространственных объектов в вашу базу данных с использованием ArcGIS. Данные, скопированные через ArcGIS, отвечают следующим критериям, что необходимо для их публикации в виде сервиса объектов:
- Классы пространственных объектов, публикуемые в качестве сервиса объектов, для возможности их редактирования должны иметь целочисленное поле, отличное от нуля, автоматически заполняемое уникальными значениями базой данных. Это поле будет использоваться как поле ObjectID.
- ArcGIS распознает только один пространственный столбец, одну пространственную привязку и один тип геометрии (т.е. точки, линии или полигоны) для класса пространственных объектов. Если ваш класс пространственных объектов содержит несколько пространственных столбцов, ArcGIS воспользуется первым слева считанным ее столбцом. Если ваш класс пространственных объектов содержит записи с различными пространственными привязками, геометриями или размерностями, ArcGIS считает значение первой записи класса объектов и будет использовать его. Записи, не соответствующие этому значению, не будут использоваться.
- Все классы пространственных объектов, которые публикуются в сервис объектов, должны иметь пространственную привязку. Классы объектов с неизвестной пространственной привязкой не будут публиковаться.
- ArcGIS распознает данные определенных типов. Если класс пространственных объектов содержит типы данных, не поддерживаемые ArcGIS, такие данные не будут отображаться в клиентах ArcGIS и будут недоступны через сервис объектов. Обратитесь к разделу Типы данных СУБД, поддерживаемые в ArcGIS для получения списка типов данных, с которыми может работать ArcGIS.
Для создания в ArcGIS класса объектов, соответствующего этим требованиям, выполните следующую часть упражнения.
Добавление класса пространственных объектов к базе данных
Подключитесь к базе данных в качестве владельца данных (пользователя, имеющего достаточные для создания таблиц права) и скопируйте классы пространственных объектов из файловой базы данных, установленной с ArcGIS Server.
Подключитесь к учебным данным ArcGIS Server
Файловая базы геоданных (tree_maintenance.gdb) устанавливается с ArcGIS Server. Подключитесь к ней из ArcMap.
Если вы установили ArcGIS Server на компьютере с ОС Linux, скопируйте или переместите tree_maintenance.gdb в каталог в ArcMap. Местоположением данных ArcGIS Server по умолчанию на компьютере с Linux является <home directory of installing user>/arcgis/server/help/samples/data.
- Запустите ArcCatalog или ArcMap и откройте окно Каталога.
- Щелкните Подключиться к папке .
- Выберите папку с учебными данными, расположенную в директории, в которую вы установили ArcGIS Server (Microsoft Windows) или скопировали ее из установленного ArcGIS Server (Linux).
По умолчанию, данные в Windows устанавливаются в папку C:\Program Files\ArcGIS\Server\help\samples\data.
- Щелкните OK, чтобы добавить папку в Подключения к папкам дерева Каталога.
Подключитесь к базе данных как владелец данных
Подключитесь к базе данных как владелец данных, чтобы вы смогли скопировать в нее информацию.
- Разверните узел Подключения баз данных в дереве Каталога окна Каталога.
- Дважды щелкните Добавить подключение базы данных и подключитесь к базе данных в качестве владельца данных.
Для получения информации о подключении к базе данных см. раздел Подключения к базам данных в ArcMap.
- Назовите файл подключения так, чтобы вы смогли идентифицировать его в качестве подключения владельца данных.
Например, щелкните правой кнопкой новое подключение, выберите Переименовать и введите имя dataowner@mydatabase.sde.
Скопируйте данные в вашу базу
Скопируйте классы деревьев, населенных пунктов и улиц из файловой базы данных tree_maintenance и вставьте их в вашу базу.
- Откройте папку с учебными данными
- Дважды щелкните базу геоданных tree_maintenance, чтобы подключиться к ней.
- Нажмите и задержите клавишу Shift и выберите классы streets, trees и villages в базе геоданных tree_maintenance.
Щелкните классы пространственных объектов на вкладке Содержание (ArcCatalog) или панели Содержание (ArcMap), чтобы выбрать несколько классов пространственных данных одновременно.
- Щелкните правой кнопкой выделенные классы пространственных объектов и нажмите Копировать.
- Щелкните правой кнопкой ваше подключение к базе данных и выберите Вставить.
Копии классов пространственных объектов streets, trees и villages теперь содержатся в вашей базе данных.
Выдайте права доступа к данным
Пользователь, который будет осуществлять доступ к публикуемым данным, должен иметь достаточные права для их редактирования. К примеру, если вы хотите, чтобы пользователи вставляли новые и обновляли существующие объекты в публикуемых классах, выдайте подключающимся пользователям права доступа к данным select, insert и update . Если вам достаточно, чтобы пользователи обновляли существующие записи, выдайте только права доступа к данным select и update.
При использовании аутентификации базы данных выдайте права доступа к данным пользователю базы данных. Если же вы пользуетесь аутентификацией Windows для подключения к базе данных, предоставьте права доступа для учетной записи ArcGIS Server.
Следующими действиями вы выдадите права доступа select, insert и update включаемым в ваш сервис объектов классам. При работе с собственными данными выполните такие же действия, чтобы выдать права доступа.
- Щелкните правой кнопкой класс пространственных объектов trees под подключением к базе данных в дереве Каталога, выберите Управление и щелкните Права доступа.
Откроется диалоговое окно Права доступа.
- Если пользователь базы данных является редактором данных, либо учетная запись ArcGIS Server присутствует в списке, поставьте соответствующие отметки, чтобы присвоить права select, insert и update для класса объектов trees.
- Если пользователя-редактора данных или учетной записи ArcGIS Server нет в списке, сделайте следующее:
- Щелкните Добавить, чтобы открыть диалоговое окно Пользователь/роль.
- Если у вас есть права на просмотр системной таблицы, где перечислены все пользователи и роли в базе данных, вы можете выбрать пользователя базы данных или роль, которые вы собираетесь добавить из списка, поставив соответствующую отметку. В противном случае, введите имя пользователя базы данных, роль, логин операционной системы или группу Windows, которым вы хотите дать права доступа.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Пользователь/роль.
Отметка Select уже стоит.
- Поставьте отметки Insert и Update и щелкните OK, чтобы применить права доступа и закрыть диалоговое окно.
- Повторите те же самые действия для классов пространственных объектов villages и streets.
Создайте документ карты для поддержки сервисов объектов и веб-редактирования
Как только вы выберете данные для публикации и предоставите права доступа, чтобы ArcGIS Server мог работать с данными, вы сможете создать документ карты, поддерживающий сервис объектов, который будет использоваться для веб-редактирования.
Подключитесь к базе данных в качестве редактора данных
При использовании аутентификации базы данных подключитесь к базе в качестве редактора данных. Для подключения к базе данных выполните те же шаги, которые вы проделывали с целью подключения в качестве пользователя данных, только в этот раз подключитесь как редактор данных. Убедитесь, что вы сохранили имя пользователя и пароль в соединении, поставив отметку Сохранить имя пользователя и пароль.
Если вы используете аутентификацию операционной системы, вы можете подключиться, используя учетную запись, имеющую как минимум права доступа к данным select. Сервис объектов будет осуществлять доступ к данным в качестве учетной записи ArcGIS Server, которой были предоставлены права на редактирование данных, а не учетной записи, использовавшейся для создания и публикации карты.
Чтобы было легче найти файл подключения, переименуйте его в dataeditor@mydatabase. Вам понадобится файл подключения при регистрации базы данных на сайте ArcGIS Server.
Зарегистрируйте базу данных на сервере
Для публикации в ArcGIS Server, вам необходимо создать подключение к вашему сайту GIS Server и зарегистрировать базу данных на нем. В данном упражнении вы будете регистрировать базу данных. При этом публикуемой будет база данных сервера. То есть публикуемый сервис объектов будет осуществлять доступ непосредственно к данным исходной базы.
- Сначала подключитесь к серверу для публикации данных. Следуйте инструкциям в разделе Подключение к ArcGIS Server из ArcGIS Desktop, чтобы создать подключение издателя.
- Как только вы подключитесь к серверу, вы сможете зарегистрировать базу данных. Щелкните правой кнопкой мыши на подключении к ГИС-серверу и выберите Свойства сервера.
- На вкладке Хранилище данных щелкните Добавить рядом с кнопкой Зарегистрированные базы данных.
Откроется диалоговое окно Зарегистрировать базу данных.
- Введите уникальное имя зарегистрированной базы данных.
- Щелкните Импорт (Import) и выберите файл подключения к базе данных, созданный в предыдущем разделе (подключение редактора к базе данных).
- Убедитесь, что поставлена отметка То же, что и подключение к базе данных издателя.
- Нажмите OK, чтобы закрыть диалоговое окно Зарегистрировать базу данных.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства ArcGIS Server.
Добавьте данные на карту и установите свойства
Вы можете переместить на карту классы объектов, которые собираетесь опубликовать, из подключения редактора к базе данных в окне Каталог. ArcMap проверяет все необходимые свойства, такие как поле ObjectID и пространственную привязку. Если определить эти свойства невозможно, вам будет предложено указать необходимую информацию.
Когда вы добавляете таблицу базы данных в ArcMap, определяется слой запроса для доступа к этой таблице. Можно поменять слой запроса, определяющий, какие данные отображаются в ArcMap. Для получения инструкций по поводу изменений определения слоя запроса обратитесь к разделу Изменение слоя запроса.
Когда вы закончите настройку карты, сохраните документ карты.
- Запустите ArcMap, если он еще не открыт.
- Дважды щелкните подключение редактора данных в окне Каталога для подключения к базе данных.
- Выбирайте по одному классы пространственных объектов из подключения к базе данных и перетаскивайте их на карту.
Если вы используете учебные данные, выберите классы пространственных объектов villages, trees и streets.
ArcMap вычислит пространственный экстент данных и отобразит на карте объекты.
- Убедитесь, что слои отрисовываются в правильном порядке. В случае с учебными данными порядок должен быть следующим: trees, streets, villages. Если порядок слоев неправильный, щелкните По отображению и перетащите слои таким образом, чтобы добиться правильного порядка их отображения в таблице содержания.
После добавления данных на карту вы можете настроить свойства полей, условные обозначения и описание слоев. Также вы можете настроить всплывающие окна HTML. Для получения подробной информации о настройке свойств карты см. раздел Разработка сервисов объектов.
Укажите свойства слоя деревьев
Укажите основные свойства слоя деревьев.
- В таблице содержания ArcMap щелкните правой кнопкой слой trees и выберите Свойства.
Откроется диалоговое окно Свойства слоя.
- На вкладке Общие измените Имя слоя на Public Trees.
- Введите следующий текст в качестве Описания: Инвентаризация деревьев, посаженных в общественных местах, которая ведется Департаментом парков.
- Укажите минимальный масштаб, при котором будут отображаться деревья.
- В Диапазоне масштабов щелкните Не показывать слой в диапазоне масштабов.
- Установите минимальный масштаб 1:500 000.
- Оставьте в качестве значения максимального масштаба <None>.
- Щелкните Применить, чтобы принять только что внесенные изменения.
Укажите псевдонимы полей.
- Перейдите на вкладку Поля.
- Присвойте псевдонимы полям, как показано ниже:
- Выберите tree_planted в списке слоев и введите Date Planted в поле Псевдоним.
- Выберите eg_decid в списке слоев и введите Evergreen or Deciduous в качестве псевдонима.
- Выберите last_trimmed в списке слоев и введите Date Trimmed в качестве псевдонима.
- Щелкните Применить, чтобы установить псевдонимы полей.
После этого измените символы для слоя деревьев.
- Перейдите на вкладку Символы в диалоговом окне Свойства слоя.
- Щелкните Категории.
По умолчанию выбрана категория Уникальные значения.
- Выберите Evergreen or Deciduous в ниспадающем списке Поле значений.
- Щелкните Добавить все значения.
Значение d и e добавятся в список с используемыми по умолчанию символами и цветами.
- Измените символ для лиственных деревьев (значение d).
- Щелкните дважды символ, используемый по умолчанию для лиственных деревьев (значение d), чтобы открыть диалоговое окно Выбор символа.
- Щелкните Ссылки на стили и поставьте отметку рядом со стилем Civic.
- Щелкните OK, чтобы добавить символы Civic в окно Выбор символа.
- Выберите символ Tree 3.
Вам понадобится прокрутить список вниз, чтобы найти этот символ.
- Чтобы применить ваши изменения, нажмите OK.
- Измените символ для вечнозеленых (e) деревьев.
- Щелкните дважды символ, используемый по умолчанию для вечнозеленых деревьев (значение e), чтобы открыть диалоговое окно Выбор символа (Symbol Selector).
- Выберите символ Tree 2.
- Нажмите OK для применения изменения символов.
- Нажмите OK, чтобы применить все изменения символов и закрыть диалоговое окно Свойства слоя.
Установите свойства слоя населенных пунктов
Установите основные свойства слоя населенных пунктов.
- В таблице содержания ArcMap щелкните правой кнопкой слой villages и выберите Свойства.
Откроется диалоговое окно Свойства слоя.
- На вкладке Общие измените Имя слоя на Villages.
- Введите следующий текст в качестве Description: Границы населенных пунктов Osokopf.
- Укажите минимальный масштаб, при котором будет отображаться слой villages.
- В Диапазоне масштабов щелкните Не показывать слой в диапазоне масштабов.
- Установите минимальный масштаб 1:10 000 000.
- Оставьте в качестве значения максимального масштаба <None>.
- Щелкните Применить, чтобы принять только что внесенные изменения.
Укажите псевдонимы полей.
- Перейдите на вкладку Поля.
- Присвойте псевдонимы полям, как показано ниже:
- Выберите village_name в списке полей и введите Name в качестве псевдонима.
- Выберите population в списке полей и введите Population (2010) в качестве псевдонима.
- Щёлкните Применить.
Измените цвет символов слоя villages.
- Выберите вкладку Символы.
- Щелкните Категории.
По умолчанию выбрана опция Уникальные значения.
- Выберите Name в ниспадающем списке Поле значений.
- Щелкните Добавить все значения.
- Выберите разные цвета для населенных пунктов.
- Как только будут изменены все символы, щелкните OK, чтобы применить изменения и закрыть диалоговое окно Свойства слоя.
Установите свойства слоя улиц
Рекомендуем вам публиковать отдельный картографический сервис для этих данных. Однако для упрощения выполнения упражнения слой улиц будет частью сервиса объектов, хотя он требуется только в качестве базового.
- Выполните такие же, как и для других слоев, действия для установки общих свойств, условных обозначений и псевдонимов полей для слоя улиц.
- Перейдите на вкладку Надписи.
- Поставьте отметку Надписать объекты этого слоя.
- Убедитесь, что в качестве Поля надписи выбрано поле st_name.
- Установите диапазон масштабов для надписей.
- В разделе Другие опции щелкните Диапазон масштабов.
- Щелкните Не показывать надписи и установите минимальный масштаб 1:250,000.
- Щелкните OK, чтобы закрыть диалоговое окно Диапазон масштабов.
- Чтобы применить ваши изменения, нажмите Применить.
По умолчанию всплывающие окна HTML включены для всех классов пространственных объектов. Однако вы не будете редактировать слой streets, а потому вы можете отключить всплывающие окна HTML.
- Щелкните вкладку HTML Popup в диалоговом окне Свойства слоя.
- Снимите отметку Показать содержимое слоя, используя окно HTML.
- Нажмите OK, чтобы применить изменения и закрыть диалоговое окно Свойства слоя.
Опубликуйте картографический сервис с активированным доступом к объекту.
Теперь данные вашей карты готовы, и вы можете опубликовать картографический сервис со включенным доступом к объектам.
- В главном меню ArcMap выберите Файл > Опубликовать как > Сервис.
- В окне Опубликовать как сервис выберите Опубликовать сервис. Нажмите Далее.
- В диалоговом окне Публикация сервиса выберите подключение издателя к ArcGIS Server, которое вы настроили ранее в данном руководстве.
- По умолчанию, имя документа карты используется в качестве имени сервиса. Если вас это не устраивает, введите TreeMaintenance.
- По умолчанию, сервисы публикуются в корневой папке в ArcGIS Server. Оставьте положения по умолчанию и нажмите Продолжить.
Появится диалоговое окно Редактор сервисов. Используйте Редактор сервисов для выбора действий, которые могут выполнять пользователи с сервисом объектов, а также для выбора способа представления сервиса сервером.
- Перейдите на вкладку Возможности.
По умолчанию включены картография и KML.
- Выберите Доступ к объекту.
Включение этой опции создает сервис объектов, связанный с картографическим сервисом. Связанный сервис объектов позволяет клиентам редактировать объекты через веб.
- На левой панели диалогового окна Редактор сервисов щелкните Доступ к объектам и посмотрите адреса URL, используемые для сервиса.
- Под надписью Разрешенные операции снимите отметку Удалить.
Помните, что вы не выдали право на удаление объектов подключающемуся пользователю.
- На левой панели диалогового окна Редактор сервисов щелкните Описание элемента и введите следующее:
- В разделе Краткая информация введите Сервис, который используется для инвентаризации деревьев, посаженных в публичных местах.
- В разделе Теги введите деревья,поддержка,парки.
- В разделе Описание введите Сервис обслуживания деревьев, который используется для инвентаризации деревьев, посаженных в публичных местах.
- Щелкните Анализировать, чтобы убедиться, что вы можете опубликовать объекты.
Если появилось какое-нибудь сообщение об ошибке, вам необходимо исправить ошибку перед публикацией. Вы можете скорректировать предупреждающие и информационные сообщения, но это не обязательно: они предназначены для улучшения производительности и удобства использования получившегося сервиса, но не требуются для функционирования сервиса. Вы можете проигнорировать предупреждение 24041, так как вы можете использовать только шаблоны по умолчанию при редактировании данных базы через сервис объектов.
- Щелкните Опубликовать .
Ваш сервис объектов опубликован на сайте ArcGIS Server.
Ваш сервис объектов опубликован в ArcGIS Server. Теперь вы можете использовать ваш сервис в веб-приложении и править данные.
Используйте сервис объекта в веб-приложении.
В данном разделе упражнения вы воспользуетесь Map Viewer Classic в ArcGIS Online для добавления, обновления и редактирования объектов вашей базы данных по сети. Вы можете выполнить развертывание Map Viewer Classic непосредственно через ArcGIS Server Директорию сервисов. Не требуется никаких настроек или программирования для работы с Map Viewer Classic.
Чтобы приступить к работе, следуйте приведенным ниже шагам.
- Откройте окно веб-браузера и перейдите в ArcGIS Server Директорию сервисов. Обычно она находится в папке http://gisserver.domain.com:6080/arcgis/rest/services.
Можно также получить доступ к Директории сервисов, открыв ярлык, установленный вместе с ArcGIS Server.
- В списке сервисов щелкните TreeMaintenance (Сервис объектов).
- На странице TreeMaintenance (FeatureServer) представлены классы объектов trees, streets и villages, а также поддерживаемые сервисом объектов операции. Проверьте все эти параметры.
- Щелкните Просмотр в: Вьюер карт ArcGIS Online в верхней части страницы.
Откроется новое окно (или вкладка) с Map Viewer Classic.
- В верхней части Map Viewer Classic щелкните Редактировать.
Появится диалоговое окно Добавить объекты.
- Приближайте различные части карты и редактируйте атрибуты существующих объектов. Для редактирования атрибута:
- Щелкните объект.
Появится всплывающее окно HTML.
- Введите новое значение поля. В качестве дат выберите дату из календаря.
- Щелкните Закрыть, чтобы применить изменения и закрыть всплывающее окно HTML.
- Щелкните объект.
- Также добавьте новые объекты к слою деревьев. Для этого:
- Щелкните d (лиственные) или e (вечнозеленые) на панели Добавить объекты (Add Features).
- Щелкните место на карте, куда вы хотите добавить дерево.
- Выберите добавленное вами дерево и отредактируйте атрибуты через всплывающее окно HTML.
- Щелкните Закрыть, чтобы применить изменения и закрыть всплывающее окно HTML.
- Убедитесь, что внесенные вами изменения отразились в базе данных.
Это можно сделать, вернувшись обратно в документ ArcMap и обновив отображение карты. Объекты, которые вы добавили в вашу веб-карту, появятся в отображении карты. Чтобы увидеть изменения атрибутов, откройте таблицу атрибутов для слоя trees в ArcMap.
- При необходимости, вы можете войти в ArcGIS Online и сохранить вашу карту.
Дополнительная литература
Теперь, когда вы успешно протестировали ваш сервис объектов с помощью Map Viewer Classic, вам нужно решить, как вы будете использовать и публиковать сервис объектов в других клиентах ArcGIS:
- В ArcGIS Enterprise также есть Map Viewer Classic. Вы можете опубликовать свой сервис объектов на портале организации, членом которой вы являетесь, позволив тем самым другим пользователям редактировать сервис объектов в Map Viewer Classic.
- В ArcGIS Online и ArcGIS Enterprise вы можете создать пользовательское картографическое веб-приложение с помощью шаблонов приложений. Такие шаблоны могут быть развернуты на веб-сервере вашей организации.
- ArcGIS API for JavaScript предоставляют широкие возможности сетевого картографирования и разнообразные опции пользовательских настроек. Если вам будет удобно программировать с помощью этого интерфейса API, то используя один из созданных вами в этом руководстве сервисов объектов вы сможете накопить богатый опыт веб-редактирования, который будет по достоинству оценен вашими пользователями.
Не забывайте, что веб-редактирование дает возможность значительно большему количеству внешних пользователей добавлять данные и улучшать качество ваших данных. Благодаря использованию одного или нескольких приведенных выше клиентов ArcGIS, вы получите дополнительные параметры, которые помогут вам привязать ваш сценарий редактирования к специальной задаче, цели или стратегии организации.