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

Для разрешения редактирования посредством опубликованных сервисов на ArcGIS.com необходимо установить ArcGIS Spatial Data Server на общедоступном сервере (за пределами брандмауэра).
Предоставление прав доступа подключающемуся пользователю
После перехода к следующим шагам вы укажете пользователя для подключения к источнику данных. Этому пользователю должны быть предоставлены определенные права для доступа к наборам данных, которые планируется опубликовать на сервере пространственных данных. Например, если вы хотите предоставить пользователям доступ к данным в вашем сервисе объектов только для выполнения запросов, то пользователю, указанному в источнике данных, потребуются только некоторые права доступа для доступа к наборам данных в сервисе объектов.
В данном примере сервис объекта позволит выполнять запросы и создавать объекты, поэтому пользователю, подключающемуся к источнику данных, необходимо выдать права выбора и вставки в пользовательских классах пространственных объектов.
Как здесь показано, в экземпляре SQL Server создается имя пользователя webeditor, которое добавляется в базу данных threers. Создается схема для пользователя базы данных, и пользователю предоставляются права выбора и вставки в пользовательских классах пространственных объектов:
CREATE LOGIN webeditor WITH PASSWORD=N'We4Svcs',
DEFAULT_DATABASE=threers,
CHECK_EXPIRATION=OFF,
CHECK_POLICY=ON;
GO
USE threers;
CREATE USER webeditor FOR LOGIN webeditor;
ALTER USER webeditor WITH DEFAULT_SCHEMA=webeditor;
GO
CREATE SCHEMA webeditor AUTHORIZATION webeditor;
GO
GRANT SELECT,INSERT
ON cdata.customers
TO webeditor;
Создание источника данных
При создании источника данных вы передаете на сервер пространственных данных информацию о том, к какой базе данных нужно подключиться и в качестве какого пользователя.
В данном примере создается только один источник данных, хотя их можно создать несколько.
- Откройте веб-браузер и перейдите в вид администратора REST API для вашего сервера пространственных данных. Его URL задается в формате: http://<имя сервера>/<имя сервера пространственных данных>/admin.
В этом примере сервер пространственных данных sdsi2s устанавливается на сервер webapps; поэтому URL конечной точки администратора REST API имеет вид http://webapps/sdsi2s/admin.
- Щелкните ссылку Источники данных (Datasources), а затем ссылку Создание источника данных (Create Datasource, чтобы открыть страницу Создание источника данных (Create Datasource).
- Укажите запрошенную информацию:
- Введите имя и описание нового источника данных. В этом примере используется источник данных с именем cust_reqs.
- Server — это имя экземпляра СУБД, в котором находится база данных. В этом примере используется экземпляр SQL Server с именем abe\sspub.
- Database — это имя базы данных, содержащей данные, которые вы хотите опубликовать. В этом примере используется база данных threers.
- Укажите имя пользователя (webeditor) и пароль (We4Svcs), созданные в предыдущем разделе.
- После ввода правильной информации щелкните Создать источник данных (Create Datasource).
Настройка учетной записи 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://webapps/sdsi2s/admin.
- Выберите Сервер пространственных данных (Spatial Data Server) в ниспадающем списке Тип сервера (Server Type).
- Если это подключение будет использоваться для создания и сохранения определений сервисов, можно выбрать место на диске, где будут размещаться файлы определений сервисов. По умолчанию они размещаются в папке на локальном компьютере.
- Щёлкните Готово (Finish), чтобы создать подключение.
Новое подключение добавлено в список в узле ГИС серверы (GIS Servers).
Публикация сервисов объектов
Будут опубликованы два сервиса: редактируемый сервис, который сможет принимать запросы, и сервис, доступный только для чтения, обозначающий вашу область обслуживания. Чтобы предоставить другим пользователям доступ к вашим службам, подключитесь к своей базе данных из ArcMap, создайте две отдельные карты в ArcMap — для редактируемого сервиса и для сервиса, доступного только для чтения — и опубликуйте каждую карту.
Подключение к базе данных из ArcGIS for Desktop
Установите подключение к базе данных, чтобы получить доступ к содержащимся в ней данным. Чтобы установить подключение к базе данных, необходимо установить клиент базы данных на компьютере, на котором установлен ArcGIS.
Для выполнения этого рабочего процесса требуется версия SQL Server Native Client, которая поддерживается текущей версией базы данных SQL Server. Получите это клиентское программное обеспечение у компании Microsoft и установите его на клиентском компьютере.
После установки клиента SQL Server Native Client создайте подключение к своей базе данных из ArcMap.
Подключитесь к базе данных из ArcMap, чтобы добавить таблицу customers на карту.
- В дереве каталога разверните узел Подключение базы данных (Database Connection).
- Дважды щелкните Добавить подключения базы данных (Add Database Connections).
- Из выпадающего списка Платформа базы данных (Database Platform) выберите SQL Server.
- Введите название экземпляра SQL Server abe\sspub в текстовое поле Экземпляр (Instance).
- Введите имя базы данных threers в поле База данных (Database).
- В ниспадающем списке Тип (Type) выберите Аутентификация в базе данных (Database authentication).
- Введите webeditor в поле Имя пользователя (User name).
- Введите We4Svcs в поле Пароль (Password).
- Оставьте установленный флажок Сохранить имя пользователя и пароль (Save user name and password) и щелкните ОК.
Создание карты для редактируемого сервиса
Добавьте таблицу customer в ArcMap путем ее перетаскивания из подключения базы данных в окно карты.
Если ArcMap не может обнаружить пространственную привязку или подходящий столбец ObjectID (это должен быть столбец целочисленных значений, отличных от NULL), вам будет предложено предоставить эту информацию.

Вы не можете публиковать данные, не имеющие пространственной привязки.
Когда таблица появится в таблице содержания ArcMap, обозначьте объекты простыми символами, которые должны будут отображаться в сервисе. Дополнительную информацию об изменении символов см. в справкочной системе ArcGIS.
Затем внесите любые изменения в конфигурацию документа карты, чтобы открыть через сервис необходимые свойства. Например, вы можете определить, какие поля будут видимыми через сервис, задать псевдонимы видимых полей и сделать некоторые поля доступными только для чтения. В этом примере вы также настроите ниспадающее меню HTML, с помощью которого пользователи смогут предоставлять информацию для обработки их запросов. Список возможных свойств см. в разделе Краткий обзор разработки сервисов объектов для сервера пространственных данных.
Путем масштабирования задайте исходный экстент сервиса. Вы должны быть уверены, что количество возвращенных объектов для исходного экстента будет не больше максимального числа объектов, возвращаемых сервисом, которое было задано во время публикации. По умолчанию это значение равно 1000. Сохраните карту.
Публикация редактируемого сервиса объектов
Когда карта будет готова, предоставьте доступ к вашим данным, опубликовав их в сервисе объектов.
- В документе ArcMap выберите команды Файл (File) > Совместно использовать как (Share As) > Сервис (Service) в главном меню.
- В окне Использовать совместно как сервис (Share As Service) доступны три опции.
- Чтобы немедленно опубликовать данные, выберите Опубликовать службу (Publish a service) и нажмите Далее (Next).
- Чтобы сохранить файл определения сервиса для последующей публикации, выберите Сохранить файл определения сервиса (Save a service definition file) и нажмите Далее (Next).
- Чтобы заменить существующий сервис, выберите Перезаписать существующий сервис (Overwrite an existing service) и нажмите Далее (Next). Перед заменой сервиса необходимо сначала остановить исходный сервис.
- Выберите административный сервер пространственных данных в ниспадающем списке подключений.
- Введите three_r_requests в поле Название сервиса (Service Name) и нажмите Продолжить (Continue).
- В редакторе сервисов щелкните Доступ к объекту (Feature Access).
- Снимите флажки Удаление (Delete) и Обновление (Update), поскольку пользователям можно только выполнять запросы и добавлять объекты.
- Оставьте для параметра Максимальное число объектов, возвращаемых в запросе (The maximum number of features returned per query) значение 1000.
- Щелкните Общий доступ (Sharing).
Открывается диалоговое окно Подключиться (Sign In) в ArcGIS Online.
- Введите имя пользователя и пароль вашей глобальной учетной записи Esri и нажмите ОК, чтобы войти и закрыть диалоговое окно.
- На панели ArcGIS Online диалогового окна редактора сервисов установите флажки для пользователей, которым нужно предоставить доступ к вашему содержимому.
- Если сейчас вы хотите получить исключительное право доступа к своему сервису, установите флажок Мое содержимое (My Content).
- Если нужно, чтобы видеть сервис могли все, у кого есть доступ к ArcGIS Online, установите флажок Для всех (общий) (Everyone (public)).
- Отображается список всех групп, в которые вы входите. Если вы хотите предоставить доступ к вашему сервису каким-либо из этих групп, установите флажок Для членов группы (Members of these groups), а затем отметьте все нужные группы.
Можно отметить несколько вариантов. Например, вы можете включить этот сервис в свое содержимое и предоставить доступ нескольким конкретным группам в ArcGIS Online.
- Щелкните Анализировать (Analyze), чтобы проверить содержимое на возможные ошибки или предупреждения перед публикацией.
Если не исправить ошибки, во время публикации произойдет сбой.
- Чтобы увидеть, как класс пространственных объектов будет выглядеть в сервисе, щелкните Просмотр (Preview).
- Щелкните Опубликовать (Publish).
- После завершения публикации щелкните ОК, чтобы закрыть диалоговое окно.
Создание карты для сервиса, доступного только для чтения
Создайте вторую карту, чтобы опубликовать ее в сервисе, доступном только для чтения.
- Откройте новую карту в ArcMap: Файл (File) > Новый (New).
- Выберите Новые карты (New Maps) и щелкните ОК.
- Перетащите класс пространственных объектов service_area на карту.
- Присвойте слою символы, которые будут использоваться в сервисе.
Оставьте полигон области обслуживания без заливки или настройте прозрачную заливку.
- Определите, какие поля будут видимыми через сервис, и задайте псевдонимы для этих полей.
- Сохраните документ карты в общей директории, к которой имеет доступ локальный пользователь IIS APPPOOL\DefaultAppPool.
Публикация сервиса, доступного только для чтения
Опубликуйте вторую карту, чтобы использовать ее в качестве исходной точки отсчета в вашем приложении.
- В документе ArcMap выберите команды Файл (File) > Совместно использовать как (Share As) > Сервис (Service) в главном меню.
- В окне Использовать совместно как сервис (Share As Service) доступны три опции.
- Чтобы немедленно опубликовать данные, выберите Опубликовать службу (Publish a service) и нажмите Далее (Next).
- Чтобы сохранить файл определения сервиса для последующей публикации, выберите Сохранить файл определения сервиса (Save a service definition file) и нажмите Далее (Next).
- Чтобы заменить существующий сервис, выберите Перезаписать существующий сервис (Overwrite an existing service) и нажмите Далее (Next). Перед заменой сервиса необходимо сначала остановить исходный сервис.
- Выберите административный сервер пространственных данных в ниспадающем списке подключений.
- Введите service_area в поле Название сервиса (Service Name) и нажмите Продолжить (Continue).
- В редакторе сервисов щелкните Доступ к объекту (Feature Access).
- Введите URL общедоступного сервера в поле URL.
Для того чтобы с ArcGIS Online можно было получать доступ к вашему редактируемому сервису объектов, его необходимо опубликовать на общедоступном сервере.
- Снимите флажки Добавление (Add), Удаление (Delete) и Обновление (Update), поскольку пользователям можно только выполнять запросы.
- Щелкните ArcGIS Online.
Открывается диалоговое окно входа в ArcGIS Online.
- Введите имя пользователя и пароль вашей глобальной учетной записи Esri и нажмите ОК, чтобы войти и закрыть диалоговое окно.
- На панели ArcGIS Online диалогового окна Редактор сервисов (Service Editor) установите флажки для пользователей, которым нужно предоставить доступ к вашему содержимому.
- Если теперь вы хотите получить исключительное право доступа к своему сервису, установите флажок Мое содержимое (My Content).
- Если нужно, чтобы видеть сервис могли все, у кого есть доступ к ArcGIS Online, установите флажок Для всех (общий) (Everyone (public)).
- Отображается список всех групп, в которые вы входите. Если вы хотите предоставить доступ к вашему сервису каким-либо из этих групп, установите флажок Для членов группы (Members of these groups), а затем отметьте все нужные группы.
Можно отметить несколько вариантов. Например, вы можете включить этот сервис в свое содержимое и предоставить доступ нескольким конкретным группам в ArcGIS Online.
- Щелкните Анализировать (Analyze), чтобы проверить содержимое на возможные ошибки или предупреждения перед публикацией.
Если не исправить ошибки, во время публикации произойдет сбой.
- Чтобы увидеть, как класс пространственных объектов будет выглядеть в сервисе, щелкните Просмотр (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://webapps/sdsi2s/rest/services. Вы увидите в списке оба сервиса.
Работа с ArcGIS Online
После публикации классов пространственных объектов на сервере пространственных данных можно просматривать их из ArcGIS Online.
- Откройте веб-браузер и перейдите на веб-сайт ArcGIS Online по адресу http://www.arcgis.com/home/index.html.
- Щелкните Подключиться (Sign In).
- Введите имя пользователя и пароль вашей глобальной учетной записи Esri и нажмите Подключиться (Sign In).
- Щелкните Мое содержимое (My Content).
- Сначала добавьте сервис three_r_requests.
- Нажмите кнопку Добавить элемент (Add Item).
- Выберите пункт В Интернете (On the Web) в ниспадающем списке Расположение элемента (The item is).
- Введите URL сервиса.
Для данного примера URL будет следующим: http://webapps/sdsi2s/rest/services/three_r_requests.svc.
- Введите название сервиса в поле Название (Title).
- Введите теги для идентификации сервиса в поле Теги (Tags).
- Нажмите кнопку Добавить элемент (Add Item).
- Аналогичным образом добавьте в ваше содержимое сервис service_area.
Создать web-приложение
Сначала создайте карту на сайте ArcGIS.com, где содержатся ваши сервисы, и базовую карту улиц этой области. Далее при помощи шаблона приложения с сайта ArcGIS.com создайте веб-приложение.
Создание карты на ArcGIS.com
Добавьте оба ваших сервиса на базовую карту на сайте ArcGIS.com и сохраните карту для использования в своем приложении.
- В разделе Мое содержимое (My Content) сайта ArcGIS.com щелкните сервис, предназначенный только для чтения.
- Щелкните Открыть (Open), чтобы открыть карту, отображающую данные этого сервиса.
- Щелкните Добавить (Add) и выберите Добавить слой из Интернета (Add Layer from Web), чтобы добавить второй сервис.
Откроется диалоговое окно Добавить слой из Интернета (Add Layer from Web).
- Введите URL редактируемого сервиса в поле URL и щелкните Добавить слой (Add Layer).
- Щелкните Базовая карта (Basemap) и выберите один из слоев, в котором отображаются названия улиц.
- При необходимости отрегулируйте экстент карты, чтобы он в точности охватывал экстент обоих сервисов.
- Щелкните Сохранить (Save) чтобы сохранить карту.
- Введите название, теги и сводную информацию для карты.
- Выберите папку, в которую вы хотите сохранить карту.
- Щелкните Сохранить карту (Save Map).
- Доступ к вашей карте может быть открытым для всех или только для отдельных групп.
- Запишите ID карты — он понадобится при создании веб-приложения.
Создание веб-приложения с помощью шаблона
Поскольку приложение требует разрешения редактирования, вы будете использовать шаблон веб-приложения Редактирование (Edit).
- Загрузите шаблон веб-приложения Редактирование (Edit).
- Скопируйте загруженный ZIP-файл в папку inetpub\wwwroot своего сервера IIS.
- Распакуйте файлы.
- Следуйте инструкциям в файле readme.html для настройки приложения.