Разработка сервисов объектов

Процесс разработки сервиса объектов заключается в настройке документа карты для определения данных и символов, отображаемых сервисом. Если на сервисе будет разрешено редактирование, также можно задать параметры редактирования.

Определение данных

Сервисом отображаются слои и таблицы, добавленные к документу карты. Требования к данным сервиса объектов следующие:

В сервисах пространственных объектов не поддерживаются следующие типы данных:

Если в документе карты, который вы пытаетесь опубликовать в виде картографического сервиса с доступом к объектам, есть такие слои, анализатор выдаст сообщение об ошибках.

ПримечаниеПримечание:

Картографические сервисы поддерживают представления SDE. Если вы хотите выполнять запросы на уровне объектов в слоях и таблицах, полученных из представлений SDE, используйте картографический сервис.

Слои, которые являются частями непростых типов (например, геометрических сетей, топологий и наборов сетевых данных), поддерживаются сервисом, однако сами такие типы сервисом не возвращаются. Например, вы можете запрашивать слои, являющиеся частью топологии, но не можете запрашивать саму топологию.

Сервисы объектов также позволяют выполнять запросы связанных данных. К примеру, опубликованный документ карты может иметь слои и таблицы, связанные через классы отношений в базе геоданных. В этом случае сервис объектов позволяет выполнять к слою запросы, возвращающие объекты из связанного слоя или таблицы. Обратите внимание, что для поддержки таких запросов в опубликованном документе карты должны иметься обе таблицы (или слоя), связанные через класс отношений. Если источник и/или адресат не включен в документ карты, отношения между ними будут игнорироваться сервисом объектов.

Если вы планируете использовать сервис объектов для редактирования, рекомендуется добавить в документ карты только те данные, которые будут редактироваться. Данные, которые не следует редактировать (например, базовые карты), должны быть опубликованы с помощью другого сервиса. Дополнительная информация о проектировании рабочих сервисов и сервисов базовой карты приведена в разделе Проектирование картографического сервиса. Как вариант можно использовать в качестве базовой карты сервис ArcGIS Online. Дополнительная информация о проектировании карты для наложения на сервисы и карты, доступные в сети, приведена в разделе Проектирование карты для совмещения с сервисами ArcGIS Online, Google Maps и Bing Maps.

Вы можете редактировать и удалять объекты с z-значениями. Дополнительные сведения см. в разделе Редактирование объектов со значениями z в сервисах объектов.

Если данные имеют m-значения, то такие пространственные объекты могут быть удалены или добавлены, а атрибуты существующих объектов могут быть редактированы, но их геометрия не может быть изменена. M-значения всех новых объектов, добавленных через точки доступа REST или SOAP, принимают значение NaN. Если объекты с m-значениями редактируются через сервис объектов в ArcMap с использованием команд локального редактирования, то поддерживаются все операции редактирования.

Кроме того, если планируется редактирование посредством сервиса объектов в ArcMap (см. ниже), необходимо, чтобы в документе карты на один класс пространственных объектов приходился только один слой.

ПримечаниеПримечание:

Виртуальные слои, такие как слои событий на маршруте, событий X,Y, а также слои набора данных участков, доступны через сервис объектов только для чтения.

Настройка документа карты

Следующий шаг после добавления данных в документ карты для публикации – настройка свойств слоев и таблиц. Эти свойства определяют способ отображения данных и возможности клиента по работе с этими данными.

Определение символов

Сервис объектов позволяет выполнять запросы к пространственным объектам, а также получать символы этих объектов. С этой информацией клиентское приложение может отображать объекты в условных обозначениях, совпадающих с определением сервиса.

Символы, возвращаемые сервисом, основаны на символах слоев в документе ArcMap. Каждый символ в каждом слое рассматривается как отдельный тип. Например, слой, имеющий простой механизм отображения (одним символом), будет иметь один тип. Если применяется отображение уникальными значениями, возвращается по одному типу на каждое уникальное значение.

Сервисы объектов поддерживают простое отображение, отображение уникальными значениями, отображение по границам классов и картографические представления. Если применяется неподдерживаемый тип отображения, последует сбой при запуске сервиса. В этом случае, чтобы определить, какие слои имеют неподдерживаемые типы отображения, применяется журнал сервера.

ПримечаниеПримечание:

Сервисами объектов не поддерживается отображение пропорциональными символами, а также отображение по уникальным значениям в нескольких полях.

Большинство типов символов могут использоваться в сервисе объектов, однако, в некоторых случаях, категория символа может быть понижена.

