Топо в растр (Topo to Raster) (3D Analyst)
Резюме
Интерполирует гидрологически корректную растровую поверхность по точечным, линейным и полигональным данным.
Более подробно о том, как работает инструмент Топо в растр (Topo to Raster)
Использование
-
Лучшие результаты будут получены в том случае, если все входные данные хранятся в одной и той же плоской системе координат и имеют одни и те же единицы измерения высоты (ZUnits). Могут быть использованы неспроецированные данные (широта-долгота); но в этом случае результаты могут быть неточными, особенно на больших широтах.
-
Для интерполяции каждой выходной ячейки инструмент Топо в Растр (Topo to Raster) будет использовать только четыре входных точки. Все дополнительные точки игнорируются. Если алгоритмом учитывается слишком большое количество точек, может возникнуть ошибка, указывающая на то, что в наборе точечных данных слишком много точек. Максимальное количество используемых точек вычисляется по формуле NRows * NCols, где NRows – количество строк выходного растра, а NCols – количество столбцов выходного растра.
-
Когда тип входных данных – Изолиния (CONTOUR), алгоритм сначала строит генерализованную морфологию поверхности, основываясь на кривизне изолиний. Затем алгоритм добавляет изолинии в качестве источника информации по высотам. Изолинии наилучшим образом подходят для крупномасштабных данных, где изолинии служат надежными индикаторами водотоков и линий водоразделов (хребтов). При более мелких масштабах может быть более эффективно и менее затратно оцифровать точки перегиба изолиний и воспользоваться ими в качестве входного класса точечных объектов.
-
Представление извилистых водотоков или использование дуг для представления двух берегов водотока может давать ненадежные результаты. Данные по водотокам всегда имеют приоритет по отношению к точечным данным или данным изолиний; следовательно, точки данных по высотам, которые конфликтуют с общим снижением русла водотока, игнорируются. Данные по водотокам – это мощный способ добавления топографической информации в алгоритм интерполяции. В итоге, это позволяет повысить качество выходной ЦМР.
-
Типичные значения для Допуска 1 (Tolerance 1) и Допуска 2 (Tolerance 2) следующие:
- Для точечных данных при масштабе 1:100 000 используйте значения 5.0 и 200.0.
- Для менее плотного набора точек, до масштаба 1:500 000, используйте значения 10.0 и 400.0.
- Для данных изолиний с интервалом горизонталей, равным 10, используйте значения 5.0 и 100.0.
-
Чтобы упростить процедуру экспериментов с входными данными и параметрами, воспользуйтесь диалоговым окном Топо в растр (Topo to Raster) для создания выходного файла параметров, который может быть отредактирован в любом текстовом редакторе и использован в качестве входных данных для инструмента Топо в Растр по параметрам (Topo to Raster by File).
Приложение Топо в растр оказывает большую нагрузку на оперативную память, поэтому построение больших выходных растров не является возможным. Если необходим большой выходной растр, следует применить параметр MARGIN (Поля).
Синтаксис
Параметр | Объяснение | Тип данных |
in_topo_features topo_input |
Входные объекты, содержащие z-значения, из которых путем интерполяции будет построен растр поверхности. Каждый входной объект может иметь поле, содержащее z-значения, и должен относиться к одному из шести типов.
Допускается использование входных данных шести типов:
| TopoInput |
out_surface_raster |
Выходной растр интерполированной поверхности. | Raster Layer |
cell_size (дополнительно) |
Размер ячейки, который будет использован при создании выходного растра. Будет использоваться значение в параметрах среды, если оно было явно задано; в противном случае, будет использован меньший из размеров ширины или высоты экстента входной пространственной привязки, деленный на 250. | Analysis Cell Size |
extent (дополнительно) |
Экстент выходного набора растровых данных. Интерполяция будет выполняться до границ по x и y, и ячейками вне этого экстента будет присвоено значение Нет данных (NoData). Для лучших результатов интерполяции вдоль краев выходного растра, границы по x и y должны быть меньше, чем экстент входных данных, по крайней мере, на 10 ячеек с каждой стороны.
Экстент по умолчанию – это наибольший из всех экстентов входных данных объектов. | Extent |
Margin margin (дополнительно) |
Расстояние в ячейках, определяющее на сколько будет расширена интерполяция за пределы заданного выходного экстента и границы. Значение должно быть больше или равно нулю. Значение по умолчанию равно 20. Если наборы пространственных объектов Экстент ({extent}) и Граница (Boundary) совпадают с границами входных данных (по умолчанию), то значения вдоль краев ЦМР, полученные в результате интерполяции, не будут в точности совпадать с краями смежных ЦМР. Это происходит из-за того, что они интерполируются с использованием только половины точек, которые задействованы в интерполяции для точек, расположенных в середине растра и окруженных входными данными со всех сторон. Опция Поля ({margin}) позволяет использовать в интерполяции входные данные, расположенные за этими границами. | Long |
minimum_z_value (дополнительно) |
Минимальное z-значение, используемое в интерполяции. Значение по умолчанию на 20 процентов ниже минимального из всех входных значений. | Double |
maximum_z_value (дополнительно) |
Максимальное z-значение, используемое в интерполяции. Значение по умолчанию на 20 процентов выше максимального из всех входных значений. | Double |
enforce (дополнительно) |
Тип применяемого принудительного заполнения. Может быть определена опция принудительного заполнения, которая попытается удалить все локальные понижения или депрессии с целью создания гидрологически корректной ЦМР. Если точки локальных понижений были однозначно определены в качестве входных топографических объектов, эти депрессии не будут заполняться.
| String |
data_type (дополнительно) |
Доминирующий тип данных по высотам.
Определение подходящей выборки оптимизирует метод поиска, используемый при построении водотоков и водоразделов (линий хребтов). | String |
maximum_iterations (дополнительно) |
Максимальное число повторений процесса интерполяции. Число итераций должно быть больше нуля. Предлагаемое по умолчанию значение, равное 20, как правило, является адекватным как для изолиний, так и для линейных данных. Значение, равное 30, удалит меньшее количество ложных локальных понижений. В редких случаях, более высокие значения (45-50) могут быть полезны для удаления большего количества локальных понижений или для определения большего количества водоразделов и водотоков. Процесс итерации останавливается для каждого расширения грида после достижения максимального числа итераций. | Long |
roughness_penalty (дополнительно) |
Интегрированный квадрат второй производной как мера шероховатости поверхности. Поправка за шероховатость должна быть больше или равна нулю. Начальный тип входных данных – изолинии (CONTOUR), значение по умолчанию равно нулю. Если основной тип входных данных – Точки (SPOT), значение по умолчанию равно 0,5. Значения больше этого, как правило, не рекомендуются. | Double |
discrete_error_factor (дополнительно) |
Коэффициент ошибки разделения используется для настройки величины сглаживания при преобразовании входных данных в растр. Значение должно быть больше нуля. Обычный диапазон значений для уравнивания – от 0,5 до 2, а значение по умолчанию равно 1. Более низкое значение приводит к меньшему сглаживанию данных; более высокие значения приводят к большему сглаживанию. | Double |
vertical_standard_error (дополнительно) |
Размер случайной погрешности в z-значениях входных данных. Значение должно быть больше или равно нулю. Значение по умолчанию равно нулю. Стандартная погрешность по вертикали может быть задана равной меньшему положительному значению, если в данных есть значительные случайные (несистематические) вертикальные погрешности с одинаковой дисперсией. В этом случае, определите стандартную ошибку по вертикали равной стандартному отклонению этих погрешностей. Для большинства наборов данных по высотам погрешность по вертикали должна задаваться равной нулю, но она может быть задана равной маленькому положительному значению для стабилизации сходимости при построении растра по точечным данным с использованием линейных данных по водотокам. | Double |
tolerance_1 (дополнительно) |
Этот допуск отражает точность и плотность точек высот по отношению к дренажным характеристикам поверхности. Для точечных наборов данных задавайте допуск равным стандартной погрешности в высотных данных. Для горизонталей используйте средний интервал горизонтали. Значение должно быть больше или равно нулю. Значение по умолчанию – 2,5, если тип данных – ИЗОЛИНИЯ (CONTOUR); и ноль, если тип данных – ТОЧКА (SPOT). | Double |
tolerance_2 (дополнительно) |
Этот допуск препятствует движению стока через нереально высокие барьеры. Значение должно быть больше нуля. Значение по умолчанию равно 100, если тип данных – ИЗОЛИНИЯ (CONTOUR), и 200, если тип данных – ТОЧКА (SPOT). | Double |
out_stream_features (дополнительно) | Выходной класс линейных объектов водотоков и хребтов (водоразделов). Линейные объекты создаются в начале процесса интерполяции. Он обеспечивает общую морфологию поверхности для интерполяции. Данный класс может использоваться для проверки корректности дренажной системы и морфологии рельефа путем сравнения с существующими данными по водотокам и водоразделам. Полилинейные объекты имеют следующие коды:
| Feature Class |
out_sink_features (дополнительно) |
Выходной класс точечных объектов, состоящий из оставшихся точек локальных понижений. Это локальные понижения, которые не были заданы во входных векторных данных локальных понижений и не были удалены при выполнении принудительного заполнения. Настройка значений допусков, допуска tolerance_1 и допуска tolerance_2, может сократить число остаточных локальных понижений. Остающиеся локальные понижения зачастую указывают на ошибки во входных данных, которые не могут быть исправлены алгоритмом принудительного заполнения локальных понижений. Это может служить эффективным способом выявления неявных ошибок в высотах. | Feature Class |
out_diagnostic_file (дополнительно) |
Выходной файл диагностики, в котором перечислены все использованные входные данные и параметры, а также количество локальных понижений, исправленных при каждом разрешении и при каждой итерации. | File |
out_parameter_file (дополнительно) |
Выходной файл параметров, в котором перечислены все использованные входные данные и параметры и который может применяться с инструментом Топо в растр по параметрам (Topo to Raster by File) для повторного проведения интерполяции. | File |
profile_penalty (дополнительно) |
Фактор шероховатости кривизны профиля ― это локальный адаптивный фактор, который может использоваться для частичного замещения общей кривизны. В сочетании с изолиниями высокого качества его использование может привести к отличным результатам, но с плохими данными результаты могут быть нестабильны. Значение 0,0 соответствует отсутствию кривизны профиля (по умолчанию); 0,5 – средней кривизне профиля; 0,8 – наибольшей кривизне профиля. Значения, превышающие 0,8, настоятельно не рекомендуются в применении. | Double |
out_residual_feature (дополнительно) |
Класс выходных точечных объектов для всех крупных остатков высоты с масштабом по локальной погрешности дискретизации. Все измеренные остатки, имеющие значение больше 10, должны быть проверены на возможные ошибки во входных данных высоты и водотока. Крупномасштабные остатки указывают на конфликты между входными данными высоты и водотока. Они также могут быть связаны с ошибками, выявленными при автоматическом принудительном заполнении речного бассейна. Эти конфликты могут быть устранены при помощи дополнительной линии водотока и/или дополнительных значений высот точек, но сначала следует проверить и исправить ошибки в существующих входных данных. Большие остаточные смещения вне масштаба обычно указывают на ошибки в высотах входных данных. | Feature Class |
out_stream_cliff_error_feature (дополнительно) |
Выходной точечный класс объектов для расположений, в которых возможно появление ошибок для водотоков и скал. Местоположения, где водотоки имеют замкнутые петли, рукава и водотоки выше скал, можно идентифицировать из класса точечных объектов. Также можно выявить скалы, чьи соседние ячейки имеют несоответствия с верхними и нижними сторонами скал. Это может быть хорошим индикатором скал с неверным направлением. Точки кодируются следующим образом:
| Feature Class |
out_contour_error_feature (дополнительно) |
Выходной точечный класс объектов для возможных ошибок, связанных с входными данными изолиний. Изолинии с наклоном в высоте, в пять раз превышающим стандартное отклонение значений изолинии, как показано в выходном растре, заносятся в данный класс объектов. Изолинии, соединяющие другие изолинии с отличной высотой, отмечены в этом классе объектов кодом 1, это явный признак ошибки надписи изолинии. | Feature Class |
Пример кода
В этом примере создается гидрологически корректная поверхность по точечным, линейным и полигональным данным.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.TopoToRaster_3d("C:/data/spots.shp spot_meters PointElevation; C:/data/contours.shp spot_meters Contour; C:/data/cliff.shp # Cliff",
"c:/output/toporast", 32, "740825 4309275 748825 4317275",
"20","","","ENFORCE","CONTOUR","40","","1","0")
В этом примере создается гидрологически корректный растр поверхности Grid из точечных, линейных и полигональных данных.
# Name: TopoToRaster_3D_Ex_02.py
# Description: Interpolates a hydrologically correct surface
# from point, line, and polygon data.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inPointElevations = "C:/data/spots.shp spot_meters PointElevation"
inContours = "C:/data/contours.shp spot_meters Contour"
inCoast = "C:/data/coast.shp # Coast"
inFeatures = (inPointElevations + ";" + inContours + ";" + inCoast)
outRaster = "C:/output/topoout"
# Check out the ArcGIS 3D extension license
arcpy.CheckOutExtension("3D")
# Execute TopoToRaster
arcpy.TopoToRaster_3d(inFeatures, outRaster)