Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Сводка
Интерполирует гидрологически корректную растровую поверхность по точечным, линейным и полигональным данным.
Использование
Лучшие результаты будут получены в том случае, если все входные данные хранятся в одной и той же плоской (или планарной) системе координат и имеют одни и те же единицы измерения высоты. Могут быть использованы неспроецированные данные (широта-долгота); но в этом случае результаты могут быть неточными, особенно на высоких широтах.
Если в выходную ячейку попадает более одной входной точки,Топо в растр использует для интерполяции среднее значение (рассматриваются только первые 100 точек, которые попадают в ячейку, остальные игнорируются). Если алгоритмом учитывается слишком большое количество точек, может возникнуть ошибка, указывающая на то, что в наборе точечных данных слишком много точек. Максимальное количество используемых точек вычисляется по формуле NRows * NCols, где NRows – количество строк выходного растра, а NCols – количество столбцов выходного растра.
Когда типом входных данных является Изолиния, алгоритм сначала строит генерализованную морфологию поверхности, основываясь на кривизне изолиний. Затем алгоритм добавляет изолинии в качестве источника информации по высотам. Изолинии наилучшим образом подходят для крупномасштабных данных, где изолинии служат надежными индикаторами водотоков и линий водоразделов (хребтов). При более мелких масштабах может быть более эффективно и менее затратно оцифровать точки перегиба изолиний и воспользоваться ими в качестве входного класса точечных объектов.
Выходной размер ячейки можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был явно задан как значение параметра, он извлекается из параметра среды Размер ячейки, если такой задан. Если же и в параметр среды значение размера ячейки не указано, но настроен параметр Растр привязки, то будет использоваться значение величины его ячейки. Если же ни один из параметров не задан, то размер ячейки будет вычислен как наименьшее значение длины либо ширины экстента растра, поделенное на 250, при этом экстент берется из параметра среды Выходная система координат.
Если размер ячейки указан в виде числа, то инструмент будет использовать это значение для выходного растра.
Если для определения размера ячейки указан другой растр, в параметре будет показан путь к набору растровых данных вместо значения размера ячейки. Размер ячейки этого растра будет использоваться непосредственно в анализе указанная пространственная привязка набора данных будет такой же, как и выходная система координат. Если же пространственная привязка набора данных отличается от выходной пространственной привязки, на будет перепроецирована на основе выбранного Метода проецирования размера ячейки.
Представление извилистых водотоков или использование дуг для представления двух берегов водотока может давать ненадежные результаты. Данные по водотокам всегда имеют приоритет по отношению к точечным данным или данным изолиний; следовательно, точки данных по высотам, которые конфликтуют с общим снижением русла водотока, игнорируются. Данные по водотокам – это мощный способ добавления топографической информации в алгоритм интерполяции. В итоге, это позволяет повысить качество выходной ЦМР.
При использовании в качестве входных данных форматов, которые поддерживают значения Null, таких как классы пространственных объектов файловой базы геоданных, значение Null будет игнорироваться.
Типичные значения для Допуска 1 и Допуска 2 следующие:
- Для точечных данных при масштабе 1:100 000 используйте значения 5,0 и 200,0.
- Для менее плотного набора точек, до масштаба 1:500 000, используйте значения 10,0 и 400,0.
- Для данных изолиний с интервалом горизонталей, равным 10, используйте значения 5,0 и 100,0.
Допуск 2 должен быть как минимум в 6 раз больше, чем Допуск 1.
Чтобы упростить процедуру экспериментов с входными данными и параметрами, воспользуйтесь диалоговым окном Топо в растр для создания выходного файла параметров, который может быть отредактирован в любом текстовом редакторе и использован в качестве входных данных для инструмента Топо в Растр по параметрам.
Для работы данного инструмента требуется большой объем оперативной памяти, поэтому построение больших выходных растров не является возможным. Если необходим большой выходной растр, следует использовать параметр Область расширения. Для получения более подробной информации о том, как это сделать, см. раздел создание и мозаика растров в документе справки Как работает Топо в растр.
Синтаксис
arcpy.3d.TopoToRaster(in_topo_features, out_surface_raster, {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 | Входные объекты, содержащие z-значения, из которых путем интерполяции будет построен растр поверхности. Каждый входной объект может иметь поле, содержащее z-значения, и должен относиться к одному из шести типов.
Допускается использование входных данных шести типов:
При определении нескольких входных наборов классов объектов они должны быть заключены в двойные кавычки. Элементы входных данных должны быть разделены точкой с запятой с пробелом между каждым из них. См. первый пример кода ниже. | TopoInput |
out_surface_raster | Выходной растр интерполированной поверхности. Это всегда растр с плавающей точкой. | Raster Dataset |
cell_size (Дополнительный) | Размер ячейки выходного растра, который будет создан. Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. раздел об использовании. | 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 (Дополнительный) | Интегрированный квадрат второй производной как мера шероховатости поверхности. Поправка за шероховатость должна быть больше или равна нулю. Если основным типом входных данных является Изолиния, то умолчанию используется ноль. Если основным типом входных данных является Точка, то по умолчанию используется 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 |
Пример кода
В этом примере создается гидрологически корректный растр поверхности Grid из точечных, линейных и полигональных данных.
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"
inFeatures = (inPointElevations + ";" + inContours)
outRaster = "C:/output/topoout"
# Execute TopoToRaster
arcpy.TopoToRaster_3d(inFeatures, outRaster)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst или Spatial Analyst
- Standard: Требуется 3D Analyst или Spatial Analyst
- Advanced: Требуется 3D Analyst или Spatial Analyst