Именно это я и сделал в примере выше. Т.е. такой вариант не устраивает, надо усреднять ещё и все окружающие точки, кроме точек "в крестах"? Я-то думал, что их высоты менять нельзя.gammbeat писал(а):Задача - выравнять высоту на крестах, местах пересечений этих самых профилей с разбегом не более в 0.8 метра. Как то так.
Экстренно нужна помощь в выравнивании высот!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Экстренно нужна помощь в выравнивании высот!
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 4044
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1049
- Ваше звание: программист
- Откуда: Казань
Re: Экстренно нужна помощь в выравнивании высот!
значит, угадал ... что дальше делать, скажу, но делать времени нет.
составляете для каждого пересечения уравнение, пусть Hij - результат линейной интерполяции горизонтального профиля в пересечении i-го горизонтального и j-го вертикального профилей, Vij - результат линейной интерполяции вертикального профиля в этом же пересечении.
Нам нужно найти такие поправки dHi, dVj, что имеет место равенство (Hij+dHi) - (Vij+dVj)=0, или dHi-dVj=Vij-Hij.
Всего получаем I+J переменных (по числу профилей) и примерно I*J уравнений (по числу крестов). Система вырожденная, решается методом координатного спуска, либо приводится к невырожденной приравниванием к нулю одной из поправок. Если разрешить кроме смещения менять еще и уклон профиля, то поправки имеют вид dHij=dHi+Lj*ai, где Lj - расстояние от начала i-го профиля до креста ij, и ai - поправка за уклон i-го профиля (аналогично для dVij), имеем 2*(I+J) переменных и I*J уравнений. Решать лучше методом, обеспечивающим минимальные коэффициенты, на основе того же координатного. В R - функция glmnet(), аналоги есть и в других языках.
если какие-то профили более надежны, то используем веса, вес уравнения - сумма весов профилей.
составляете для каждого пересечения уравнение, пусть Hij - результат линейной интерполяции горизонтального профиля в пересечении i-го горизонтального и j-го вертикального профилей, Vij - результат линейной интерполяции вертикального профиля в этом же пересечении.
Нам нужно найти такие поправки dHi, dVj, что имеет место равенство (Hij+dHi) - (Vij+dVj)=0, или dHi-dVj=Vij-Hij.
Всего получаем I+J переменных (по числу профилей) и примерно I*J уравнений (по числу крестов). Система вырожденная, решается методом координатного спуска, либо приводится к невырожденной приравниванием к нулю одной из поправок. Если разрешить кроме смещения менять еще и уклон профиля, то поправки имеют вид dHij=dHi+Lj*ai, где Lj - расстояние от начала i-го профиля до креста ij, и ai - поправка за уклон i-го профиля (аналогично для dVij), имеем 2*(I+J) переменных и I*J уравнений. Решать лучше методом, обеспечивающим минимальные коэффициенты, на основе того же координатного. В R - функция glmnet(), аналоги есть и в других языках.
если какие-то профили более надежны, то используем веса, вес уравнения - сумма весов профилей.
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Экстренно нужна помощь в выравнивании высот!
для отбраковки профилей можно использовать крупномасштабную топокарту, если конечно она имеется.
-
- Гуру
- Сообщения: 3058
- Зарегистрирован: 19 май 2010, 19:44
- Репутация: 189
Re: Экстренно нужна помощь в выравнивании высот!
Нужно профиля посадить на "правильную" топокарту, топоплан, ЦМР на эту реперную поверхность сажать профиля, причем будет "излом" каждого профиля, но это не страшно, т.к. главное к "правильной" высоте привязать данные по глубинным измерениям, чтобы интерпретировать "геологическое тело" ...
Автоматом сделать? все и сразу - вряд ли..., ну, например профиль представить 3D полилинией, и по реперным точкам командами типа "резинового листа" в ручную сажать на "правильную высоту", тогда весь профиль переместиться "практически куда необходимо" ...
Автоматом сделать? все и сразу - вряд ли..., ну, например профиль представить 3D полилинией, и по реперным точкам командами типа "резинового листа" в ручную сажать на "правильную высоту", тогда весь профиль переместиться "практически куда необходимо" ...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей