Разработка эффективных моделей данных для сбора данных в полевых условиях

Карты географической информационной системы (ГИС) состоят из рабочих слоев и слоев базовой карты. Рабочие слои используются для редактирования и идентификации пространственных объектов. Слои базовой карты содержат визуальную фоновую справочную информацию. Например, полевой проект, предусматривающий сбор координат XY и атрибутов вновь размещенных водопроводных клапанов в подразделении, содержит рабочий слой водопроводных клапанов. Этот слой редактируется в полевых условиях. Можно также добавить рабочий слой водопроводных труб, который поможет работникам полевой бригады идентифицировать отдельные водопроводные трубы. Под этими рабочими слоями можно поместить слой базовой карты, содержащий аэрофотоснимки рабочей области, чтобы показать улицы, парки и другие фоновые точки интереса.

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

Поддержка баз геоданных

Мобильный сервис и мобильный кэш, созданные с помощью инструмента Создать мобильный кэш (Create Mobile Cache) в ArcGIS for Windows Mobile поддерживают редактирование данных в файловых и многопользовательских базах геоданных ArcSDE. Мобильная карта может содержать слои, которые ссылаются на другие источники данных, однако, чтобы слой был редактируемым, его источник данных должен быть классом объектов, хранящимся в базе геоданных. Более подробно о требованиях для редактируемого слоя см. в разделе Требования схемы данных для целей рабочих слоев ниже.

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

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

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

Схема данных и назначение рабочих слоев карты

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

Требования схемы данных для рабочих слоев различного назначения

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

  • Сбор данных –Для мобильных сервисов тип выбранного хранилища данных может повлиять на выполнение сбора данных работниками полевой бригады. Если данные поступают из файловой базы геоданных, то после размещения ее на ArcGIS Server они становятся доступными только для чтения, несмотря на то, что вы добавили для них GlobalID. В этом случае вы все равно можете использовать инструмент Создать мобильный кэш (Create Mobile Cache) для создания мобильного кэша и добавления его в проект для сбора данных. Если, однако, ваши данные берутся из базы данных ArcSDE, и вы не регистрировали данные на сервере до публикации, они также становятся доступными только для чтения. Однако эти ограничения не применяются к сервисам объектов, то есть данные могут быть отредактированы даже при условии, что у них нет идентификатора GlobalID и они не хранятся в файловой базе геоданных.
  • Предоставление справочной информации только для чтения – для схемы слоя только для чтения ограничения отсутствуют.
  • Идентификация текущего пользователя – слой идентификационных данных должен быть точечным слоем с двумя текстовыми полями: одно для хранения идентификационных данных пользователя, второе для хранения отображаемого имени пользователя. Если работники полевой бригады не будут редактировать слой, идентификатор GlobalID не требуется. Если слой необходимо отредактировать, вы можете опубликовать его в ArcGIS Server как мобильный сервис или на ArcGIS Online для организаций или Портал for ArcGIS как сервис объектов, или кэшировать его, с помощью инструмента Создать Мобильный кэш (Create Mobile Cache).
  • Слой журналирования – слой журналирования должен быть редактируемым точечным слоем, обязательно иметь поле даты/времени и текстовым полем для имени компьютера (или идентификационной информации, если есть слой Идентификационные данные (Identity)). Вы можете опубликовать слой в ArcGIS Server как мобильный сервис или на ArcGIS Online для организаций или Портал for ArcGIS как сервис объектов, или кэшировать его, с помощью инструмента Создать Мобильный кэш (Create Mobile Cache).
  • Слой отслеживания полевой бригады – как и слой журналирования, слой отслеживания полевой бригады должен быть редактируемым точечным слоем с полем даты/времени и текстовым полем для имени компьютера или идентификационной информации. Поскольку в слое регулярно синхронизируются и обновляются последние известные местоположения всех полевых работников, его источником должен быть мобильный сервис/сервис объектов, а не локальный мобильный кэш.
  • Скрытый от пользователя – для схемы скрытого слоя ограничения отсутствуют.
Более подробно о назначении слоя см. в разделе Свойства рабочий слоя.

Поля слоя карты и свойства поля

