Страница 1 из 1
Разрезка полигона по линейному слою
Добавлено: 08 сен 2010, 15:26
bdron
Здравствуйте.
Использую данные о регионах РФ взятые
отсюда
Мне нужно представить все районы региона в виде отдельных полигонов, но данные по районам представлены линейным слоем, а полигоном только сам регион. Есть ли возможность разрезать полигон региона по районам в соответствии с их линейным слоем?
Re: Разрезка полигона по линейному слою
Добавлено: 08 сен 2010, 20:05
Григорий Степанов
А не проще собрать полигоны районов из их линейных границ и границ региона?
Re: Разрезка полигона по линейному слою
Добавлено: 09 сен 2010, 10:30
bdron
Григорий Степанов писал(а):А не проще собрать полигоны районов из их линейных границ и границ региона?
А каким образом из границ собрать полигоны? Чем пользоваться?
Re: Разрезка полигона по линейному слою
Добавлено: 12 сен 2010, 09:07
Григорий Степанов
Что-то никто из специалистов по ГИС не отвечает. В прочем, в какой именно ГИС надо собрать полигоны из вопроса то же не ясно. Так что отвечу со своей колокольни

.
1. Ставим бесплатный Easy Trace 7.99;
2. Создаём новый проект в границах региона;
3. Импортируем в него полигон региона и границы областей;
4. Проверяем границы областей на "висящие концы" (Утилита->Проверки топологи), если они есть - фиксируем их на границе региона топологическим редактором;
5. Выполняем Утилиты->Топология->Сборка полигонов
6. Экспортируем результаты в вашу ГИС
P.S. ... работы минут на пять...
Re: Разрезка полигона по линейному слою
Добавлено: 17 сен 2010, 17:34
bdron
Григорий Степанов, спасибо за ответ. Импортировал два слоя, проверил топологию, зафиксировал висячие точки. Ошибок после проверки больше не было. Сделал сборку полигонов. В результирующем слое появились полигоны из обоих слоев, но потерялась внешняя граница региона, похоже она подставилась только из слоя границ районов.
Результат выглядит таким образом:

Re: Разрезка полигона по линейному слою
Добавлено: 18 сен 2010, 06:31
Максим Дубинин
в слое krasnoyask-admin-a вроде есть полигональные районы

Re: Разрезка полигона по линейному слою
Добавлено: 18 сен 2010, 09:59
Григорий Степанов
Очень похоже, что граница региона НЕЗАМКНУТА (хотя это очень странно...). Если Вас не затруднит, выложите в посте архив проекта - 7.99 конечно старая версия, но с проблемой сборкой полигонов мы в ней не сталкивались.
Re: Разрезка полигона по линейному слою
Добавлено: 18 сен 2010, 15:37
bdron
Максим Дубинин, на Вашем скриншоте krasnoyarsk-admin-a.shp содержит больше районов чем отображается у меня (во всех программах что я пробовал) и в нем северная граница представлена не совсем точно. Я использую два слоя: krasnoyarsk-admin-l.shp и krasnoyarsk-bound.shp, но и в этом случае некоторых районов не хватает.
Вот как у меня отображается krasnoyarsk-admin-a.shp:
Два слоя: krasnoyarsk-admin-l.shp и krasnoyarsk-bound.shp:
Мне бы хотелось получить результат подобный этому:

Re: Разрезка полигона по линейному слою
Добавлено: 18 сен 2010, 15:50
bdron
Григорий Степанов, вот пожалуйста:
архив проекта
Re: Разрезка полигона по линейному слою
Добавлено: 18 сен 2010, 19:02
Максим Дубинин
может у вас архив старый? я вчера скачал, открыл, никаких манипуляций хитрых не делал. Вы в курсе что данные обновляются каждый день?
Это не "неточная", а правильная граница, просто то, что вам нужно получить это граница суши, а это не обязательно граница региона.
Re: Разрезка полигона по линейному слою
Добавлено: 19 сен 2010, 01:17
bdron
Архив скачивал три недели назад. Сейчас скачал - все районы есть - значит действительно дело было в версии. Спасибо за подсказку

Остается перейти от морской границы к сухопутной и получить на выходе один полигональный shape файл. Буду признателен за советы, как можно это сделать.
Re: Разрезка полигона по линейному слою
Добавлено: 20 сен 2010, 08:50
Григорий Степанов
bdron писал(а):В результирующем слое появились полигоны из обоих слоев, но потерялась внешняя граница региона, похоже она подставилась только из слоя границ районов.
Увы, полигоны таких размеров Easy Trace собрать не может. Причина - ограничение на максимальное число вершин в одной полилинии или полигоне - 7190. Это плата за скорость работы с данными. Число вершин более чем достаточное для оцифровки, не рассчитано на работу с подробными границами целого региона. При импорте, граница региона была преобразована в цепочку полилиний, что и не позволило собрать все возможные полигоны...
Re: Разрезка полигона по линейному слою
Добавлено: 20 сен 2010, 14:20
bdron
Также хочу спросить, как получить полигональный shape файл из исходного, убрав разделение по некоторым параметрам, например убрать разделение по федеральным округам и муниципальным образованиям?
Т.е. так, как это делается в QGIS в Свойствах слоя - Символика, но только чтобы сохранять результат не в файл стиля слоя QGIS, а в отдельный shape файл.
Re: Разрезка полигона по линейному слою
Добавлено: 20 сен 2010, 16:56
Максим Дубинин
выберите то что нужно через таблицу и Save selection...
отрезать водную часть таймыра свободными средствами - нужно подумать