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

Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 11:29
mniz
Всем доброго дня! Прошу помощи в построении интерполированного растра значений глубин водного объекта. Задача состоит в следующем: имеются данные промера глубин участка реки, который проводился по поперечным створам (галсам) с расстоянием между ними в среднем 150 м. Общее количество створов 55. Русло реки извилистое.
Пробовал проводить интерполяцию различными инструментами Интерполяции растра, но получается, если честно, какая я то ерунда. Включал в массив нулевые значения береговой линии, так и пробовал и без них. Пробовал строить растр как в целом по всему участку реки, так и только между двумя створами. Хотелось, чтобы программа автоматически построила (классифицировала) промежуток между двумя створами в виде продольных линий, так как исходные данные очень близкие по значениям.
Конечная цель - подсчитать объем воды при НПУ и построить батиграфическую и объемную кривые.
Рисунок2.jpg
Рисунок2.jpg (84.01 КБ) 2606 просмотров
Рисунок.jpg
Рисунок.jpg (73.72 КБ) 2606 просмотров

Re: Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 12:49
mniz
Что-то похожее дает создание TIN поверхности. Но как вписать ее в конфигурацию реки?
Рисунок3.jpg
Рисунок3.jpg (240.81 КБ) 2566 просмотров

Re: Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 13:10
gamm
задача распадается на 2 части: как правильно интерполировать профили, и как это запихнуть в Арку.
Поскольку я не про кнопки, то опишу 1 часть
1) Делаем одномерную систему координат вдоль реки, по расстоянию от начала, обозначим это расстояние D.
2) рисуем все профили как двумерные линии (Х - расстояние от левого берега, Y - глубина), и параметризуем, например ставим точки на профиле по X с равномерным шагом (для примера 20 точек, шаг 1/19 от ширины реки), и, взяв отметки глубины, получаем глубины Y, и соответственно пары (D, Y).
3) Соединяем полученные пары (D, Y), у которых Y взяты в одной позиции, например 2-я точка от берега, прямыми (линейная интерапляция) или сплайнами, или еще как, тогда для произвольного расстояния по длине реки D мы получаем наши 20 отметок Y глубины. Ширина реки нам известны, ставим на линии, соединяющей берега, 20 отметок с равномерным шагом, и рисуем профиль.

Для улучшения картины можено использовать сплайн для профиля, сгустив точки (не забыть поставить нули по берегам), и взять не 20, а 10500 точек.

Таким образом, мы можем построить профиль в произвольном сечении, и перести на произвольную сетку (или сгустить профили, чтобы стояли через метр, а потом интерполировать чем угодно). ПионЭры у нас строили это вообще в Ёкселе, даже Арка не нужна (только для вычисления осевой линии и расстояния от начала).

P.S. В Арке можете получить осевую, расстояние D для ваших и новых профилей (с шагом метр по D), и ширину реки в этом месте, проведя перпендикуляры к осевой, т.е. нарезать много отрезков от берега до берега, сначала построив осевую, а потом обрезав рекой линии, перпендикулярные ей. Дальше эти отрезки, со значением D в таблице данных, вывалить куда-нибудь, и там спокойно посчитать новые профили в координатах карты.

Re: Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 13:49
mniz
Спасибо!

Re: Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 14:40
lam
Выложите шейп-файлы точек створов и линии русла реки.

Re: Интерполяция в ArcGIS

Добавлено: 16 фев 2022, 14:42
gamm
mniz писал(а):
16 фев 2022, 13:49
Спасибо
тогда кнопку давите :-)

P.S. Там могут быть разные нюансы. Например, если один берег залученный, и его залило, то осевую нужно отбивать по фарватеру, и строить от нее два параметрических профиля к берегам. При интерполяции, чтобы вытянуть ее вдоль реки, нужно задавать расстояние D в километрах, а Х - в метрах (или типа того, речь об изменении масштабов по осям). Если профили более-менее одинаковые, можно попробовать подобрать нелинейное преобразование координат по оси Х, зависящее от D, которое совмещает все профили. И т.д., и т.п. Но для первого приближения написанного выше хватит.

Re: Интерполяция в ArcGIS

Добавлено: 18 фев 2022, 22:58
_lenik
А еще можно освоить что-нибудь типа такого:
https://web.ics.purdue.edu/~vmerwade/re ... al_10x.pdf