Редактирование пространственных объектов с z-значениями

Значения z обычно представляют высоты и используются для отображения пространственных объектов в трехмерном пространстве. Каждая вершина пространственного объекта, помимо координат x,y, хранит также информацию о местоположении z. Несмотря на то, что ArcMap и среда редактирования являются двухмерными, они обеспечивают ввод, редактирование и поддержку для z-значений.

Присвоение z-значений при редактировании в ArcMap определяется общими функциями инструментов и команд редактирования: создаются ли новые или редактируются имеющиеся пространственные объекты. В большинстве операций редактирования всем вершинам нового пространственного объекта присваиваются одинаковые z-значения по умолчанию. Когда существующий объект изменяется, новые z-значения интерполируются и обновленные значения назначаются отредактированным вершинам. Некоторые операции редактирования, однако, просто сохраняют существующие z-значения.

Вы можете просмотреть или изменить z-значения объекта в окне Свойства редактируемого скетча (Edit Sketch Properties). Z-значения перечислены в столбце Z. Для изменения z-значений нескольких вершин установите отметки слева от нужных вершин, щёлкните Z и введите новые значения.

В окне Свойства редактируемого скетча отображаются z-значения. Z-значение для вершины 3 сейчас редактируется.

Для хранения z-значений для объектов вы должны указать, что класс пространственных объектов хранит z-значения при его создании. Тогда класс объектов будет хранить z-значения. Чтобы определить, что класс пространственных объектов хранит z-значения, откройте его свойства в ArcCatalog или Окно каталога (Catalog), щёлкните на закладке Общие (General) и проверьте наличие отметки Хранятся Z-значения (Coordinates include Z values) на панели Свойства геометрии (Geometry Properties). Также это можно посмотреть в поле Shape в таблице атрибутов в ArcMap, где, например, для линии будет находится значение Polyline Z.

Отметка рядом с опцией Хранятся Z значения (Coordinates include Z values) означает, что класс пространственных объектов поддерживает хранение z-значений.
Отметка рядом с опцией Хранятся Z значения (Coordinates include Z values) означает, что класс пространственных объектов поддерживает хранение z-значений.

Если существующий класс пространственных объектов не хранит z-значения, то можно создать новый класс пространственных объектов, которых будет хранить z-значения, а затем скопировать объекты из существующего класса объектов в новый и отредактировать z-значения. Вам не требуется наличие лицензии дополнительного модуля Дополнительный модуль ArcGIS 3D Analyst для создания классов пространственных объектов, которые хранят z-значения, или редактирования таких классов в ArcMap. Однако, если у вас имеется лицензия 3D Analyst, вы можете также редактировать объекты в ArcGlobe или ArcScene.

Следующие секции описывают поведение объектов при редактировании в ArcMap.

Каким образом ArcMap присваивает z-значения новым пространственным объектам

ArcMap присваивает z-значения новым пространственным объектам одним из двух способов:

При копировании и вставке объектов или использовании инструмента Копировать объекты (Copy Features) на панели редактирования Расширенное редактирование (Advanced Editing), существующие z-значения из оригинального объекта будут также скопированы в новые объекты. Если исходный объект берется из слоя, в котором нет z-значений, вставленному объекту присваиваются z-значения по умолчанию.

Прочие операции по созданию новых объектов (скетчи, трассировка, ввод геодезических ходов, исправление ошибок топологии, буферизация и т.д.) присваивают всем вершинам новых объектов постоянное z-значение. Постоянное значение Z – это Текущее Z, которое по умолчанию равно 0.

Например, когда вы создаете новый объект в ArcMap, в качестве z-значений будет автоматически записано Текущее значение Z. Чтобы изменить z-значения существующего объекта, дважды щёлкните на объекте инструментом Редактировать (Edit) и щёлкните на кнопке свойства редактируемого скетча (Edit Sketch Properties). Свойства редактируемого скетча на панели инструментов Редактор (Editor).

Чтобы указать другое значение Текущее Z (Current Z), вам надо добавить текстовое окно Текущее Z в интерфейс ArcMap. Щёлкните на меню Настроить > Режим настройки, найдите Текущее Z на закладке Команды, перетащите элемент управления на любую панель инструментов в ArcMap (например на панель инструментов Редактор), затем закройте диалоговое окно Настроить. В окне Текущее Z вы можете ввести любое нужное вам число. В процессе создания скетча редактирования вы можете использовать Текущее Z, чтобы назначать z-значения для каждой вершины скетча.

