Помогите разработать алгоритм подгонки участка

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Dorofeev
Активный участник
Сообщения: 194
Зарегистрирован: 08 фев 2007, 23:29
Репутация: 1
Откуда: Симферополь
Контактная информация:

Помогите разработать алгоритм подгонки участка

Сообщение Dorofeev » 29 сен 2011, 10:08

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

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

Re: Помогите разработать алгоритм подгонки участка

Сообщение gamm » 29 сен 2011, 11:04

Dorofeev писал(а):Поэтому ищу какой-то математический алгоритм, который бы позволил выполнять эту погонку за приемлемое количество времени и с однозначным результатом(да участок подгнался или нет, при заданных параметрах это невозможно).
метод изобретен и известен давно, называется Метод Наименьших Квадратов :)

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

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

Вот сейчас гонял подобную задачку с несколькими тысячами точек :-)

Dorofeev
Активный участник
Сообщения: 194
Зарегистрирован: 08 фев 2007, 23:29
Репутация: 1
Откуда: Симферополь
Контактная информация:

Re: Помогите разработать алгоритм подгонки участка

Сообщение Dorofeev » 29 сен 2011, 11:30

Метод наименьших квадратов помню, как его приложить к задаче пока не понимаю. Пойду гуглить.
Как же плохо меня учили в университете :(

Ответить

Вернуться в «Общие вопросы»

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

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