У меня есть два слоя в ArcGIS: один - векторная точка, а другой - растровый слой. Я хочу добавить значение сетки растровых данных к точке вектора. Проблема в том, что векторная точка удалена от любых существующих растровых сеток со значением, поэтому команда «Образец» не возвращает значения для этой векторной точки.
Итак, мой вопрос: как мне найти ближайшую растровую ячейку по заданной точке вектора и извлечь значение из ячейки?
На самом деле мне нужно сделать две вещи:
- Идентифицируйте outliner в рейнджере (обычно 1-2 ячейки от моего существующего растра)
- Присвойте им значение из ближайшего растра, если они находятся в диапазоне
Отредактировано: у меня есть около 3000 векторных точек, и моя проблема заключается в следующем:
Мне нужно добавить растровое значение на основе местоположения к векторным точкам. Я использовал инструмент «Образец», и он хорошо работает для большинства пунктов.
Тем не менее, есть такая ситуация
Правая точка может получить значение из растра (работает «Образец»), но левая точка не может из-за проблем с выравниванием.
Растр в полигон не работает, потому что я получаю сообщение об ошибке, что не могу превратить их в вектор, потому что они находятся вне домена. Также у меня есть очки, как это
Эти верхние точки не должны получать никаких значений, потому что они находятся слишком далеко от растра.
Я думал о некоторых способах обойти:
Шаг 1. Сделайте «образец» первым
Шаг 2. Выберите нулевое значение после «образца» операции
Шаг 3. Построить буферные зоны (в пределах 1 десятичного градуса) на основе нулевых точек
Шаг 4. Использовать зональную статистику ? или другие инструменты, чтобы перебрать все растровые ячейки в буфере, найти ближайшую, извлечь ее значение и поместить в векторную точку.
Я застрял на шаге 4. Я не знаю, какой инструмент в ArcSDK я могу использовать для достижения этой функции.
Или еще ... У вас есть идея с этим справиться?
У меня есть 20 таких растровых слоев, и я хотел бы сделать это автоматически (используя построитель моделей и arcobject).
Sample
инструмента.