Для линейных слоев поддерживаются простые линии. Если используются другие символы, сервис объектов конвертирует их в символ простой линии, наиболее похожий на исходный символ. К примеру, символ картографической линии в документе карты может отображаться в клиенте сервиса объектов как простая сплошная линия. Если символ линии является сложным или имеет несколько слоев, сервис объектов упрощает линию, чтобы наилучшим образом представить исходный линейный символ.

Для полигональных слоев поддерживаются символы заливки и заполнения рисунком. Если применяются другие символы, сервис объектов конвертирует их символы заливки. В символе многослойной заливки сервис объектов принимает во внимание только верхний слой. Контур заливки полигона поддерживается таким же образом, как и линейные слои, описанные выше.

Для точечных слоев поддерживаются символы простых маркеров и маркеров-рисунков. Если применяются другие символы, сервис объектов конвертирует их в символы маркеров-рисунков. Кроме того, символ многослойного маркера конвертируется в символ маркера-рисунка путем слияния всех слоев в один. Свойства маски, с помощью которой можно настроить гало для маркера, не поддерживаются сервисом.

При запуске картографического сервиса с разрешенным доступом к объектам, все символы проверяются на совместимость и конвертируются по необходимости. В случаях, когда требуется конвертация, в журнал сервиса добавляется предупреждение с перечислением конвертированных символов.

Важно также отметить, что если в вашем документе карты есть слои, использующие механизмы картографических представлений, то при обращении клиентов к сервису через REST-интерфейс эти механизмы именуются механизмами отображения уникальных значений,

ПримечаниеПримечание:

Рекомендуется использовать для символов цветовую модель RGB, иначе при конвертации цветов в формат RGB могут произойти незначительные изменения.

Создание подтипов и атрибутивных доменов

Для того, чтобы облегчить работу пользователя с сервисом объектов и предотвратить ошибки ввода данных, наборы данных следует конфигурировать с применением соответствующих подтипов и атрибутивных доменов. Этим обеспечивается категоризация данных и проверка правильности ввода их значений при редактировании. Сервисы объектов могут выявлять и применять эти подтипы и домены. К примеру, если домен ограничивает выбор цвета пожарного гидранта, т.е. гидрант может быть только красным, желтым или синим, в веб-приложении появится ниспадающий список, позволяющий сделать выбор только из этих трех значений.

Определение шаблонов объектов

Вставка новых пространственных объектов посредством сервиса объектов достигается с применением шаблонов объектов из документа карты. Шаблон позволяет оцифровать новый объект и назначить соответствующие значения атрибутов по умолчанию. В сервисах пространственных объектов для каждого типа пространственного объекта должен существовать шаблон. В начале сеанса редактирования или при публикации сервиса для каждого типа создается шаблон по умолчанию.

В приложении ArcMap можно создавать новые шаблоны или изменять существующие, таким образом настраивая способы редактирования данных через сервис объектов. В том числе для каждого типа объектов можно задать инструмент построения по умолчанию. Если вы удалите шаблон определенного типа объекта, при публикации для него будет создан шаблон по умолчанию.

Существуют различные типы инструментов построения, в зависимости от типа объектов, создаваемых шаблоном. К примеру, если шаблон – линейный, то на выбор доступны только те инструменты, которые применяются для создания линейных объектов. Инструмент построения, сохраненный с шаблоном, будет доступен через сервис объектов. Единственным исключением является инструмент "Точка на конце линии" (Point At End Of Line) – он не поддерживается сервисом объектов. Дополнительная информация о шаблонах приведена в разделе Настройка свойств шаблона объектов.

При сохранении документа карты шаблоны сохраняются вместе со слоями. При публикации документа карты эти шаблоны будут доступны клиентам сервиса объектов. После того, как в документе карты определены слои, типы и шаблоны, можно переходить к публикации сервиса. Публикация описана в разделе Публикация сервиса объектов.

Свойства полей

Настроенные в ArcMap свойства полей отображаются через сервис объектов. Это такие свойства, как псевдонимы полей, видимость полей и свойство полей "только для чтения". Поля только для чтения включают системно управляемые поля, такие как оbjectid, globalid и поля отслеживания правок, а также поля, которым назначено свойство только для чтения в документе карты.

При обновлении значения в поле "только для чтения", сервис объектов игнорирует новое значение. При вставке нового объекта, для невидимых полей и полей "только для чтения" применяются значения по умолчанию. Если значения по умолчанию не определены, применяется значение Null.

Описание слоя и информация об авторских правах

Описания слоев и авторские права, указанные в документе карты, отображаются в сервисе объектов для каждого слоя как описание слоя и информация об авторских правах, соответственно.

Вложения

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

На размер и тип файлов, которые можно вложить в сервис объектов, установлены ограничения. Более подробно об этих ограничениях и о том, как изменять настройки вложений, см. в разделе Загрузки (Uploads) справки ArcGIS REST API.

