Доступно с лицензией Spatial Analyst.
Краткая информация
Интерполирует гидрологически корректную растровую поверхность по точечным, линейным и полигональным данным.
Использование
Лучшие результаты будут получены в том случае, если все входные данные хранятся в одной и той же плоской (или планарной) системе координат и имеют одни и те же единицы измерения высоты. Могут быть использованы неспроецированные данные (широта-долгота); но в этом случае результаты могут быть неточными, особенно на высоких широтах.
Если в выходную ячейку попадает более одной входной точки,Топо в растр использует для интерполяции среднее значение (рассматриваются только первые 100 точек, которые попадают в ячейку, остальные игнорируются). Если алгоритмом учитывается слишком большое количество точек, может возникнуть ошибка, указывающая на то, что в наборе точечных данных слишком много точек. Максимальное количество используемых точек вычисляется по формуле NRows * NCols, где NRows – количество строк выходного растра, а NCols – количество столбцов выходного растра.
Когда типом входных данных является Изолиния, алгоритм сначала строит генерализованную морфологию поверхности, основываясь на кривизне изолиний. Затем алгоритм добавляет изолинии в качестве источника информации по высотам. Изолинии наилучшим образом подходят для крупномасштабных данных, где изолинии служат надежными индикаторами водотоков и линий водоразделов (хребтов). При более мелких масштабах может быть более эффективно и менее затратно оцифровать точки перегиба изолиний и воспользоваться ими в качестве входного класса точечных объектов.
Представление извилистых водотоков или использование дуг для представления двух берегов водотока может давать ненадежные результаты. Данные по водотокам всегда имеют приоритет по отношению к точечным данным или данным изолиний; следовательно, точки данных по высотам, которые конфликтуют с общим снижением русла водотока, игнорируются. Данные по водотокам – это мощный способ добавления топографической информации в алгоритм интерполяции. В итоге, это позволяет повысить качество выходной ЦМР.
Типичные значения для Допуска 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})
Параметр | Объяснение | Тип данных |
in_topo_features topo_input |
Класс Topo определяет входные пространственные объекты, содержащие z-значения, путем интерполяции которых будет построен растр поверхности. Для класса Топо может быть использовано девять типов входных данных: TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake, TopoCliff, TopoExclusion и TopoCoast.
Классы пространственных объектов типа PointElevation, Contour и Sink могут иметь поле, содержащее z-значения. Для входных данных типов Boundary, Lake, Cliff, Coast, Exclusion или Stream опция Поле не предусмотрена. | TopoInput |
cell_size (Дополнительный) | Размер ячейки, который будет использован при создании выходного растра. Будет использоваться значение в параметрах среды, если оно было явно задано; в противном случае, будет использован меньший из размеров ширины или высоты экстента входной пространственной привязки, деленный на 250. | Analysis Cell Size |
extent (Дополнительный) | Класс Extent определяет экстент выходного набора растровых данных. Интерполяция будет выполняться до границ по x и y, и ячейками вне этого экстента будет присвоено значение NoData. Для лучших результатов интерполяции вдоль краев выходного растра, границы по x и y должны быть меньше, чем экстент входных данных, по крайней мере, на 10 ячеек с каждой стороны. Форма класса Extent:
Экстент по умолчанию – это наибольший из всех экстентов входных данных объектов. | Extent |
Margin margin (Дополнительный) | Расстояние в ячейках, определяющее на сколько будет расширена интерполяция за пределы заданного выходного экстента и границы. Значение должно быть больше или равно нулю. Значение по умолчанию равно 20. Если наборы классов объектов Extent и TopoBoundary совпадают с границами входных данных (по умолчанию), то значения вдоль краев ЦМР, полученные в результате интерполяции, не будут в точности совпадать с краями смежных ЦМР. Это происходит из-за того, что они интерполируются с использованием только половины точек, которые задействованы в интерполяции для точек, расположенных в середине растра и окруженных входными данными со всех сторон. Опция 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,25 до 4, а значение по умолчанию равно 1. Более низкое значение приводит к меньшему сглаживанию данных; более высокие значения приводят к большему сглаживанию. | Double |
vertical_standard_error (Дополнительный) | Размер случайной погрешности в z-значениях входных данных. Значение должно быть больше или равно нулю. Значение по умолчанию равно нулю. Стандартная погрешность по вертикали может быть задана равной меньшему положительному значению, если в данных есть значительные случайные (несистематические) вертикальные погрешности с одинаковой дисперсией. В этом случае, определите стандартную ошибку по вертикали равной стандартному отклонению этих погрешностей. Для большинства наборов данных по высотам погрешность по вертикали должна задаваться равной нулю, но она может быть задана равной маленькому положительному значению для стабилизации сходимости при построении растра по точечным данным с использованием линейных данных по водотокам. | Double |
tolerance_1 (Дополнительный) | Этот допуск отражает точность и плотность точек высот по отношению к дренажным характеристикам поверхности. Для точечных наборов данных задавайте допуск равным стандартной погрешности в высотных данных. Для горизонталей используйте средний интервал горизонтали. Значение должно быть больше или равно нулю. Значение по умолчанию 2,5, если тип данных CONTOUR, и ноль, если тип данных SPOT. | Double |
tolerance_2 (Дополнительный) | Этот допуск препятствует движению стока через нереально высокие барьеры. Значение должно быть больше нуля. Значение по умолчанию 100, если тип данных CONTOUR, и 200, если тип данных SPOT. | 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 |
Возвращаемое значение
Название | Объяснение | Тип данных |
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'])
inCliff = TopoCliff(['cliff.shp'])
inCoast = TopoCoast(['coast.shp'])
inExclusion = TopoExclusion(['ignore.shp'])
inFeatures = ([inPointElevations, inContours, inLake, inStream, inBoundary, inSinks, inCliff, inCoast, inExclusion])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)
# Save the output
outTTR.save("C:/sapyexamples/output/ttrout03")
Параметры среды
- Автоподтверждение
- Размер ячейки
- Текущая рабочая область
- Выходное Z значение по умолчанию
- Экстент
- Географические преобразования
- Маска
- Разрешение M
- Допуск M
- Поддерживать пространственный индекс
- Выходное ключевое слово конфигурации
- Выходная система координат
- Выходные данные содержат M-значения
- Выходные данные содержат Z значения
- Выходной M домен
- Выходной XY домен
- Выходной Z домен
- Временная рабочая область
- Растр привязки
- Размер листа
- Перенос описаний доменов полей
- Разрешение XY
- Допуск XY
- Разрешение Z
- Допуск Z
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst или 3D Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst или 3D Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst или 3D Analyst