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

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

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

Сервисом отображаются слои и таблицы, добавленные к документу карты. Некоторые параметры, по которым определяются данные, являются стандартными для базы геоданных или базы данных. Эти параметры описываются ниже. Другие параметры определения данных отличаются в зависимости от того, где данные в базе геоданных или базе данных. Эти различия приводятся в следующих подразделах. Поддерживаются следующие платформы баз геоданных и баз данных: SQL Server, PostgreSQL, Oracle, Informix и DB2.

Данные должны иметь корректную пространственную привязку. Если этого не сделано, следует указать её в ArcMap, прежде чем публиковать данные. Если пространственная привязка не определена, данные опубликовать нельзя.

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

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

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

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

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

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

Многопользовательские базы геоданных или базы геоданных рабочих групп

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

  • Все данные должны быть из одной базы геоданных.
  • Все данные должны быть зарегистрированы в этой базе. Например, если ваша база данных содержит многопользовательскую базу геоданных, то вы не можете опубликовать пространственную таблицу из базы данных, которая не зарегистрирована в базе геоданных.
  • Предоставьте права доступа к данным, если вы планируете разрешить редактирование данных. При использовании аутентификации операционной системы эти права должны быть предоставлены учетной записи ArcGIS Server.
  • Поддерживаются как версионные, так и неверсионные базы геоданных; однако, если вы планируете редактировать с помощью этого сервиса непростые типы (например, ребра сети), поддержка версий обязательна. Кроме случаев, когда версии требуются, рекомендуется, чтобы данные не были версионными. Неверсионные данные больших объёмов редактируются лучше.

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

  • Аннотации
  • Объекты-размеры
  • Составные слои
  • Слои и таблицы только для просмотра
  • Растровые наборы данных
  • Наборы данных terrain

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

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

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

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

Для атрибутивных классов отношений вы должны также включать в документ карты и таблицу класса отношений.

Подготовка базы геоданных к работе в автономном режиме

Для работы с картами в автономном режиме вы можете включить функцию Синхронизация (Sync) для сервисов объектов, которые используются в карте. Дополнительные сведения см. в разделе Подготовка данных для автономной работы (Preparing data for offline use).

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

Функция синхронизации данных в сервисах объектов будет постепенно внедряться в клиенты ArcGIS и комплекты средств разработчика (SDK). Первыми клиентами, поддерживающими автономную работу с картами, будут Collector for ArcGIS и комплекты ArcGIS Runtime SDK версии 10.2.1. Все они планируются к выпуску в начале 2014 года.

Базы данных

Ниже описаны требования к данным сервиса объектов, которые касаются только данных, хранящихся в базе данных:

  • Все данные должны находиться в одной базе данных.
  • Предоставьте права доступа к данным, если вы планируете разрешить редактирование данных. При использовании аутентификации операционной системы эти права должны быть предоставлены учетной записи ArcGIS Server.
  • При добавлении данных базы данных в ArcMap создаётся слой запросов. Если вы изменяете определение слоя запроса, убедитесь, что запрос содержит только одну таблицу, нет дублирующих столбцов и не включает виртуальные или столбцы слияния.
  • Публикуемые данные определяются слоем запроса, указанным для таблицы в ArcMap. Например, таблицы, содержащие типы данных, которые не поддерживаются в ArcGIS, могут быть опубликованы, но к неподдерживаемым типам данных нельзя обратиться через ArcGIS или сервис объектов. См. раздел Просмотр баз данных в ArcGIS для информации о том, как изначально определяется слой запросов при добавлении таблицы базы данных в ArcMap.
  • Таблица должна содержать уникальный целочисленный (integer) столбец, поддерживаемый базой данных. Если для создания таблиц и загрузки данных в базу данных используется ArcGIS for Desktop, уникальный целочисленный идентификатор ObjectID, поддерживаемый базой данных, добавляется автоматически. Если данные создаются не в ArcGIS, в таблицу необходимо включить поддерживаемый базой данных столбец уникальных целочисленных значений. Без этого столбца опубликовать сервис объектов нельзя. Если у вас база данных IBM DB2, Microsoft SQL Server, Oracle или PostgreSQL, то для добавления в свою таблицу поддерживаемого базой данных целочисленного столбца вы можете использовать инструмент геообработки Добавить прирастающее поле ID (Add Incrementing ID Field).

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

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

Настройка вашего документа карты одинакова и для базы данных и для базы геоданных. Однако если ваш документ карты содержит данные базы геоданных, существует некоторая дополнительная функциональность, которую вы можете использовать, настройте её до публикации. Эта функциональность описывается в конце текущего раздела.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

всплывающие HTML

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

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

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

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

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

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

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

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

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

Дополнительная функциональность базы геоданных

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

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

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

Пользовательские шаблоны объектов

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

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

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

Вложения

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

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

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

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

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

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

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

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

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

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

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

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

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

После настройки данных следующим этапом идет добавление данных в 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). Откроется окно мастера Шаблоны (Templates), где вы можете создавать шаблоны. Создайте шаблоны для всех различных типов мест наблюдений. После создания шаблонов их можно копировать, создавая дополнительные шаблоны.

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

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

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

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

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

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

Другие руководства пользователя:

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

База данных

Если ваши данные хранятся в базе данных, следуйте шагам руководств пользователя для базы данных:

Руководство пользователя: выполнение веб-редактирования с использованием данных из базы геоданных

5/16/2014