Более подробно о том, как настроить поддержку вложений в наборе данных, см. в разделе Поддержка вложений в классе пространственных объектов

Всплывающие HTML страницы

Сервисы объектов поддерживают всплывающие HTML страницы, настроенные в ArcMap. Всплывающие HTML страницы – это простой и мощный механизм отображения информации о пространственных объектах в HTML формате. Они работают примерно так же, как и инструмент Идентифицировать (Identify), за исключением того, что информация может быть оформлена в формате HTML. Дополнительная информация о настройке всплывающих HTML страниц в ArcMAP приведена в разделе Установка свойств всплывающих HTML страниц для слоев пространственных объектов.

Если вы планируете работать с вашим сервисом объектов в Интернете и хотите использовать всплывающие окна, вы можете определить их стиль в Вьюер карт ArcGIS.com. Как вариант, можно определить стиль всплывающих страниц с помощью самого интерфейса клиентского приложения, например ArcGIS API for JavaScript.

Поддержка времени

Посредством сервиса объектов можно отображать временные данные, т.е. данные, представляющие состояние в определенный момент времени. Информация о времени хранится в одном или нескольких атрибутивных полях, её можно использовать для отображения данных, актуальных на определенный момент или интервал времени. Для отображения временных данных посредством сервиса объектов следует активировать свойства времени на закладке Время (Time) диалогового окна Свойства слоя (Layer Properties). Дополнительная информация об использовании времени для набора данных приведена в разделе Активация свойств времени для данных.

Системы координат

Сервисы объектов поддерживают несовпадение систем координат различных слоев в документе карты. При работе сервиса объектов выполняются необходимые координатные преобразования. Допустим, пользователь клиентского приложения производит вставку пространственного объекта посредством сервиса объектов, используя систему координат, отличную от системы координат слоя. В таком случае перед сохранением этого объекта будет выполнено его преобразование в систему координат слоя. Пространственные запросы, касающиеся геометрий объектов, также подвергаются преобразованию перед их выполнением, чтобы обеспечить правильность результатов.

При необходимости также применяются географические преобразования (преобразования датума). К примеру, если слой сохранен в датуме NAD27, и происходит вставка объекта посредством сервиса с системой координат WGS 1984, то перед сохранением объекта выполняется преобразование датума из WGS 1984 в NAD27. Метод преобразования можно настроить в свойствах фрейма данных документа карты перед его публикацией. Если в документе карты не определено преобразование, будет выполнено преобразование по умолчанию.

Пример хода работы: сервис объектов наблюдения за птицами

В данной инструкции показана настройка документа карты, а также определение данных и символов на примере сервиса объектов, который посвящен наблюдениям за птицами. Такой сервис объектов будет позволять обществу орнитологов фиксировать свои наблюдения за птицами непосредственно на карте, а также связывать с определенными местами наблюдений файлы мультимедиа, такие как фотографии, аудио- и видеофайлы.

Определение данных

Первый этап разработки сервиса объектов – определение данных, которые будут доступны через этот сервис. В данном примере мы рассмотрим класс пространственных объектов под именем Bird_Sightings (Места наблюдений за птицами) в базе геоданных ArcSDE. Для использования вложений, связанных с этим классом, необходимо добавить вложения в ArcCatalog. Для этого установите соединение с ArcSDE, щелкните правой кнопкой этот класс пространственных объектов, затем выберите пункт контекстного меню Вложения (Attachments) и Создать вложения (Create Attachments). Таким образом будет создана таблица, в которой будут храниться вложения, и класс отношений, связывающий данный класс пространственных объектов с этой таблицей. Дополнительная информация о добавлении вложений к классу пространственных объектов приведена в разделе Использование вложений в классе пространственных объектов.

Класс пространственных объектов Bird_Sightings

ПримечаниеПримечание:

Некоторые типы данных требуют поддержки версий для редактирования в базе геоданных. Это относится и к редактированию сервисов объектов. Более подробно см. Краткий обзор работы с версиями.

Определение символов

После настройки данных в базе геоданных ArcSDE следующим этапом идет добавление данных в ArcMap и определение символов для них. Символы, возвращаемые сервисом объектов, основаны на символах слоев в документе ArcMap. Каждый символ в каждом слое рассматривается как отдельный тип. В данном примере слой Bird_Sightings использует по умолчанию простой механизм отображения (одним символом).

Но, в данном случае, мы будем отображать слой с местами наблюдений за птицами в зависимости от типа такого места. Для этого используется механизм отображения по уникальным значениям. Измените способ отображения слоя, щелкнув слой правой кнопкой мыши и выбрав его свойства. В диалоговом окне свойств перейдите на закладку Символы (Symbology) и выберите Уникальные значения (Unique values) из списка Категории (Categories). Далее выберите поле, значения которого будут применяться для отображения слоя в условных обозначениях. В нашем случае существует три уникальных типа мест наблюдений (птицы, гнезда и редкие птицы), поэтому сервисом будут возвращены три типа (по одному на каждое уникальное значение).

Настройка символов слоя Bird_Sightings
При простом механизме отображения слоя Bird_Sightings – один тип.
Настройка символов слоя Bird_Sightings
При отображении слоя Bird_Sightings по уникальным значениям – три типа.

Теперь, после выбора механизма отображения, следует выбрать символы для каждого из типов мест наблюдений. В нашем случае выбран символ с птицей из подборки символов Esri. Для каждого типа места наблюдения заданы различные цвета фона и переднего плана, для того, чтобы эти места можно было легко различить в сервисе объектов. При публикации документа карты эти символы будут конвертированы в PNG графику и в таком виде переданы клиентскому приложению.

Символы шрифтового маркера для отображения различных типов мест наблюдений за птицами
Для отображения различных типов мест наблюдений за птицами применяются шрифтовые маркеры.

После настройки условных обозначений следующим шагом идет определение параметров редактирования, которое можно будет производить через сервис объектов.

Определение параметров редактирования

Смысл создания нашего сервиса объектов в том, чтобы позволить любителям птиц наносить на карту места наблюдений и любую сопутствующую информацию. Редактирование посредством сервиса объектов достигается с применением шаблонов объектов из документа карты. Если шаблоны не были созданы, то при публикации сервиса для каждого типа создается шаблон по умолчанию. Также можно создавать новые шаблоны или изменять существующие, таким образом настраивая способы редактирования данных.

В данном примере создадим шаблон для сервиса объектов. Для этого щелкните правой кнопкой класс пространственных объектов и выберите Редактировать объекты (Edit features), а затем Организовать шаблоны объектов (Organize Feature Templates). Выберите слой в списке Слои (Layers) и щелкните Новые шаблоны (New Templates). Откроется окно мастера шаблонов, где вы сможете создать шаблоны. Создайте шаблоны для всех различных типов мест наблюдений. После создания шаблонов их можно копировать, создавая дополнительные шаблоны.

Для нашего сервиса объектов добавим дополнительный шаблон для типа мест наблюдений за редкими птицами. Редкие птицы – это либо виды, находящиеся в данной местности в несвойственный им период времени (будем называть их "внесезонными"), либо виды, находящиеся под угрозой исчезновения. Создайте копию шаблона, выбрав нужный шаблон и щелкнув Копировать (Copy). В нашем случае была создана копия шаблона для мест наблюдения за редкими птицами, теперь каждая из этих копий может быть настроена для представления одного из двух различных типов редких птиц. Для настройки шаблона щелкните его дважды в окне Организовать шаблон объекта (Organize Feature Template). Откроется окно свойств шаблона, где можно изменить имя шаблона, а также значения полей по умолчанию.

Диалоговое окно свойств шаблонов для двух типов редких птиц
Свойства шаблонов: места наблюдения исчезающих видов птиц требуют повторной разведки, а внесезонных птиц – не требуют.

Шаблон для мест наблюдений исчезающих видов птиц имеет тип места наблюдения Редкие птицы (Rare Bird Sighting), а описание – Исчезающие (Endangered). Шаблон для мест наблюдений внесезонных птиц имеет тип места наблюдения Редкие птицы (Rare Bird Sighting), а описание – Внесезонные (Out of Season).

Остальным атрибутам также могут быть присвоены соответствующие значения по умолчанию для каждого шаблона. В этом случае для гнездовий редких птиц, находящихся под угрозой исчезновения, требуется проведение повторной разведки, поэтому атрибут Повтор (Follow up) должен иметь значение по умолчанию Да (Yes). Места наблюдений внесезонных птиц повторной разведки не требуют – атрибут Повтор (Follow up) по умолчанию принимает значение Нет.

Настройка значений по умолчанию для некоторых атрибутов облегчает редактирование конечному пользователю, поскольку от него просто требуется выбрать тип объекта и оцифровать его. После того, как в документе карты определены слои, типы и шаблоны, можно переходить к публикации сервиса. После публикации конечные пользователи смогут получить доступ к сервису через клиентские веб-приложения или ArcGIS for Desktop, тогда они получат возможность редактировать данные и выполнять по ним запросы.

Дополнительная информация о публикации приведена в разделе Публикация сервиса объектов.

9/12/2013