Значения z обычно представляют высоты и используются для отображения пространственных объектов в трехмерном пространстве. Каждая вершина пространственного объекта, помимо координат x,y, хранит также информацию о местоположении z. Несмотря на то, что ArcMap и среда редактирования являются двухмерными, они обеспечивают ввод, редактирование и поддержку для z-значений.
Присвоение z-значений при редактировании в ArcMap определяется общими функциями инструментов и команд редактирования: когда создаются новые или редактируются имеющиеся пространственные объекты. В большинстве операций редактирования всем вершинам нового пространственного объекта присваиваются одинаковые z-значения по умолчанию. Когда существующий объект изменяется, новые z-значения интерполируются и обновленные значения назначаются отредактированным вершинам. Некоторые операции редактирования, однако, просто сохраняют существующие z-значения.
Вы можете просмотреть или изменить z-значения объекта в окне Свойства редактируемого скетча. Z-значения перечислены в столбце Z. Для изменения z-значений нескольких вершин установите отметки слева от нужных вершин, щёлкните Z и введите новые значения.
Для хранения z-значений для объектов вы должны указать, что класс пространственных объектов хранит z-значения при его создании. Тогда класс объектов будет хранить z-значения. Чтобы определить, что класс пространственных объектов хранит z-значения, откройте его свойства в ArcCatalog или Окно каталога, щёлкните на вкладке Общие и проверьте наличие отметки Хранятся Z-значения на панели Свойства геометрии. Также это можно посмотреть в поле Shape в таблице атрибутов в ArcMap, где, например, для линии будет находится значение Полилиния Z.
Если существующий класс пространственных объектов не хранит z-значения, то можно создать новый класс пространственных объектов, которых будет хранить z-значения, а затем скопировать объекты из существующего класса объектов в новый и отредактировать z-значения. Вам не требуется наличие лицензии дополнительного модуля ArcGIS 3D Analyst extension для создания классов пространственных объектов, которые хранят z-значения, или редактирования z-значений в ArcMap. Однако при наличии лицензии 3D Analyst вы можете также редактировать объекты в ArcGlobe или ArcScene.
Следующие секции описывают поведение объектов при редактировании в ArcMap.
Каким образом ArcMap присваивает z-значения новым пространственным объектам
ArcMap присваивает z-значения новым пространственным объектам одним из двух способов:
- При копировании и вставке объектов, уже имеющих z-значения, ArcMap также копирует эти z-значения в новые объекты.
- При всех прочих способах создания объектов, ArcMap присваивает всем вершинам z-значение по умолчанию.
При копировании и вставке объектов или использовании инструмента Копировать объекты на панели редактирования Расширенное редактирование, существующие z-значения из оригинального объекта будут также скопированы в новые объекты. Если исходный объект берется из слоя, в котором нет z-значений, вставленному объекту присваиваются z-значения по умолчанию.
Прочие операции по созданию новых объектов (скетчи, трассировка, ввод геодезических ходов, исправление ошибок топологии, буферизация и т.д.) присваивают всем вершинам новых объектов постоянное z-значение. Постоянное значение Z – это Текущее Z, которое по умолчанию равно 0.
Например, когда вы создаете новый объект в ArcMap, в качестве z-значений будет автоматически записано Текущее значение Z. Чтобы изменить z-значения существующего объекта, дважды щёлкните на объекте инструментом Редактировать и щёлкните на кнопке Свойства редактируемого скетча на панели Редактор.
Чтобы указать другое значение Текущее Z, вам надо добавить текстовое окно Текущее Z в интерфейс ArcMap. Щёлкните на меню Настроить > Режим настройки, найдите Текущее Z на вкладке Команды, перетащите элемент управления на любую панель инструментов в ArcMap (например на панель инструментов Редактор), затем закройте диалоговое окно Настроить. В окне Текущее Z вы можете ввести любое нужное вам число. В процессе создания скетча редактирования вы можете использовать Текущее Z, чтобы назначать z-значения для каждой вершины скетча.
Каким образом ArcMap присваивает z-значения имеющимся пространственным объектам в процессе редактирования
При редактировании пространственных объектов, ArcMap присваивает z-значения редактируемому объекту одним из двух способов:
- Имеющиеся z-значения сохраняются, так как на них не влияет редактирование.
- Значения 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-значений новому полигону: Для поддержания целостности границы между существующим и новым полигонами ArcMap вставляет вершины в существующий полигон там, где его пересекает новый полигон. Для этих вершин z-значения интерполируются только из z-значений старого полигона. Z-значения для других вершин сохраняются и не изменяются. |