Рабочий процесс: Использование ArcGIS Spatial Data Server for Java для обслуживания данных из базы данных
Вы можете установить ArcGIS Spatial Data Server для Java и опубликовать данные из вашей базы данных, выполнив шаги, описанные в примере ниже.
В этом примере будет создано приложение для сбора демографической информации среди выпускников конкретного колледжа. Колледж может использовать собранную информацию в рекламных или ознакомительных целях для потенциальных студентов (например, какие учебные заведения и основные предметы обеспечивают лучший возврат инвестиций — зависимость ожидаемой заработной платы после окончания от стоимости обучения).
Региональный класс пространственных объектов, использующий хранилище геометрии PostGIS в базе данных PostgreSQL, будет опубликован как редактируемый сервис объектов на сервере пространственных данных. Региональный класс объектов показывает зоны почтового индекса для приблизительного отображения места жительства выпускников.
Развертывание сервера пространственных данных
Необходимо установить ArcGIS Spatial Data Server for Java, поставщик JDBC, клиент системы управления базами данных (СУБД) и сервер приложений Java.
После этого настройте источник данных.
Установка ArcGIS Spatial Data Server for Java
Чтобы установить ArcGIS Spatial Data Server for Java, следуйте инструкциям руководства по установке, которое поставляется с программным обеспечением. Это руководство содержит информацию о системных требованиях, авторизации и установке программного обеспечения.

Для разрешения редактирования посредством опубликованных сервисов на ArcGIS.com необходимо установить ArcGIS Spatial Data Server на общедоступном сервере (за пределами вашего брандмауэра).
Установите поставщики JDBC и настройте сервер приложений Java
Загрузите и установите поддерживаемый драйвер JDBC для своей СУБД и сервер приложений или веб-сервер.
В данном рабочем процессе установлены файл PostgreSQL JDBC и Tomcat.
- Загрузите драйвер PostgreSQL JDBC из http://jdbc.postgresql.org/download.html и поместите его в каталог установки ArcGIS Spatial Data Server и Tomcat на сервере.
- Загрузите Tomcat с сайта Apache Software Foundation.
- Установите Tomcat на своем сервере.
- Скопируйте драйвер PostgreSQL JDBC в каталог lib Tomcat.
Настройка источника данных
Необходимо настроить источник данных при помощи веб-сервера или сервера приложений.
Для данного рабочего процесса измените файл Tomcat context.xml, чтобы настроить ваш источник данных.
- Откройте файл context.xml из каталога conf в папке установки Tomcat.
- Выполните редактирование раздела <Resource name> этого файла, указав информацию для вашего кластера базы данных PostgreSQL.
В данном примере имя источника данных — postgres, кластер базы данных работает через порт по умолчанию 5432, имя базы данных — gisdata. Подключение выполняется с использованием роли имени пользователя alumapp.
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/gisdata" username="alumapp" password="ruL00king" maxActive="20" maxIdle="10" maxWait="-1"/>
- Сохраните файл context.xml.
Подготовка учетных записей
Так как данные, опубликованные как сервис объекта, будут редактироваться, вам необходимо выдать права редактирования пользователям, которые будут подключаться к данным и публиковать их. Вы также будете публиковать данные в ArcGIS Online, поэтому вам необходима учетная запись ArcGIS Online.
Предоставление прав доступа подключающемуся пользователю
После перехода к следующим шагам вам потребуется указать пользователя для подключения при регистрации источника данных. Этому пользователю должны быть предоставлены определенные права для доступа к наборам данных, которые планируется опубликовать на сервере пространственных данных. Например, если вы хотите предоставить пользователям доступ к данным в вашем сервисе объектов только для выбора, то пользователю, указанному в источнике данных, потребуются только некоторые права доступа к наборам данных в сервисе объекта.
В данном примере сервис объекта будет разрешать выбор, добавление и обновление; поэтому пользователю, подключающемуся к источнику данных, необходимо выдать права выбора, вставки и обновления в пользовательских классах пространственных объектов. Кроме того, поскольку класс пространственных объектов использует хранилище геометрии PostGIS, пользователю необходимо выдать права для таблиц public.geometry_columns и public.spatial_ref_sys.
Как здесь показано, создаются роль имени пользователя и схема базы данных alumapp. Для роли имени пользователя выдаются права выбора, вставки и обновления для регионального класса пространственных объектов в наборе данных, а также права вставки, выбора, обновления и удаления в таблице geometry_columns и право выбора в таблице spatial_ref_sys. При создании схемы и выдаче прав доступа убедитесь, что вы подключены к нужной базе данных.
CREATE ROLE alumapp LOGIN
ENCRYPTED PASSWORD 'ruL00king',
NOSUPERUSER CREATEDB INHERIT NOCREATEROLE;
CREATE SCHEMA alumapp AUTHORIZATION alumapp;
GRANT ALL ON SCHEMA alumapp TO alumapp;
GRANT USAGE ON SCHEMA alumapp TO authusers;
GRANT SELECT, INSERT, UPDATE, DELETE
ON TABLE public.geometry_columns
TO alumapp;
GRANT SELECT
ON TABLE public.spatial_ref_sys
TO alumapp;
GRANT SELECT, INSERT, UPDATE
ON market1.regions
TO alumapp;
Настройка учетной записи ArcGIS Online
В этом примере сервис будет опубликован в ArcGIS Online, где будет создано приложение.
Для входа в ArcGIS Online используйте глобальную учетную запись Esri. Вы можете зарегистрировать существующую глобальную учетную запись Esri в ArcGIS Online или создать глобальную учетную запись Esri и зарегистрировать ее из того же места. Перейдите по адресу http://www.arcgis.com/home/ и щелкните Подключиться (Sign In).
Если вы уже зарегистрировали свою глобальную учетную запись ESRI в ArcGIS Online, выполнять вход на этом этапе не требуется. Это будет сделано на другом этапе рабочего процесса — во время публикации сервиса.
Создание подключения администратора к серверу пространственных данных
Для публикации данных на сервере пространственных данных требуется специальное подключение. Подключение администратора позволяет администрировать сервер и публиковать сервисы.
Поскольку вам, вероятно, потребуется администрировать сервер пространственных данных, создайте подключение администратора к серверу пространственных данных из ArcGIS for Desktop.
- Запустите ArcMap и откройте окно Каталога (Catalog).
- В дереве каталога разверните узел ГИС-серверы (GIS Servers).
- Дважды щёлкните Добавить ArcGIS Server (Add ArcGIS Server).
- Выберите Администрировать ГИС-сервер (Administer GIS server) и нажмите Далее (Next).
- В поле URL сервера (Server URL) введите административный URL сервера пространственных данных.
Для данного примера URL будет следующим: http://pub5:8080/arcgis/admin.
- Выберите Сервер пространственных данных (Spatial Data Server) в ниспадающем списке Тип сервера (Server Type).
- Если это подключение будет использоваться для создания и сохранения определений сервисов, можно выбрать место на диске, где будут размещаться файлы определений сервисов. По умолчанию они размещаются в папке на локальном компьютере.
- Щёлкните Готово (Finish), чтобы создать подключение.
Новое подключение добавлено в список в узле ГИС серверы (GIS Servers).
Публикация сервиса объекта
Вы будете подключаться к базе данных из ArcGIS for Desktop в качестве того же пользователя, для которого вы настраивали источник данных. Далее необходимо будет создать карту, содержащую данные для вашего сервиса, выполнить картирование источника данных и публикацию.
Подключение к базе данных из ArcGIS for Desktop
Установите подключение к базе данных, чтобы получить доступ к содержащимся в ней данным. Чтобы установить подключение к базе данных, необходимо установить клиент базы данных на компьютере, на котором установлен ArcGIS.
Для данного рабочего процесса вам необходимо разместить файлы клиента PostgreSQL в папке bin, в которой установлен ArcGIS for Desktop.
- Загрузите файлы 32-разрядной библиотеки клиента PostgreSQL for Windows с портала Esri для поддержки клиентов.
- Поместите эти файлы в каталог bin ArcGIS for Desktop.
После помещения библиотек клиента PostgreSQL в папку bin ArcGIS for Desktop вы сможете выполнить подключение к вашей базе данных из ArcMap.
Подключитесь к базе данных из ArcMap, чтобы добавить таблицу регионов на карту.
- В дереве каталога разверните узел Подключение базы данных (Database Connection).
- Дважды щелкните Добавить подключения базы данных (Add Database Connections).
- Введите имя сервера PostgreSQL в поле Экземпляр (Instance).
- Введите имя базы данных gisdata в поле База данных (Database).
- В ниспадающем списке Тип (Type) выберите Аутентификация в базе данных (Database authentication).
- Введите alumapp в поле Имя пользователя (User name).
- Введите пароль пользователя alumapp в текстовое поле Пароль (Password).
- Оставьте установленный флажок Сохранить имя пользователя и пароль (Save user name and password) и щелкните ОК.
Создание карты
Добавьте таблицу регионов в ArcMap путем ее перетаскивания из подключения базы данных в окно карты.
Если ArcMap не может обнаружить пространственную привязку или подходящий столбец ObjectID (это должен быть столбец целочисленных значений, отличных от NULL), вам будет предложено предоставить эту информацию.

