Страница 1 из 1

Изменение шага регулярной сети данных

Добавлено: 15 янв 2012, 20:31
2ndBr.Е.Ж.'n'E.B.
Есть сеть точек, расположенных в узлах регулярной сети с шагом X.
Что сделать , если необходимо преобразовать эти данные к регулярной сети с шагом Y, есть ли в MapInfo(MapBasic) средства которые мне могли бы помочь.
Сейчас считаю так:
нахожу элемент старой сетки (Cell1), в который попадает узел новой сети, считаю удаленность этой точки от узлов ячейки Cell1 принимая ребро ячейки за 1, получаю формулу(value1*(1-lenght1) + value2*(1-lenght2) + value3*(1-lenght3) + value4*(1-lenght4)), 0< length < 1 value - значение показателя в узле сетки
Профессионалы наверное меня возненавидят за такой грубый подход, но мне главное, получить примерные данные, отображающие реальность.
Все ничего, но при количестве ячеек сетки, приближающимся с 1000 данный способ заставляет пользователя(пока ещё меня) ждать приличное время, что не есть гуд, за сим не решаюсь включить такую вещь в программу.
Может есть способы полегче, или может кто знает как правильно делается такой пересчет - буду рад всему

Re: Изменение шага регулярной сети данных

Добавлено: 16 янв 2012, 19:09
Boris
Вы описали стандартную задачу интерполяции DEM из одного размера пикселя к другому. Методов - море, равно как и приложений, решающих подобные задачи. К аркгису есть цельная книжка посвященная правильному построению шага и методов интерполяции.
По определению задачи такого типа есть N*N-задачи. Как не изобретай алгоритмы они будут в лучшем случае с квадратичным приращение времени/памяти и и т.п. Так что ждать - это и есь основное слово в таких задачах, ну и еще оценивать время когда кончиться оперативная память - тут начнеться самое интресное с точки зрения опимального использования ресурсов.

Re: Изменение шага регулярной сети данных

Добавлено: 21 янв 2012, 20:14
2ndBr.Е.Ж.'n'E.B.
Спасибо, буду знать в какую сторону искаться, чтобы все правилам было