Топо в растр (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией 3D Analyst.

Сводка

Интерполирует гидрологически корректную растровую поверхность по точечным, линейным и полигональным данным.

Более подробно о том, как работает инструмент Топо в растр

Использование

  • Лучшие результаты будут получены в том случае, если все входные данные хранятся в одной и той же плоской (или планарной) системе координат и имеют одни и те же единицы измерения высоты. Могут быть использованы неспроецированные данные (широта-долгота); но в этом случае результаты могут быть неточными, особенно на высоких широтах.

  • Если в выходную ячейку попадает более одной входной точки,Топо в растр использует для интерполяции среднее значение (рассматриваются только первые 100 точек, которые попадают в ячейку, остальные игнорируются). Если алгоритмом учитывается слишком большое количество точек, может возникнуть ошибка, указывающая на то, что в наборе точечных данных слишком много точек. Максимальное количество используемых точек вычисляется по формуле NRows * NCols, где NRows – количество строк выходного растра, а NCols – количество столбцов выходного растра.

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

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

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

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

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

  • Типичные значения для Допуска 1 и Допуска 2 следующие:

    • Для точечных данных при масштабе 1:100 000 используйте значения 5,0 и 200,0.
    • Для менее плотного набора точек, до масштаба 1:500 000, используйте значения 10,0 и 400,0.
    • Для данных изолиний с интервалом горизонталей, равным 10, используйте значения 5,0 и 100,0.

    Допуск 2 должен быть как минимум в 6 раз больше, чем Допуск 1.

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

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

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

TopoToRaster(in_topo_features, {cell_size}, {extent}, {Margin}, {minimum_z_value}, {maximum_z_value}, {enforce}, {data_type}, {maximum_iterations}, {roughness_penalty}, {discrete_error_factor}, {vertical_standard_error}, {tolerance_1}, {tolerance_2}, {out_stream_features}, {out_sink_features}, {out_diagnostic_file}, {out_parameter_file}, {profile_penalty}, {out_residual_feature}, {out_stream_cliff_error_feature}, {out_contour_error_feature})
ParameterОбъяснениеТип данных
in_topo_features
topo_input

Класс Topo определяет входные пространственные объекты, содержащие z-значения, путем интерполяции которых будет построен растр поверхности.

Для класса Топо может быть использовано девять типов входных данных: TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake, TopoCliff, TopoExclusion и TopoCoast.

  • TopoPointElevation ([[inFeatures,{field}],...])

    Класс точечных объектов, представляющих поверхности высот.

    Параметр field содержит высоты точек.

  • TopoContour ([[inFeatures,{field}],...])

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

    Параметр field содержит высоты изолиний (горизонталей).

  • TopoStream ([inFeatures,...])

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

  • TopoSink ([[inFeatures,{field}],...])

    Класс точечных объектов, который представляет известные топографические понижения. Инструмент Топо в Растр не будет пытаться убрать из анализа точки, которые явно определены как локальные понижения.

    Должен использоваться тот параметр field, в котором хранятся высоты допустимых локальных понижений. Если выбрана опция NONE, используется только положение локального понижения.

  • TopoBoundary ([inFeatures,...])

    Граница – это класс пространственных объектов, содержащий единственный полигон, который представляет внешний контур выходного растра. Ячейки в выходном растре, которые лежат за этой границей, будут иметь значение Нет данных. Эта опция может быть использована для удаления водных объектов вдоль береговых линий до построения выходного растра.

  • TopoLake ([inFeatures,...])

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

  • TopoCliff ([inFeatures,...])

    Класс линейных объектов, представляющий обрывы. Линейные объекты-обрывы должны иметь направление, при этом левая стороны линии должны соответствовать низкой стороне обрыва, а правая – высокой.

  • TopoExclusion ([inFeatures,...])

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

  • TopoCoast ([inFeatures,...])

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

Классы пространственных объектов типа PointElevation, Contour и Sink могут иметь поле, содержащее z-значения. Для входных данных типов Boundary, Lake, Cliff, Coast, Exclusion или Stream опция Поле не предусмотрена.

TopoInput
cell_size
(Дополнительный)

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

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

Analysis Cell Size
extent
(Дополнительный)

Класс Extent определяет экстент выходного набора растровых данных.

Интерполяция будет выполняться до границ по x и y, и ячейками вне этого экстента будет присвоено значение NoData. Для лучших результатов интерполяции вдоль краев выходного растра, границы по x и y должны быть меньше, чем экстент входных данных, по крайней мере, на 10 ячеек с каждой стороны.

Форма класса Extent:

  • Extent (XMin, YMin, XMax, YMax)

    , где:

    • XMin – по умолчанию это наименьшее значение координаты X всех входных данных.
    • YMin – по умолчанию это наименьшее значение координаты Y всех входных данных.
    • XMax – по умолчанию это наибольшее значение координаты X всех входных данных.
    • YMax – по умолчанию это наибольшее значение координаты Y всех входных данных.

Экстент по умолчанию – это наибольший из всех экстентов входных данных объектов.

Extent
Margin
margin
(Дополнительный)

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

Значение должно быть больше или равно нулю. Значение по умолчанию равно 20.

Если наборы классов объектов Extent и TopoBoundary совпадают с границами входных данных (по умолчанию), то значения вдоль краев ЦМР, полученные в результате интерполяции, не будут в точности совпадать с краями смежных ЦМР. Это происходит из-за того, что они интерполируются с использованием только половины точек, которые задействованы в интерполяции для точек, расположенных в середине растра и окруженных входными данными со всех сторон. Опция Margin позволяет использовать при интерполяции входные данные, расположенные за этими границами.

Long
minimum_z_value
(Дополнительный)

Минимальное z-значение, используемое в интерполяции.

Значение по умолчанию на 20 процентов ниже минимального из всех входных значений.

Double
maximum_z_value
(Дополнительный)

Максимальное z-значение, используемое в интерполяции.

Значение по умолчанию на 20 процентов выше максимального из всех входных значений.

Double
enforce
(Дополнительный)

Тип применяемого принудительного заполнения.

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

  • ENFORCEАлгоритм предпримет попытку удалить все выявленные локальные понижения, независимо от того, являются ли они действительными или ложными. Используется по умолчанию.
  • NO_ENFORCEЛокальные понижения не будут заполнены.
  • ENFORCE_WITH_SINKТочки, определенные в качестве локальных понижений во входных данных, принимаются за реальные топографические впадины и не меняются при работе инструмента. Все локальные понижения, не указанные во входных данных, будут считаться фиктивными, и алгоритм предпримет попытку их заполнить.Наличие более 8 000 фиктивных локальных понижений даст сбой в работе инструмента.
String
data_type
(Дополнительный)

Доминирующий тип данных по высотам.

  • CONTOURДоминирующим типом входных данных будут горизонтали рельефа (изолинии по высотам). Используется по умолчанию.
  • SPOTДоминирующим типом данных будут точки.

Определение подходящей выборки оптимизирует метод поиска, используемый при построении водотоков и водоразделов (линий хребтов).

String
maximum_iterations
(Дополнительный)

Максимальное число повторений процесса интерполяции.

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

Значение, равное 30, удалит меньшее количество ложных локальных понижений. В редких случаях, более высокие значения (45-50) могут быть полезны для удаления большего количества локальных понижений или для определения большего количества водоразделов и водотоков. Процесс итерации останавливается для каждого расширения грида после достижения максимального числа итераций.

Long
roughness_penalty
(Дополнительный)

Интегрированный квадрат второй производной как мера шероховатости поверхности.

Поправка за шероховатость должна быть больше или равна нулю. Если основным типом входных данных является Изолиния, то умолчанию используется ноль. Если основным типом входных данных является Точка, то по умолчанию используется 0,5. Значения больше этого, как правило, не рекомендуются.

Double
discrete_error_factor
(Дополнительный)

Коэффициент ошибки разделения используется для настройки величины сглаживания при преобразовании входных данных в растр.

Значение должно быть больше нуля. Обычный диапазон значений для уравнивания – от 0,25 до 4, а значение по умолчанию равно 1. Более низкое значение приводит к меньшему сглаживанию данных; более высокие значения приводят к большему сглаживанию.

Double
vertical_standard_error
(Дополнительный)

Размер случайной погрешности в z-значениях входных данных.

Значение должно быть больше или равно нулю. Значение по умолчанию равно нулю.

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

Double
tolerance_1
(Дополнительный)

Этот допуск отражает точность и плотность точек высот по отношению к дренажным характеристикам поверхности.

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

Значение должно быть больше или равно нулю. Значение по умолчанию 2,5, если тип данных Изолиния, и ноль, если тип данных Точка.

Double
tolerance_2
(Дополнительный)

Этот допуск препятствует движению стока через нереально высокие барьеры.

Значение должно быть больше нуля. Значение по умолчанию 100, если тип данных Изолиния, и 200, если тип данных Точка.

Double
out_stream_features
(Дополнительный)

Выходной класс линейных объектов водотоков и хребтов (водоразделов).

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

Полилинейные объекты имеют следующие коды:

###1. Входная линия водотока не выше скалы.

2. Входная линия водотока выше скалы (водопад).

3. Принудительное заполнение, очищающее случайный сток.

4. Линия водотока, определенная по углу изолинии.

###5. Линия гребня, определенная по углу изолинии.

6. Код не используется.

7. Дополнительные условия данных линии водотока.

8. Код не используется.

9. Линия, указывающая на большой промежуток в данных высоты.

Feature Class
out_sink_features
(Дополнительный)

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

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

Feature Class
out_diagnostic_file
(Дополнительный)

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

File
out_parameter_file
(Дополнительный)

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

File
profile_penalty
(Дополнительный)

Фактор шероховатости кривизны профиля ― это локальный адаптивный фактор, который может использоваться для частичного замещения общей кривизны.

В сочетании с изолиниями высокого качества его использование может привести к отличным результатам, но с плохими данными результаты могут быть нестабильны. Значение 0,0 соответствует отсутствию кривизны профиля (по умолчанию); 0,5 – средней кривизне профиля; 0,8 – наибольшей кривизне профиля. Значения, превышающие 0,8, настоятельно не рекомендуются в применении.

Double
out_residual_feature
(Дополнительный)

Класс выходных точечных объектов для всех больших невязок высот в масштабе по локальной погрешности дискретизации.

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

Feature Class
out_stream_cliff_error_feature
(Дополнительный)

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

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

Точки кодируются следующим образом:

###1. Настоящий канал в сети данных водотоков.

2. Канал в сети водотоков, закодированный в выходном растре.

3. Канал в сети водотоков через соединенные озера.

4. Точка рукавов.

###5. Водоток выше скалы (водопад).

6. Точки, указывающие на множество точек выхода водотока из озер.

7. Код не используется.

8. Точки около скал, чья высота не соответствует направлению скал.

9. Код не используется.

10. Кольцевой рукав удален.

11. Рукав без впадающего водотока.

12. Растеризованный рукав в выходной ячейке, отличной от той, в которой разделилась линия водотока.

13. Дополнительные условия ошибок обработки – индикатор очень сложных данных водотоков.

Feature Class
out_contour_error_feature
(Дополнительный)

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

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

Feature Class

Значение отраженного сигнала

NameОбъяснениеТип данных
out_surface_raster

Выходной растр интерполированной поверхности.

Это всегда растр с плавающей точкой.

Raster

Пример кода

TopoToRaster, пример 1 (окно Python)

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

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outTTR = TopoToRaster([TopoPointElevation([['spots', 'spot_meter']]), 
                       TopoContour([['contours', 'spot_meter']]),
                       TopoCliff(['cliff'])], 60, 
                       "#", "#", "#", "#", "NO_ENFORCE")
outTTR.save("C:/sapyexamples/output/ttrout.tif")
TopoToRaster, пример 2 (автономный скрипт)

В этом примере создается гидрологически корректный растр поверхности Grid из точечных, линейных и полигональных данных.

# Name: TopoToRaster_Ex_02.py
# Description: Interpolates a hydrologically correct surface 
#    from point, line, and polygon data.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inPointElevations = TopoPointElevation([['spots.shp', 'spot_meter'], 
                                        ['spots2.shp', 'elev']])
inBoundary = TopoBoundary(['boundary.shp'])
inContours = TopoContour([['contours.shp', 'spot_meter']])
inLake = TopoLake(['lakes.shp'])
inSinks = TopoSink([['sink1.shp', 'elevation'], ['sink2.shp', 'none']])
inStream = TopoStream(['streams.shp'])

inFeatures = ([inPointElevations, inContours, inLake, inBoundary, inSinks])

# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)

# Save the output 
outTTR.save("C:/sapyexamples/output/ttrout03")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst или 3D Analyst
  • Standard: Требуется Spatial Analyst или 3D Analyst
  • Advanced: Требуется Spatial Analyst или 3D Analyst

Связанные разделы