Поле Текущее Z-значение
поле для ввода Текущее Z. Текущее Z по умолчанию равно 0.

Каким образом ArcMap присваивает z-значения имеющимся пространственным объектам в процессе редактирования

При редактировании пространственных объектов, ArcMap присваивает z-значения редактируемому объекту одним из двух способов:

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

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

Например, если разрезать линию с z-значениями, для получения z-значения точки разреза обычно интерполируются z-значения имеющихся вершин этой линии. Если z-значения в начальной вершине линии равно 10, а z-значение для конечной вершины равно 20, то вершина, созданная при разрезании линии будет иметь z-значение 16, если вы разрежете линию в положении 60% от начальной вершины.

При таких операциях, как объединение и пересечение, где в качестве входных данных берутся объекты из разных слоёв, выходные данные будут интерполироваться только если у всех входных данных были z-значения. Текущее Z используется, когда во входных слоях отсутствуют z-значения.

При выполнении редактирования, работающего со многими вершинами, новые z-значения будут пересчитываться только для тех вершин, которые менялись. В большинстве случаев, z-значения присваиваются путём интерполяции. Однако, инструменты Изменить форму, Разрезать полигоны и Автозавершение полигона, которые используют скетч, чтобы редактировать существующие объекты, применяют z-значения скетча к добавленным вершинам.

Примеры присвоения z-значений

На следующих примерах показаны обычные задачи редактирования и что происходит с z-значениями после завершения операции.

Обратите внимание, что значение Текущего Z считается равным 0 (по умолчанию). Чтобы указать другое значение для Текущего Z, введите значение в поле Текущее Z.

Сценарий редактирования

Как присваиваются z-значения

Пример:

Создание нового объекта

Вершинам присваивается Текущее Z.

Назначаемое z-значение при создании объекта

Копирование и вставка объекта

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

Назначаемое z-значение копировании при вставке объекта

Перемещение объекта

Имеющиеся z-значения сохраняются и не изменяются.

Назначаемое z-значение при перемещении объекта

Вращение объекта

Имеющиеся z-значения сохраняются и не изменяются.

Назначаемое z-значение при повороте объекта

Перемещение вершины

Имеющиеся z-значения сохраняются и не изменяются.

Назначаемое z-значение при перемещении вершины

Вставка вершины

Новой вершине присваивается интерполированное z-значение.

Назначаемое z-значение при вставке вершины

Растяжение линии

Новой вершине присваивается интерполированное (экстраполированное) z-значение.

Назначаемое z-значение при расширении объекта

Сокращение линии

Новой вершине присваивается интерполированное z-значение.

Назначаемое z-значение при обрезке объекта

Разбиение линии

Новой вершине присваивается интерполированное z-значение. Каждый объект имеет одинаковое z-значение в вершине, в которой исходный объект был разбит.

Назначаемое z-значение при разделении объекта

Изменение формы объекта

Вершинам, вставленным из скетча редактирования, присваиваются z-значения этого скетча. Z-значения остальных вершин не меняются.

Назначаемое z-значение при изменении формы объекта
Z-значения скетча, использованного для изменения формы объекта, равны 0, поэтому z-значения новых вершин тоже равны 0.

Разрезание полигона

Новым вершинам по линии разреза присваиваются z-значения разрезающего скетча. Z-значения для существующих вершин сохраняются и не изменяются.

Назначаемое z-значение при разрезании полигона

Автозавершение полигона

Присвоение z-значений новым полигонам: Новым вершинам полигона присваиваются z-значения из скетча. Присвоение z-значений существующим полигонам: Для поддержания целостности границы между существующим и новым полигонами ArcMap вставляет вершины в существующий полигон там, где его пересекает новый полигон. Для этих вершин z-значения интерполируются только из z-значений старого полигона. Z-значения для других вершин сохраняются и не изменяются.

Назначаемое z-значение при создании полигона с использованием инструмента Автозавершение полигона
Z-значения скетча, использованные при рисовании нового полигона (Объект B) равны 0. Однако, вершины, которые были добавлены в существующий полигон (Объект A) имеют z-значения 5 и 7, так как они были проинтерполированы из вершин объекта A.

Примеры присвоения z-значений
5/10/2014