Коллеги, помогите найти алгоритм расчета коэффициента протяженности полигона, т.е. отношение средней длины к средней ширине. Что-то ничего сам придумать не смог.

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
самый простой вариант - сносить каждый полигон на растр, и считать главные компоненты, отношение осей (корней из собственных чисел) даст примерно то, что нужно. Грубо говоря, делаем регулярную сетку точек (достаточно частую), фильтруем те, которые попали в полигон, и, рассматривая их как двумерную выборку, считаем ковариационную матрицу и главные оси (собственные вектора). Поскольку координат всего две, все считается явно и просто. Если полигон не свернут "улиткой", то ответ будет вполне приемлимый, это проверено - фактически, эт о результат аппроксимации полигона эллипсом, может и готовые функции такого рода есть.xax_nv писал(а):Коллеги, помогите найти алгоритм расчета коэффициента протяженности полигона, т.е. отношение средней длины к средней ширине. Что-то ничего сам придумать не смог.
А если свернут, то можно просто делить площадь на квадрат периметра, чем не коэффициент? подскажу и пределы : (0; 1/ 4 / Pi]gamm писал(а):Если полигон не свернут "улиткой.
1) если полигон более-менее представим эллипсом, то считаем то, что я написал.xax_nv писал(а):А если не свернут, есть решение попроще, чем предложил gamm? Меня устроит даже приблизительное значение.
Код: Выделить всё
круглость = 2*sqrt(pi)*sqrt(A)/P
квадратность = 4*sqrt(A)/P
у нас не полилиния, а полигон произвольной формы, возможно с дырками, и многосвязный. Поэтому насчет готовых формул у меня большие сомнения.Константин Г. писал(а):Есть готовые формулы для подсчета всех моментов полилинии.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость
© GIS-Lab и авторы, 2002-2017. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).