Расчет Радиуса наибольшей вписанной в полигон окружности.
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Fragstats, собственно, и сделан для оценки фрагментации ландшафта, что даже отражено в названии. Просто весь вектор переносится на растр нужного разрешения, количество контуров для современного компьютера не проблема.
- antonv
- Активный участник
- Сообщения: 229
- Зарегистрирован: 29 ноя 2016, 10:44
- Репутация: 114
- Откуда: Санкт-Петербург
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Natalia Novoselova, а разве
И в случае, изображённом на скриншоте из вашего сообщения чуть выше хорошо видно, что далеко не от каждой границы полигона можно сдвинуться на радиус/диаметр вписанной окружности, и остаться при этом внутри полигона. А видно это на тоненьких "отростках" у полигонов-клякс.
будет являться не диаметр найденной окружности? Почему радиус?Natalia Novoselova писал(а): ↑12 окт 2022, 07:11наибольшим расстоянием, на которое объект, находящийся внутри полигона, может быть удаленным от любой границы этого полигона
И в случае, изображённом на скриншоте из вашего сообщения чуть выше хорошо видно, что далеко не от каждой границы полигона можно сдвинуться на радиус/диаметр вписанной окружности, и остаться при этом внутри полигона. А видно это на тоненьких "отростках" у полигонов-клякс.
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
antonv, как я понимаю, цель - найти наиболее глубоко запрятанную [в лесу] точку. Такое место, которое будет дальше всего от людей. Это как раз полюс недоступности, да, и расстояние в данном случае - именно радиус
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Да, цель операции найти этот параметр качества фрагмента - на каком НАИБОЛЬШЕМ расстоянии от всех границ полигона объект (дикое животное) можно в нем находится. Этим расстоянием будет являться радиус наибольшей вписанный в данный фрагмент окружности. В центре этой окружности объект будет удален от границ полигона на расстояние радиуса.antonv писал(а): ↑13 окт 2022, 10:52будет являться не диаметр найденной окружности? Почему радиус?
И в случае, изображённом на скриншоте из вашего сообщения чуть выше хорошо видно, что далеко не от каждой границы полигона можно сдвинуться на радиус/диаметр вписанной окружности, и остаться при этом внутри полигона. А видно это на тоненьких "отростках" у полигонов-клякс.
Конечно, не во всем полигоне он может быть удален на такое расстояние - на то это и полюс недоступности.. В этом и проблема фрагментированности биомов - посмотрите в моем примере, в какое лоскутное одеяло превращены тропические леса.
Присвоить этот параметр анализу фрагментов - есть путь к пониманию качества данного фрагмента для экосистемы, для дикой флоры и фауны, для потенциала его восстановления и сохранения.
P.S. Кстати, в ArcGIS такого решения так и не удалось найти.
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Жесть. Так и браконьеров научим пользоваться Кугисом
- antonv
- Активный участник
- Сообщения: 229
- Зарегистрирован: 29 ноя 2016, 10:44
- Репутация: 114
- Откуда: Санкт-Петербург
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Natalia Novoselova, есть такая штуковина, называется ET GeoWizards. Как именно она работает с Аркгисом, я не в курсе, потому что не фанат последнего. Но в числе возможностей есть преобразование полигона в точку с разными опциями, посмотрите на последний из вариантов на рисунках, который Deepest Point - это буквально то, что вам нужно.
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Если вы про медведя и его берлогу - то это теория.. Вряд ли прямо в центре такой окружности можно найти наибольшую плотность берлог )) Но этот параметр - радиус наибольшей вписанной окружности - в целом характеризует качество данного фрагмента для всей биоты экосистемы. Теоретическая, но важная идея, которую можно развивать.. Я оцениваю пока только самое значение радиусов (в купе с другими параметрами лесных фрагментов), но, наверное, можно подумать и над более сложной моделью оценки.
Последний раз редактировалось Natalia Novoselova 25 окт 2022, 00:14, всего редактировалось 2 раза.
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Но тут возникли сложности....
Операция по определению центров Poles of inaccessibility и радиусов наибольших вписанных в полигон окружностей успешно выполнена QGIS 3х для основной части полигонов. НО для 40 полигонов – софт пишет, что не может ее выполнить из-за ошибки геометрии. Выдает такое сообщение на каждый испорченный полигон:
Ошибка в них могла возникнуть после того, как весь массив геоданных я провела через операцию Dissolve Boundaries (это было сделано в ArcGIS Pro, Geoprocessing)
Думаю на это, поскольку до операции такого объединения – эти фрагменты считались в кугисе. Но пострадали таким образом только 40 фрагментов из 270 0000 полигонов обрабатываемого слоя. И та операция была необходима.
Может быть, будут идеи, что можно сделать с этими 40 испорченными полигонами, чтобы QGIS смог посчитать в них Poles of inaccessibility? Что именно случилось с их геометрией и как ее можно исправить?
Может быть, там случайно возникла мультиполигональность, как это проверить и как исправить?
Можно сделать с ними разные упрощения геометрии, зарастить их внутренние пустоты и т.д., попробовать по всякому – здесь важна не медицинская точность, а хотя бы примерное значение такого радиуса наибольшей вписанной окружности.
Прикладываю ссылку на zip папку с выборкой этих испорченных полигонов. Вдруг будут идеи.
https://drive.google.com/file/d/17C5r0G ... sp=sharing
Операция по определению центров Poles of inaccessibility и радиусов наибольших вписанных в полигон окружностей успешно выполнена QGIS 3х для основной части полигонов. НО для 40 полигонов – софт пишет, что не может ее выполнить из-за ошибки геометрии. Выдает такое сообщение на каждый испорченный полигон:
Я не могу их выбросить, это большие полигоны, включить в них этот параметр обязательно. Хоть вручную считай..Feature (105032) from “SOSMA2016_SilkinObrab_R1_R9_diss_23utm” has invalid geometry and has been skipped. Please fix the geometry or change the Processing setting to the “Ignore invalid input features” option.
Ошибка в них могла возникнуть после того, как весь массив геоданных я провела через операцию Dissolve Boundaries (это было сделано в ArcGIS Pro, Geoprocessing)
Думаю на это, поскольку до операции такого объединения – эти фрагменты считались в кугисе. Но пострадали таким образом только 40 фрагментов из 270 0000 полигонов обрабатываемого слоя. И та операция была необходима.
Может быть, будут идеи, что можно сделать с этими 40 испорченными полигонами, чтобы QGIS смог посчитать в них Poles of inaccessibility? Что именно случилось с их геометрией и как ее можно исправить?
Может быть, там случайно возникла мультиполигональность, как это проверить и как исправить?
Можно сделать с ними разные упрощения геометрии, зарастить их внутренние пустоты и т.д., попробовать по всякому – здесь важна не медицинская точность, а хотя бы примерное значение такого радиуса наибольшей вписанной окружности.
Прикладываю ссылку на zip папку с выборкой этих испорченных полигонов. Вдруг будут идеи.
https://drive.google.com/file/d/17C5r0G ... sp=sharing
-
- Завсегдатай
- Сообщения: 318
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 137
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Лучше и не скажешьNatalia Novoselova писал(а): ↑25 окт 2022, 00:12Please fix the geometry or change the Processing setting to the “Ignore invalid input features” option.
Игнорировать ошибки геометрии (пропустить такие объекты) в Меню - Настройки - Параметры - Анализ - Общие - Фильтрация ошибочных объектов.
Большинство ошибок вашей геометрии вот такие: Найти все Вам поможет Меню - Вектор - Обработка геометрии - Проверка геометрии.
Далее, либо руками полечить каждую (например отодвинуть узлы - разомкнуть фигуру, что бы не касались границы), либо к примеру буферизировать весь слой чуть чуть, на 1 м, тогда такие не корректные пересечения превратятся во вполне допустимые "дырки":
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
Большое спасибо!
Теперь думаю, так и оставить эти исправленные полигоны в общей базе, или взять из этого расчета только значения радиусов (dist_pole), которые дает этот инструмент. Наверное, все таки второе, поскольку эта ошибка геометрии - стала ошибкой лишь в этой операции.
Не знала о возможности в кугисе по проверке геометрии - здорово, сразу все стало понятно.Найти все Вам поможет Меню - Вектор - Обработка геометрии - Проверка геометрии.
Да, с этой операцией я разобралась в самом начале. Включила игнорирование невалидной геометрии - после чего кугис обработал почти все из 278 000 полигонов. Эти 40 как раз то, что отсеялось. И я ломала голову, что с ними не так.AlexRomantsov писал(а): ↑25 окт 2022, 05:05Игнорировать ошибки геометрии (пропустить такие объекты) в Меню - Настройки - Параметры - Анализ - Общие - Фильтрация ошибочных объектов.
Так и сделаю. После построения буфера с 1 метром - все 40 обработались операцией Poles of inaccessibility.либо к примеру буферизировать весь слой чуть чуть, на 1 м, т
Теперь думаю, так и оставить эти исправленные полигоны в общей базе, или взять из этого расчета только значения радиусов (dist_pole), которые дает этот инструмент. Наверное, все таки второе, поскольку эта ошибка геометрии - стала ошибкой лишь в этой операции.
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Расчет Радиуса наибольшей вписанной в полигон окружности.
полигоны можно оставить исходные, положение точки максимального удаления взять из поправленных, она там же, просто радиус увеличился на метр.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость