У ArcGIS у мене два шари: один - векторна точка, а другий - растровий шар. Я хочу додати значення сітки растрових даних до векторної точки. Проблема полягає в тому, що векторна точка відсутня від будь-яких існуючих растрових сіток зі значенням, тому команда "Зразок" не повертає значення для цих векторних точок.
Отже, моє запитання таке: як я можу знайти найближчу растрову клітинку з заданою векторною точкою та отримати значення з комірки?
Насправді мені потрібно зробити дві речі:
- Визначте контур у рейнджері (як правило, на 1-2 клітини від мого наявного растру)
- Призначте їм значення з найближчого растру, якщо вони знаходяться в діапазоні
Відредаговано: У мене близько 3000 векторних точок, і моя проблема полягає в наступному:
Мені потрібно додати векторні точки до растрових значень на основі розташування. Я використовував інструмент "Зразок", і він працює добре для більшості пунктів.
Однак є така ситуація
Права точка може отримати значення з растру ("Зразок" працює), але ліва точка не може через проблеми з вирівнюванням.
Растр на багатокутник не працює, тому що я отримую повідомлення про помилку, що я не можу перетворити їх у вектор, тому що вони поза доменом. Також у мене є такі очки
Ці верхні точки не повинні отримувати жодних значень, оскільки вони занадто далеко від растру.
Я думав про те, щоб якось обійтись:
Крок 1. Спершу зробіть «зразок»
Крок 2. Виберіть нульове значення після операцій "зразок"
Крок 3. побудуйте буферні зони (в межах 1 десяткового градуса) на основі нульових точок
Крок 4. використовувати зональну статистику ?? ? або інші інструменти, щоб провести крізь усі растрові комірки в буфері, знайти найближчу, витягнути її значення та помістити у векторну точку.
Я застряг на кроці 4. Я не знаю, який інструмент в ArcSDK я можу використати для досягнення цієї функції.
Або ще ... Чи маєте ви кращу ідею розібратися з цим?
У мене є 20 растрових шарів, як це, і я хотів би зробити це автоматично (використовуючи конструктор моделей та arcobject).
Sample
інструменту.