Редактирование векторных веб-слоев

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

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

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

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

Примечание:

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

Сохранение или отклонение изменений

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

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

Функции, относящиеся к поведению редактирования на стороне сервера могут быть отложены или недоступны в сеансе редактирования. Ниже приведены примеры этого типа поведения:

  • Переход из источника к назначению в отношении, созданном в сеансе редактирования
  • Атрибутивные правила, исключенные из оценок на стороне клиента, не отображают вычисленные значения

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

Примечание:

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

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

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

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

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

Чтобы включить такие функции редактирования в именованной версии, редактируемая версия должна быть изолирована от других редакторов. Для достижения этой цели в ArcGIS AllSource предусмотрены механизмы блокировки, ограничивающие доступ к версиям для просмотра или редактирования. Модель блокировки также позволяет работать одному редактору или нескольким вьюерам.

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

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

Дополнительное поведение при редактировании

Аналогично описанному выше поведению с возможностями управления версиями, дополнительные поведения редактирования отображаются в зависимости от свойств сервиса и слоя. Цель использования такого поведения - уменьшить количество сбоев редактирования из-за ограничений размера файла или времени обработки.

Загрузка с асинхронным применением изменений

Два свойства определяют, как передаются изменения на сервер: supportsApplyEditsbyUploadID и supportsAsyncApplyEdits. Если для параметров сервиса supportsApplyEditsbyUploadID и supportsAsyncApplyEdits задано значение true, ArcGIS AllSource может воспользоваться преимуществами загрузки и асинхронной обработки при использовании операции applyEdits для внесения изменений. При определении того, когда следует использовать загрузку и асинхронную обработку для applyEdits, используется алгоритм, описанный ниже.

Для использования upload применяется размер запроса. Размер запроса определяется размером полезной нагрузки, а также оценкой размера кодировки URL для запроса. Если размер запроса превышает 6 МБ, используется upload. Процесс загрузки направлен на сокращение времени ожидания путем упаковки полезной нагрузки редактирования в файл, который загружается с уникальным идентификатором элемента. Затем на идентификатор загружаемого элемента ссылается вызов applyEdits для применения изменений сервиса.

Дополнительные сведения о загрузке файлов см. в разделе Загрузка.

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

1 + (число записей / 1000) + (размер полезной нагрузки (МБ) / 6 МБ)

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

Дополнительные сведения об асинхронности applyEdits см. в разделе Применение изменений.