Поведение базы геоданных, поддерживаемое в приложениях ArcGIS for Windows Mobile, включает следующее:

  • Подтипы – используются для классификации пространственных объектов, хранящихся в одном классе пространственных объектов. Например, объекты дерева можно классифицировать по типу дерева. При создании нового объекта дерева работник полевой бригады может выбрать тип дерева для объекта вместо того, чтобы вводить тип как отдельный атрибут.
  • Домены – поддерживаются и домены кодированных значений, и интервальные домены. При сборе или обновлении значений атрибутов каждый домен кодированных значений отображается в виде списка для выбора. Интервальные домены определяют диапазон допустимых значений, которые могут быть введены для числового атрибута и/или атрибута даты.
  • Значения по умолчанию – когда полю атрибута присваивается значение по умолчанию, полевые приложения автоматически заполняют это поле значением по умолчанию. Например, для поля атрибута высоты дерева может быть задано значение 10. Любым новым объектам дерева будет автоматически присвоено значение высоты 10. Если высота дерева ниже или выше 10, работники полевой бригады могут исправить значение в поле высоты. Значение по умолчанию может быть присвоено любому атрибутивному полю класса пространственных объектов.
  • Вложения – поддержка вложений в классе пространственных объектов является одним из способов управления информацией, относящейся к пространственным объектам. Вложения должны быть добавлены в классы пространственных объектов базы геоданных до их использования в полевых условиях. Вложения обычно используются для хранения цифровых фотографий пространственного объекта. Для просмотра каждого объекта можно создать несколько вложений.
  • Raster/BLOB (не поддерживается для сетевых сервисов объектов) – поля с типом raster/BLOB определяются, как специальный тип поля, который может использоваться для хранения фотографий. Вы можете добавить в растровое поле имеющиеся файлы фотографий, или использовать встроенную камеру мобильного устройства напрямую. Учтите, что для каждого пространственного объекта вы можете хранить только одно изображение в поле raster/BLOB.
    ВниманиеВнимание:

    Чтобы использовать поле BLOB для хранения изображений, префиксом имени поля должен быть esri_picture или picture_ as. Можно использовать, например, esri_picture и picture_WaterValve.

  • Даты – в атрибутивных полях можно хранить значения дат. Редактируя данные в полевых условиях, работники полевой бригады могут изменять значения поля даты/времени, выбрав их во всплывающем календаре.
  • Телефонные номера – если вы используете текстовое поле для хранения телефонных номеров и форматируете свой телефонный номер в вид (XXX)XXX-XXXX, чтобы он распознавался устройством Windows Mobile со встроенным чипом сотовой связи, вы можете включить телефон и вызвать номер непосредственно из приложения ArcGIS.
ПримечаниеПримечание:

Классы пространственных объектов с поддержкой Z- или M-значений можно редактировать, но Z- и M-значения не будут поддерживаться. Для недавно полученных объектов Z- и M-значения не будут установлены.

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

Обсуждение проекта базы геоданных

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

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

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

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

Модель репликации базы геоданных

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

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

Редактирование реплицированной базы геоданных, созданной для управления полевыми изменениями

ETL модель

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

Для управления процессами ETL, осуществляемыми между мобильной и многопользовательской базами геоданных, можно использовать модели геообработки. Можно также использовать дополнительный модуль ArcGIS Data Interoperability для визуального проектирования этих процессов преобразования. Важно отметить, что определяемые вами процессы могут не быть двусторонними. Определите один набор моделей геообработки или пользовательских пространственных инструментов ETL для преобразования вашей модели данных в мобильном устройстве и второй набор моделей для преобразования полевых данных в соответствии с корпоративной схемой.

Мобильная модель транзакций

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

При создании транзакционной модели необходимо учитывать следующее:

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

Редактирование неверсионной базы геоданных

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

Изменения в полевых условиях напрямую обновляют базу геоданных

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

Диаграмма согласования версионных изменений

Среда редактирования клиента ArcGIS for Windows Mobile

Приложения ArcGIS for Windows Mobile не имеют понятия начала, остановки и сохранения изменений, которые используются в других приложениях ArcGIS. Каждая правка хранится в мобильном кэше в устройстве до тех пор, пока вы не синхронизируете обновления с сервером. Вы можете отменить правку, внесенную в приложение, что отменит все полевые правки и восстановит исходное состояние объекта, но вы не можете отменить отдельную правку.

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

Закрепление изменений

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

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

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

Связанные темы

6/29/2013