Вы не можете публиковать данные, не имеющие пространственной привязки.
Когда таблица появится в таблице содержания ArcMap, обозначьте объекты простыми символами, которые должны будут отображаться в сервисе. Дополнительную информацию об изменении символов см. в справкочной системе ArcGIS.
Затем внесите любые изменения в конфигурацию документа карты, чтобы открыть через сервис необходимые свойства. Например, вы можете определить, какие поля будут видимыми через сервис, задать псевдонимы видимых полей и сделать некоторые поля доступными только для чтения. В этом примере вы также настроите ниспадающее меню HTML, с помощью которого пользователи смогут предоставлять информацию для обработки их запросов. Список возможных свойств см. в разделе Краткий обзор разработки сервисов объектов для сервера пространственных данных.
Путем масштабирования задайте исходный экстент сервиса. Вы должны быть уверены, что количество возвращенных объектов для исходного экстента будет не больше максимального числа объектов, возвращаемых сервисом, которое было задано во время публикации. По умолчанию это значение равно 1000. Сохраните карту.
Картирование источника данных и публикация редактируемого сервиса объектов
Когда карта будет готова, предоставьте доступ к вашим данным, опубликовав их в сервисе объектов.
Во время публикации вы можете выполнить картирование источника данных.

Также это можно сделать из окна администратора REST. Более подробно см. в разделе Картирование источника данных из вида администратора REST для ArcGIS Spatial Data Server for Java.
- В документе ArcMap выберите команды Файл (File) > Совместно использовать как (Share As) > Сервис (Service) в главном меню.
- In the Share As Service window, there are three options.
- To immediately publish your data, choose Publish a service and click Next.
- To save a service definition file to be published later, choose Save a service definition file and click Next.
- To replace an existing service, choose Overwrite an existing service and click Next. To replace a service, the original service must be stopped first.
- Выберите административный сервер пространственных данных в ниспадающем списке подключений.
- Введите alumni_data в поле Имя сервиса (Service Name) и нажмите Продолжить (Continue).
- В редакторе сервисов щелкните Доступ к объекту (Feature Access).
- Оставьте все четыре операции выбранными, чтобы подключающийся пользователь мог выполнить запрос, создание, обновление и удаление данных с использованием сервиса объектов.
- Щелкните Общий доступ (Sharing).
Открывается диалоговое окно Подключиться (Sign In) в ArcGIS Online.
- Введите имя пользователя и пароль вашей глобальной учетной записи Esri и нажмите ОК, чтобы войти и закрыть диалоговое окно.
- На панели ArcGIS Online диалогового окна редактора сервисов установите флажки для пользователей, которым нужно предоставить доступ к вашему содержимому.
- Если сейчас вы хотите получить исключительное право доступа к своему сервису, установите флажок Мое содержимое (My Content).
- Если нужно, чтобы видеть сервис могли все, у кого есть доступ к ArcGIS Online, установите флажок Для всех (общий) (Everyone (public)).
- Отображается список всех групп, в которые вы входите. Если вы хотите предоставить доступ к вашему сервису каким-либо из этих групп, установите флажок Для членов группы (Members of these groups), а затем отметьте все нужные группы.
Можно отметить несколько вариантов. Например, вы можете включить этот сервис в свое содержимое и предоставить доступ нескольким конкретным группам в ArcGIS Online.
- Щелкните Анализировать (Analyze).
Если вы еще не выполнили картирование источника данных, появится сообщение об ошибке «Источник данных слоя не имеет картирования» (Layer's data source has no mapping). Эту и любые другие ошибки необходимо исправить перед публикацией.
- Для исправления ошибок щелкните их правой кнопкой мыши.
В появившемся контекстном меню имеется ссылка на инструменты исправления ошибок.
- Чтобы исправить ошибку источника данных, следуйте инструкциям, приведенным в справке по ошибке.
- Перед продолжением исправьте все остальные ошибки.
- Чтобы увидеть, как класс пространственных объектов будет выглядеть в сервисе, щелкните Просмотр (Preview).
- Щелкните Опубликовать (Publish).
- После завершения публикации щелкните ОК, чтобы закрыть диалоговое окно.
Просмотр сервисов
Информацию о вашем сервисе можно просмотреть из директории сервисов ArcGIS Spatial Data Services Directory. Поскольку сервис опубликован на сайте ArcGIS Online, его можно просмотреть на карте с этого сайта.
Доступ к сервисам из каталога сервисов ArcGIS Spatial Data Services
В директории сервисов ArcGIS Spatial Data Services Directory перечислены все сервисы, опубликованные на определенном сервере пространственных данных. Здесь можно экспортировать определение сервиса в файл JSON, писать запросы SQL для выбора или вставки объектов в класс пространственных объектов или открыть сервис на веб-сайте ArcGIS.com.
URL для каталога сервисов ArcGIS Spatial Data Services: http://<имя сервера>/<имя сервера пространственных данных>/rest/services. Таким образом, для данного примера URL будет следующим: http://pub5:8080/arcgis/rest/services. Вы увидите в списке оба сервиса.
Работа с ArcGIS Online
После публикации классов пространственных объектов на сервере пространственных данных можно просматривать их из ArcGIS Online.
- Откройте веб-браузер и перейдите на веб-сайт ArcGIS Online по адресу http://www.arcgis.com/home/index.html.
- Щелкните Подключиться (Sign In).
- Введите имя пользователя и пароль вашей глобальной учетной записи Esri и нажмите Подключиться (Sign In).
- Щелкните Мое содержимое (My Content).
- Добавьте сервис alumni_data.
- Нажмите кнопку Добавить элемент (Add Item).
- Выберите Веб-сервис ArcGIS Server (An ArcGIS Server Web Service) из ниспадающего списка Расположение элемента (The item is).
- Введите URL для сервиса.
Для данного примера URL будет следующим: http://pub5/arcgis/rest/services/alumni_data.svc.
- Введите название сервиса в поле Название (Title).
- Введите теги для идентификации сервиса в поле Теги (Tags).
- Нажмите кнопку Добавить элемент (Add Item).
Создание web-приложения
Сначала создайте карту на сайте ArcGIS.com, в которой будет содержаться ваш сервис и базовая карта мира. Далее при помощи шаблона приложения с сайта ArcGIS.com создайте веб-приложение.
Создание карты на ArcGIS.com
Добавьте сервис alumni_data на базовую карту на сайте ArcGIS.com и сохраните эту карту для использования в своем приложении.
- В разделе Мой контент (My Content) сайта ArcGIS.com выберите Создать карту (Create Map).
- Щелкните Базовая карта (Basemap) и выберите одну из базовых карт.
- Щелкните Добавить (Add) > Добавить слои (Add Layers).
- Выберите Мой контент (My Content) из ниспадающего списка В (In).
- Выберите сервис alumni_data и щелкните Завершить добавление слоев (Done Adding Layers).
- При необходимости настройте экстент карты.
- Сохраните карту.
- Введите название, теги и сводную информацию для карты.
- Выберите папку, в которой вы хотите сохранить карту.
- Щелкните Сохранить карту (Save Map).
- Доступ к вашей карте может быть открытым для всех или только для отдельных групп.
- Запишите ID карты — он понадобится при создании веб-приложения.
Создание веб-приложения с помощью шаблона
Поскольку приложение требует разрешения редактирования, вы будете использовать шаблон веб-приложения Редактирование (Edit).
- Загрузите шаблон веб-приложения Редактирование (Edit).
- Скопируйте загруженный ZIP-файл в папку inetpub\wwwroot вашего сервера IIS.
- Распакуйте файлы.
- Следуйте инструкциям в файле readme.html для настройки приложения.