Страница 1 из 1

удаление перекрывающихся объектов

Добавлено: 24 июл 2007, 16:06
mant
у меня есть несколько векторных слоев - точечный, линейный и полигонов - в каждом из которых есть наложенные друг на друга полностью или частично повторяющиеся объекты.
есть ли какая утилита, позволяющая удалить наложения? атрибуты у повторяющихся наложенных друг на друга объектов одинаковые.

Добавлено: 24 июл 2007, 22:16
Максим Дубинин
так вам по атрибутам или по геометрии объектов нужно произвести фильтрацию? подходы принципиально разные в этих случаях

Добавлено: 26 июл 2007, 17:45
mant
хм, если возможно - опишите оба случая. ибо в одном наборе данных нужно удалить повторяющиеся объекты по аттрибутам, в другом - по геометрии.

Добавлено: 27 июл 2007, 06:16
Максим Дубинин

Добавлено: 27 июл 2007, 09:56
geologic
По атрибутам делается запросом в базе данных, ГИС тут ни к чему. Access, например, неплохо справляется. Там ведь дело в том, что дубликаты вещь в себе, и просто удалять их нельзя... нужно с ними "работать". Ну вам скорее гисовский способо, пространственный. Это топологией решается в общем случае, универсальных способов нет, поскольку - допуски.

Добавлено: 27 июл 2007, 18:26
Максим Дубинин
я предпочитаю решать свои задачи в одном ПО, если это возможно, так обычно получается быстрее и эффективнее.

насчет базы данных, запрос к dbf понятно можно сделать и дубли удалить, но геометрия то останется и получится "number of records do not match" и т.д., или с объектами в поле shape этот запрос тоже сможет работать и выделенные по дублям удалить?

Добавлено: 30 июл 2007, 11:58
geologic
Нет, нет, имеется в виду полная пересборка слоя через координаты. Для точек это тривиально, тем более что мы, например, в крупных проектах точки и храним только в БД. Чего на них зря геометрию тратить? Это вообще-то известный способ, с догисовских еще времен.

Довольно геморный, правда, запрос с окрестностью, он включает в цикле X квадрат минус Y квадрат, но индексами SQL и это оптимизируется. Особенно полезно при импорте больших массивов данных, когда тысячи точек фильтровать приходится. Однако такие чисто "геометрические" дубликаты это семечки, гораздо интересней "пространственные" и "временнЫе".

У меня где-то статья на эту тему была, в своё время сочинена, но даже не помню, опубликовал или нет... :) Насчет линий тоже задумывался, отрезки (профили) не проблема уж точно. Только смысла нет затеваться - таких данных редко бывает много, потоком, и ГИС-скрипты сойдут вполне. Если, опять же, данные изначально в ГИС. Если нет - для таких прямоугольных задач нет смысла ГИС- механизмы напрягать, SQL решения мощней и эффективный.