TIN в растр (3D Analyst)
Краткая информация
Создает растр с помощью интерполяции значений ячеек по высотам входной TIN с заданным расстоянием выборки.
Рисунок
Использование
-
Поскольку интерполяция входной TIN поверхности происходит с равными интервалами, в выходном растре имеется небольшая потеря информации. Насколько точно растр соответствует TIN, зависит от разрешения растра, степени изменчивости и интервала выборки TIN поверхности. В общем виде, при увеличении разрешения, выходной растр более точно соответствует TIN поверхности. Поскольку растр является ячеистой структурой, он не может содержать мягкие или жесткие ребра линий перегиба, которые могут встречаться в TIN.
-
Вы можете принять значения TIN XMIN, YMIN как начало координат по умолчанию, и XMAX, YMAX как верхний правый угол экстента, чтобы создать растр, покрывающий полный экстент TIN. Или вы можете задать начало координат выходного растра, экстент и разрешение (или размер ячеек), чтобы создать растр покрывающий только часть TIN.
-
При экспорте большого растра следует указать Выходной тип данных (Output Data Type) как целое число, чтобы сэкономить место на диске, если точность ваших данных позволяет использовать целочисленные z-значения.
-
Выходной растр может быть получен в виде файла или в виде набора растровых данных в базе геоданных. К поддерживаемым файловым форматам относятся Esri Grid, ERDAS IMAGINE и TIFF. Формат определяется по выходному имени. Если выходной путь указывает на базу геоданных, будет создан растр базы геоданных. Если выходной путь указывает на обычную папку и не содержит расширение файла, будет создан Esri Grid. Используйте расширения .img и .tif для создания файлов IMAGINE или TIFF.
Синтаксис
Параметр | Объяснение | Тип данных |
in_tin |
Входной TIN. | TIN Layer |
out_raster |
Местоположение и имя выходного растра. При хранении набора растровых данных в базе геоданных или в папке, например в Esri Grid, расширение файла к имени набора растровых данных добавлять не нужно. При хранении набора растровых данных в папке для определения формата растра может быть задано расширение файла:
Если растр хранится в базе геоданных или в виде файла TIFF, тип и качество сжатия этого растра можно задать с помощью настроек среды геообработки. | Raster Dataset |
data_type (дополнительно) |
Тип данных выходного растра можно определить следующими ключевыми словами:
| String |
method (дополнительно) |
Метод интерполяции, использованный для создания растра.
| String |
sample_distance sampling_method distance (дополнительно) |
Метод выборки и расстояние, используемые для определения размера ячейки выходного растра.
| String |
z_factor (дополнительно) |
Коэффициент, на который будут умножаться Z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TinRaster_3d("tin", "raster.img", "INT", "LINEAR", "OBSERVATIONS 250", 1)
В следующем примере показано использование этого инструмента в автономном скрипте Python:
'''******************************************************************
Name: TinRaster Example
Description: This script demonstrates how to use the
TinRaster tool to create rasters from
each TIN in the target workspace.
******************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment setting
env.workspace = "C:/data"
# Set Local Variables
dataType = "INT"
method = "NATURAL_NEIGHBORS"
sampling = "CELLSIZE 10"
zfactor = "1"
# Create list of TINs
TINList = arcpy.ListDatasets("*", "Tin")
# Verify the presence of TINs in the list
if TINList:
# Iterate through the list of TINs
for dataset in TINList:
# Define the name of the output file
outRaster = "{0}_natural.img".format(dataset)
# Execute TinRaster
arcpy.ddd.TinRaster(dataset, outRaster, dataType,
method, sampling, zfactor)
print "Finished."
else:
print "There are no TIN(s) in {0}.".format(env.workspace)
arcpy.CheckInExtension("3D")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)