Доступно с лицензией 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 (Tolerance 2) должен быть как минимум в 6 раз больше, чем Допуск 1 (Tolerance 1).
Чтобы упростить процедуру экспериментов с входными данными и параметрами, воспользуйтесь диалоговым окном Топо в Растр для создания выходного файла параметров, который может быть отредактирован в любом текстовом редакторе и использован в качестве входных данных для инструмента Топо в Растр по параметрам (Topo to Raster by File).
Для работы данного инструмента требуется большой объем оперативной памяти, поэтому построение больших выходных растров не является возможным. Если необходим большой выходной растр, следует использовать параметр Область расширения (Margin). Для получения более подробной информации о том, как это сделать, см. раздел создание и мозаика растров в документе справки Как работает Топо в растр.
См. раздел Среда анализа и 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 опция Поле (Field) не предусмотрена. | TopoInput |
cell_size (дополнительно) | Размер ячейки, который будет использован при создании выходного растра. Будет использоваться значение в параметрах среды, если оно было явно задано; в противном случае, будет использован меньший из размеров ширины или высоты экстента входной пространственной привязки, деленный на 250. | Analysis Cell Size |
extent (дополнительно) | Класс Экстент (Extent) определяет экстент выходного набора растровых данных. Интерполяция будет выполняться до границ по x и y, и ячейками вне этого экстента будет присвоено значение NoData. Для лучших результатов интерполяции вдоль краев выходного растра, границы по x и y должны быть меньше, чем экстент входных данных, по крайней мере, на 10 ячеек с каждой стороны. Класс Extent определяется следующим образом:
Экстент по умолчанию – это наибольший из всех экстентов входных данных объектов. | Extent |
Margin margin (дополнительно) | Расстояние в ячейках, определяющее на сколько будет расширена интерполяция за пределы заданного выходного экстента и границы. Значение должно быть больше или равно нулю. Значение по умолчанию равно 20. Если наборы пространственных объектов Экстент и TopoBoundary совпадают с границами входных данных (по умолчанию), то значения вдоль краев ЦМР, полученные в результате интерполяции, не будут в точности совпадать с краями смежных ЦМР. Это происходит из-за того, что они интерполируются с использованием только половины точек, которые задействованы в интерполяции для точек, расположенных в середине растра и окруженных входными данными со всех сторон. Опция Область расширения позволяет использовать при интерполяции входные данные, расположенные за этими границами. | 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 (дополнительно) | Выходной файл параметров, в котором перечислены все использованные входные данные и параметры и который может применяться с инструментом Топо в растр по параметрам (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 (дополнительно) | Выходной точечный класс объектов для расположений, в которых возможно появление ошибок для водотоков и скал. Местоположения, где водотоки имеют замкнутые петли, рукава и протоки по скалам, можно идентифицировать из класса точечных объектов. Также можно выявить скалы, чьи соседние ячейки имеют несоответствия с верхними и нижними сторонами скал. Это может быть хорошим индикатором скал с неверным направлением. Точки кодируются следующим образом: 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")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Текущая рабочая область (Current Workspace)
- Выходное значение Z по умолчанию (Default Output Z Value)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Разрешение M (M Resolution)
- Допуск M (M Tolerance)
- Сохранять пространственный индекс (Maintain Spatial Index)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Выходные данные содержат значения M (Output has M values)
- Выходные данные содержат Z значения (Output has Z values)
- Выходной домен M (Output M Domain)
- Выходной XY домен (Output XY Domain)
- Выходной домен Z (Output Z Domain)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)
- Перенос описаний доменов полей (Transfer Field Domain Descriptions)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)