Страница 1 из 1
Вылет центроидов
Добавлено: 28 окт 2010, 16:43
Carabus
При построении цетроидов (вектор -> обработка геометрии -> центроиды полигонов)
для полигонов сложной формы, часто бывает, что точки центроидов "вылетают" за полигон для которого они постоены.
Пример приведенный на скриншоте сделан в GeoSmaples при построении центроидов для слоя hydro-a.
Re: Вылет центроидов
Добавлено: 29 окт 2010, 02:40
Максим Дубинин
это не ошибка, это поведение такое по-умолчанию, так не только у QGIS
viewtopic.php?f=16&t=3132
по хорошему надо бы опцию добавить Inside как в AG.
Re: Вылет центроидов
Добавлено: 29 окт 2010, 08:15
Carabus
Построение центроидов, как я понимаю, необходимо для переноса аттрибутов от одного слоя к другому по пространственному расположению полигонов. И если мы имеем сплошное топологичное покрытие, то бывает, что в один полигон попадают два-три центроида, а в соседних нет ни одного, что естественно приведет к некорректному переносу аттрибутов. Что, собственно, косвенно подтверждается тем, что функция "Объединение аттрибутов по районам" работает некорректно.
Re: Вылет центроидов
Добавлено: 29 окт 2010, 21:23
Максим Дубинин
вам не нужно меня убеждать, что хорошо бы кроме геометрического центра иметь и опцию Inside, я с этим согласен
но я не считаю текущее поведение ошибкой, это стандартное поведение, не забывайте, что shape нетопологический формат, используйте GRASS
Re: Вылет центроидов
Добавлено: 30 окт 2010, 06:02
gamm
Максим Дубинин писал(а):вам не нужно меня убеждать, что хорошо бы кроме геометрического центра иметь и опцию Inside, я с этим согласен
но я не считаю текущее поведение ошибкой, это стандартное поведение, не забывайте, что shape нетопологический формат, используйте GRASS
То, что shape нетопологический формат, к данному вопросу не относится, поскольку соседи нам не нужны. Нужна только функция point_in_poly, а она для SHAPE есть, и поиск ближайшей границы (она всегда внешняя, если точка снаружи), чтобы к ней пойти и войти внутрь. Это может оказаться достаточно долго для больших объектов, поэтому можно предложить разработчикам сделать функцию "Перенести центроиды внутрь объектов".
QGIS вроде использует CEOS, а там не проверяется попадание центроида в объект.
Re: Вылет центроидов
Добавлено: 30 окт 2010, 21:36
Carabus
Так можно оправить заметку о центроидах на багтрекер QGIS с пометкой "пожелание" ?
Re: Вылет центроидов
Добавлено: 31 окт 2010, 02:41
Максим Дубинин
Carabus, можно. Если отправите, отпишите здесь ссылку, если нужна помощь отправить - говорите.