Естественная окрестность (3D Analyst)
Резюме
Интерполируется поверхность растра на основании значений точек с использованием метода естественной окрестности.
Более подробно об инструменте Естественная окрестность (Natural Neighbor)
Использование
-
Если центр ячейки периметра выходного растра выходит за пределы выпуклой оболочки (определённой входными точками), то этим ячейкам будут присвоены значения NoData. Если входная точка попадает на одну из ячеек из расположенных по периметру, и центр ячейки находится вне выпуклой оболочки, ячейке все равно будет присвоено значение NoData.
-
Некоторые входные данные могут иметь несколько точек с одинаковыми x,y координатами. Если значения точек в одних и тех же местоположениях совпадают, такие точки считаются идентичными и предполагается, что они не влияют на выходные данные. Если значения различаются, такие точки рассматриваются как совпадающие.
Различные инструменты интерполяции могут использовать это условие для данных по-разному. Например, в некоторых случаях для вычисления используется первая совпадающая точка, которую вы встретили; в других случаях используется последняя точка. Такая ситуация может приводить к тому, что в некоторых точках выходного растра значения будут отличаться от ожидаемых. Решением этой проблемы может стать предварительная подготовка данных, при которой совпадающие точки будут удалены. Инструмент Собрать события (Collect Events) в наборе инструментов Пространственная статистика (Spatial Statistics) полезен для идентификации совпадающих точек в ваших данных.
-
Инструмент имеет ограничения, так как не может обработать более 15 миллионов входных точек. Если входной класс объектов содержит очень большое количество точек (более 15 миллионов), инструмент может прекратить обработку и результат не будет получен.
Это ограничение можно обойти путем обработки поверхности и создания мозаики из результатов для получения единого большого набора растровых данных. Убедитесь, что между частями есть наложение. Также можно использовать набор данных Terrain (Terrain dataset) для хранения и визуализации точек и поверхностей, состоящих из миллиардов точек измерения.
Рекоммендуется, чтобы входные данные были в проекционной системе координат, а не в географической.
-
Альтернативный подход — использовать набор данных TIN. Сначала создайте TIN из исходных данных. Затем преобразуйте результирующую сеть TIN в растр с помощью инструмента TIN в растр (TIN To Raster) и параметра Естественные окрестности (Natural Neighbors). Такая методика особенно эффективна при наличии линий перегиба или области данных неправильной формы.
Синтаксис
Параметр | Объяснение | Тип данных |
in_point_features |
Входные точечные объекты, содержащие z-значения, с помощью которых будет построен растр поверхности. | Feature Layer |
z_field |
Поле, в котором хранится значение высоты или величины для каждой точки. Это может быть числовое поле или поле формы Shape, если входные точечные объекты содержат z-значения. | Field |
out_raster |
Выходной растр интерполированной поверхности. | Raster Layer |
cell_size (дополнительно) |
Размер ячейки, который будет использован при создании выходного растра. Будет использоваться значение в параметрах среды, если оно было явно задано; в противном случае, будет использован меньший из размеров ширины или высоты экстента входной пространственной привязки, деленный на 250. | Analysis Cell Size |
Пример кода
В этом примере вводится точечный шейп-файл и интерполируется выходная поверхность в качестве растра TIFF.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.NaturalNeighbor_3d("ca_ozone_pts.shp", "ozone",
"C:/output/nnout.tif", 2000)
В этом примере вводится точечный шейп-файл и интерполируется выходная поверхность в качестве растра Grid.
# Name: NaturalNeighbor_3d_Ex_02.py
# Description: Interpolate a series of point features onto
# a rectangular raster using Natural Neighbor interpolation.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inPntFeat = "ca_ozone_pts.shp"
zField = "ozone"
outRaster = "C:/output/nnout"
cellSize = 40000
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute NaturalNeighbor
arcpy.NaturalNeighbor_3d(inPntFeat, zField, outRaster, cellSize)