Обработка данных методом скользящего окна

Кроме QGIS
Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Обработка данных методом скользящего окна

Сообщение novia » 28 дек 2011, 14:19

а что за медиану вы для вектора считать собразись? (зональная статистика вас тут не устраивает?)

Проблема исключительно в том, что способов решения слишком много. Проверять все возможные способы - нереально. Тем более, что многие потенциально возможные решения могут быть нигде не реализованы
простите за нескромный вопрос... вам надо "посчитать" медиану (сделать обработку), или обсудить как же неудобно она считается (не сделать, и сказать что это невозможно)?

если первое - попробуйте по пунктам объяснить какие данные у вас есть, что с ними надо сделать, что вы уже пробовали сделать, но не получилось. тогда есть шанс, что вам помогут, а гадать вслепую можно бесконечно.


редко, когда для конкретных узких задач есть готовые инструменты в гис-пакетах, заботливо написанные, и описанные по пунктам. вам дают набор кубиков конструктора - простые универсальные операции. цепочка из которых позволяет быстро или долго, но решить задачу. оптимизация, в случае ориентации на конечный продукт, это, на мой взгляд, лишь способ облегчить жизнь исполнителю.
понравилось? жми палец вверх :!:

Variant
Активный участник
Сообщения: 133
Зарегистрирован: 15 окт 2009, 09:14
Репутация: 42
Откуда: Москва

Re: Обработка данных методом скользящего окна

Сообщение Variant » 28 дек 2011, 16:31

novia писал(а):а что за медиану вы для вектора считать собразись? (зональная статистика вас тут не устраивает?)
В случае векторных данных - медианное значение некоторого численного атрибута в окне заданного размера. Окно обходит всю заданную область, в результате чего мы получаем массив таких значений. Это действительно сродни расчёту зональной статистики
novia писал(а): простите за нескромный вопрос... вам надо "посчитать" медиану (сделать обработку), или обсудить как же неудобно она считается (не сделать, и сказать что это невозможно)?

если первое - попробуйте по пунктам объяснить какие данные у вас есть, что с ними надо сделать, что вы уже пробовали сделать, но не получилось. тогда есть шанс, что вам помогут, а гадать вслепую можно бесконечно.
Надо "посчитать". Вопросы удобства довольно важны, но вторичны. Поскольку, как мне показалось, самый простой способ решения задачи наверняка связан с применением навыков программирования, я честно предупредил, что в моём случае это будет проблематично

Исходные данные - пространственно привязанные замеры. В простейшем случае они могут быть представлены как двухмерный массив точек со значениями. Необходимо получить слой, содержащий медианное значение в окне заданного размера (в простейшем случае - квадратном) и количество замеров, попавших в окно. Результат может быть как массивом регулярно расположенных точек, содержащих данные значения в качестве атрибутов, так и растрами, содержащими эти значения в каждой из своих ячеек - не принципиально

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Обработка данных методом скользящего окна

Сообщение novia » 29 дек 2011, 08:36

Окно обходит всю заданную область, в результате чего мы получаем массив таких значений.
"окна" в случае векторных данных не существует. создавайте слой с полигонами для которых будет рассчитана статистика. и делайте зональную статистику. полигоны могут перекрываться (имитация фокальной обработки с шагом, меньшим половины размера окна), либо не перекрываться (имитация обработки с шагом, большим, либо равным половине размера окна)
массив значений будет представлен в атрибутах. можно и медиану и среднее посчитать, а можно и простое количество точек.
Поскольку, как мне показалось, самый простой способ решения задачи наверняка связан с применением навыков программирования
если вы программист - то тогда да. я тоже не проф. программист, а потому пользуюсь готовыми инструментами в определенной последовательности. это дольше, возможно менее оптимально с точки зрения вычислительных ресурсов, зато "работает".

если у вас есть точки - создайте шейп-файл/класс точечных объектов в БГД.
создайте полигональный слой (сетку полигонов)
затем сначала Анализ- Пересечение в ArcToolBox, потом Анализ - Суммарная статистика - значений из точек к OID полигонов. затем присоединяете атрибуты к полигонам. 3 шага. 0 программирования. PROFIT.

или другой способ. ваши данные наверняка обладают конечной точностью. если GPS - точки то 5+ метров. Соответственно отправив векторные точки в растр с ячейкой 1х1 метр вы вряд ли много потеряете в пространственной точности.
делаем либо полигональный слой и зональную статистику, либо, если шаг постоянный - тогда просто статистика по блокам (Block ...) в Spatial Analyst, или Фокальная статистика (Focal ...) в инструментах Окрестность/Соседство (Neighborhood) - Spatial Analyst. и тоже никакого программирования.

как то так.
понравилось? жми палец вверх :!:

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость