Растр в мультиточки (Raster To Multipoint) (3D Analyst)
Резюме
Конвертирует центры ячеек растра в мультиточечные объекты, значения Z которых отражают значение ячейки растра.
Использование
Этот инструмент предназначен для наборов растровых данных, которые моделируют свойства поверхности, например высоту.
-
Этот инструмент полезен для вставки ЦМР (DEM) растра в точки, которые могут использоваться как вспомогательные данные для создания набора данных Terrain или TIN.
Все центры ячеек можно конвертировать с помощью опции NO_THIN. Также можно применить один из нескольких фильтров для исключения этих ячеек, являющихся менее значимыми. Опциями утончения являются ZTOLERANCE, KERNEL и VIP.
- Метод утончения ZTOLERANCE представляет максимально допустимую разницу (в единицах z) между высотой входного растра и высотой выходного класса мультиточечных объектов. По умолчанию допуск Z составляет 1/10 диапазона z входного растра. Чем больше допуск, тем больше утончение и меньше точек.
- С помощью метода утончения KERNEL определяется количество ячеек для окна. По умолчанию это 3, что переводится в набор 3 х 3 ячейки во входном растре. Оцениваются отдельные значения ячеек в каждом из этих окон. Затем выбирается одна или две ячейки в зависимости от метода выбора KERNEL. Чем больше размер ядра, тем больше объем утончения и меньше точек.
- Метод VIP используется для выбора процента точек из входного растра на основе их значимости. Значимость оценивается с помощью плавающего окна 3 х 3. Можно выбрать опцию VIP_HISTOGRAM для создания таблицы, чтобы просмотреть фактические значения значимости и соответствующее количество точек, связанных с этими значениями.
-
Метод утончения ZTOLERANCE используется, когда важно сохранить точность по вертикали. Метод утончения KERNEL используется, когда важно контролировать расстояние выборки по горизонтали.
-
Метод утончения можно применить при конвертировании растра в мультиточки. Существуют два метода утончения, используемые для создания нового класса мультиточечных объектов: ZTOLERANCE и KERNEL. Если выбран метод NO_THIN, данные полного разрешения будут выведены в новый класс мультиточечных объектов.
-
Метод VIP является относительно быстрым. С его помощью выводится прогнозируемое количество точек. Он удобен при выборе местных вершин и понижений. Но он чувствителен к шуму и нечувствителен к топографическим объектам, которые больше окна 3 х 3.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр. | Raster Layer |
out_feature_class |
Выходной класс объектов. | Feature Class |
out_vip_table (дополнительно) |
Таблица гистограммы, которую необходимо создать, если гистограмма VIP задана для параметра Метод (Method). | Table |
method (дополнительно) |
Метод утончения, применяемый для создания класса мультиточечных объектов.
| String |
kernel_method (дополнительно) |
Метод выбора, используемый для создания точек, когда утончение ядра задано в параметре Метод (Method).
| String |
z_factor (дополнительно) |
Коэффициент, используемый для умножения высоты растра. Обычно используется для конвертирования единиц между футами и метрами. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.RasterToMultipoint_3d("elevation.tif", "","elev_VIP.dbf", "VIP_HISTOGRAM", "", "1")
В следующем примере показано использование этого инструмента в автономном скрипте Python:
'''*********************************************************************
Name: RasterToMultipoint Example
Description: This script demonstrates how to use
the RasterToMultipoint tool to create multipoint datasets
fot all IMG rasters in a target workspace.
**********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions
try:
arcpy.CheckOutExtension("3D")
# Set default workspace
env.workspace = "C:/data"
# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Loop the process for each raster
if rasterList:
for raster in rasterList:
# Set Local Variables
# [:-4] strips the last 4 characters (.img) from the raster name
outTbl = "VIP_" + raster[:-4] + ".dbf"
method = "VIP_HISTOGRAM"
zfactor = 1
#Execute RasterToMultipoint
arcpy.ddd.RasterToMultipoint(raster, "",outTbl, method, "", zfactor)
else:
"There are no IMG rasters in the " + env.workspace + " directory."
except Exception as e:
# Returns any other error messages
print e.message