Интерполяция с разрывами

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

Интерполяция с разрывами

Сообщение Variant » 11 ноя 2014, 17:26

По горячим следам темы http://blogs.gis-lab.info/forum/viewtop ... =56&t=5771

Стало интересно, а есть ли в R пакеты, позволяющие реализовать интерполяцию с разрывами? Интерполяцию с автоматическим выявлением разрывов? Попробовал поискать - пусто, но может всё же что-то есть?

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Интерполяция с разрывами

Сообщение rhot » 11 ноя 2014, 18:14

Посмотрите [tripack], ну и [RTriangle] конечно же.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Интерполяция с разрывами

Сообщение gamm » 11 ноя 2014, 18:35

Variant писал(а):Стало интересно, а есть ли в R пакеты, позволяющие реализовать интерполяцию с разрывами?
в готовом виде нет, но собрать можно, сделав constrained triangulation (чтобы границы разломов не пересекались ребрами треугольников), и немного пошаманив с весами (нужно вычислять веса точек в зависимости от их положения относительно разлома). Но на R все это делать крайне не комфортно, не для того он заточен
Интерполяцию с автоматическим выявлением разрывов?
а это вообще непонятно что. Если я правильно понял, что имелось в виду, то нужно делать интерполяцию с весами, веса считать дистанционным преобразованием с трением, а трение брать пропорциональным оценке градиента. Работать будет долго, но примерно так во всяких петрелях и прочих роксарах пытаются делать кригинг.

P.S. такие методы - не статистика, их нужно искать в районе 3D моделирования, там их есть :-)

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

Re: Интерполяция с разрывами

Сообщение Variant » 19 ноя 2014, 21:38

Спасибо, буду разбираться. Хотя мне не известно ни одной свободной программы, позволяющей решать данную задачу, почему-то был почти уверен, что уж для R что-то должно быть. Понятно, что он - вовсе не пакет геомоделирования и для подобных задач не заточен, но поскольку полноценных систем геомоделирования в мире свободных программ пока не предвидится, приходится выбирать из того что есть. Тем более, если полного моделирования и не нужно, а интересна конкретно данная задача. R, как мне показалось, тут первейший кандидат. Или есть какие-то более удобные способы?

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Интерполяция с разрывами

Сообщение gamm » 19 ноя 2014, 21:47

Variant писал(а):Или есть какие-то более удобные способы?
есть, но они стоят до миллиона зеленых (типа Landmark, Petrel, ...), поскольку это в основном задачи геологического моделирования. А это дорого.

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

Re: Интерполяция с разрывами

Сообщение Variant » 20 ноя 2014, 16:47

Насчёт коммерческих продуктов всё понятно, у них рекламные отделы как правило хорошо работают. Для данной задачи, кстати, Petrel не очень-то эффективен по цене-качеству, это будет как на золотой карете за картошкой ехать, тут скорее будут интереснее DV-Geo или Isoline GIS. Но это всё проприетарщина, да ещё и платная. А вот со свободными продуктами всё не так ясно. Они очень сильно отличаются по функциональности и удобству использования, их функциональность частично пресекается, а какие-то продукты удобнее использовать совместно. При этом, несмотря на то, что все они открытые, каких-то классификаторов или обзоров, какую задачу чем удобнее решать, мне не попадалось, возможно их и нет. А всё и во всех комбинациях не перепробуешь. В данном случае вот хочется понять, является ли использование R наиболее эффективным способом решения конкретной задачи, или есть какие-то альтернативы, возможно более технологичные, на основе других свободных программ?

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Интерполяция с разрывами

Сообщение lam » 20 ноя 2014, 16:55

Я думаю, для решения вашей задачи, самым оптимальным вариантом, цена-качество, будет Surfer.

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Интерполяция с разрывами

Сообщение gamm » 20 ноя 2014, 19:54

Variant писал(а):А вот со свободными продуктами всё не так ясно.
все ровно наоборот, поскольку здесь используемые алгоритмы известны, в отличие от. И не нужно путать функционал (алгоритмы) и "удобство использования", для решения реальных задач второе не очень неважно при наличии первого. Базовых алгоритмов не так много, оценки памяти/времени для них тоже известны, что-то новое (типа MBA) появляется редко.

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

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

поэтому искать нужно в машинной геометрии, где эту задачу давно решили с использование патчей, сплайнов Безье, и т.д. Тут нет никакой статистики. Если нужно что-то сделать на основе свободных продуктов, то можно взять какой-нибудь построитель constrained triangulation (вписать линии нарушений), и поверх использовать метод типа Renka, при этом модифицируя уравнения для ребер, на которых нет непрерывности производной, и дублируя ребра, на которых нет непрерывности функции. Должно получиться.

Аватара пользователя
paleogis
Модератор
Сообщения: 1112
Зарегистрирован: 22 мар 2009, 08:54
Репутация: 200
Ваше звание: Модератоо

Re: Интерполяция с разрывами

Сообщение paleogis » 20 ноя 2014, 20:10

gamm писал(а):Variant писал(а):
А вот со свободными продуктами всё не так ясно.
Попробуйте ГИС Saga

gamm
Гуру
Сообщения: 4057
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Интерполяция с разрывами

Сообщение gamm » 20 ноя 2014, 20:59

paleogis писал(а):Попробуйте ГИС Saga
в каком месте у нее интерполяция с нарушениями непрерывности?

Ответить

Вернуться в «R»

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

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