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

Как удалить лишние линейные объекты?

Добавлено: 03 сен 2015, 10:37
destribution
Здравствуйте!
Ребята помогите пожалуйста решить проблему.
Стоить необходимость удаления линейных объектов, но не всех, а выборочно.
На прикрепленном скрине линейные объекты условно обозначены точками. В некоторых случаях эти точки мешают читаемости, соответственно их нужно удалить. Ручной способ конечно эффективен, но объем большой, а сроки как всегда маленькие. Существуют ли альтернативы по автоматизации такого процесса.
Изначально все линейные объекты (сейчас условно обозначенные точками), были полигонами, может это как-то поможет...

Re: Как удалить лишние линейные объекты?

Добавлено: 03 сен 2015, 10:44
Александр Мурый
destribution писал(а): На прикрепленном скрине
Скрин не прикрепился.

Re: Как удалить лишние линейные объекты?

Добавлено: 03 сен 2015, 13:32
rapackivi
Selection - select by location
select features from - "твои линии"
Source layer - "тот слой которому мешают линии" (надеюсь, подписи переведены в аннотации)
Spatial selection method: target layers features are whithin a distance of the Source layers features
ниже выставляешь расстояние от линий до надписей

Re: Как удалить лишние линейные объекты?

Добавлено: 04 сен 2015, 04:15
destribution
Александр Мурый писал(а):Скрин не прикрепился.
простите, видимо проглядел ( исправил...

Re: Как удалить лишние линейные объекты?

Добавлено: 04 сен 2015, 04:21
destribution
rapackivi Спасибо, замечательный вариант, сегодня попробую.
Правда есть ещё одна загвоздка, линейные объекты были созданы на основании площадных. В этом случае, наверно придётся работать ручками и выбирать из площадных объектов те, которые нужно исключить в линейных?
И ещё, какой лучше всего использовать метод пространственной выборки ?

Re: Как удалить лишние линейные объекты?

Добавлено: 07 сен 2015, 10:30
rapackivi
Какая разница на основе чего они были созданы? Есть СЕЙЧАС линии. Одни будут попадать в радиус влияния надписи. И будут удалены. Другие не попадают - и будут жить. А, ну да - могут остаться парсеры-куски, фантомы.
Впрочем - попробуйте метод. Если фантомы будут бросаться в глаза - усложните запрос. У линейных объектов, по-видимому, было создано принадлежности их к полигону-родителю. Алгоритм такой:
1 линия в зоне уничтожения?
2.1 Нет - берем след.линию.
2.2 Да - проверяем по полю имени родителя полигона в списке всех линий "братьев". Найденных уничтожаем. Возвращаемся к пункту 1.
Как это реализовать в коде запроса - я не знаю, я недавно только вылез из паскаля :)
Но, может быть, "старшие" товарищи подскажут как устроить это геноцид линий.

Re: Как удалить лишние линейные объекты?

Добавлено: 06 ноя 2015, 11:36
mutobor
Если я правльно понял ТЗ, то надо удалить линии, которые не имеют общих границ с полигонами. Тогда можно применить тул "Polygon To Line" при этом поставить галочку "Identify and store polygon neighboring information". Далее надо атрибутно удалить все записи, которые попадают в условие "-1 in (LEFT_FID, RIGHT_FID)". Атрибуты LEFT_FID, RIGHT_FID будут равны -1, когда нет общих границ полигонов.