Разрезка полигона по линейному слою

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Разрезка полигона по линейному слою

Сообщение bdron » 08 сен 2010, 15:26

Здравствуйте.

Использую данные о регионах РФ взятые отсюда
Мне нужно представить все районы региона в виде отдельных полигонов, но данные по районам представлены линейным слоем, а полигоном только сам регион. Есть ли возможность разрезать полигон региона по районам в соответствии с их линейным слоем?

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Григорий Степанов » 08 сен 2010, 20:05

А не проще собрать полигоны районов из их линейных границ и границ региона?

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 09 сен 2010, 10:30

Григорий Степанов писал(а):А не проще собрать полигоны районов из их линейных границ и границ региона?
А каким образом из границ собрать полигоны? Чем пользоваться?

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Григорий Степанов » 12 сен 2010, 09:07

Что-то никто из специалистов по ГИС не отвечает. В прочем, в какой именно ГИС надо собрать полигоны из вопроса то же не ясно. Так что отвечу со своей колокольни :).

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

P.S. ... работы минут на пять...

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 17 сен 2010, 17:34

Григорий Степанов, спасибо за ответ. Импортировал два слоя, проверил топологию, зафиксировал висячие точки. Ошибок после проверки больше не было. Сделал сборку полигонов. В результирующем слое появились полигоны из обоих слоев, но потерялась внешняя граница региона, похоже она подставилась только из слоя границ районов.
Результат выглядит таким образом:
Изображение

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Максим Дубинин » 18 сен 2010, 06:31

в слое krasnoyask-admin-a вроде есть полигональные районы

Изображение
пристегивайтесь, турбулентность прямо по курсу

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Григорий Степанов » 18 сен 2010, 09:59

Очень похоже, что граница региона НЕЗАМКНУТА (хотя это очень странно...). Если Вас не затруднит, выложите в посте архив проекта - 7.99 конечно старая версия, но с проблемой сборкой полигонов мы в ней не сталкивались.

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 18 сен 2010, 15:37

Максим Дубинин, на Вашем скриншоте krasnoyarsk-admin-a.shp содержит больше районов чем отображается у меня (во всех программах что я пробовал) и в нем северная граница представлена не совсем точно. Я использую два слоя: krasnoyarsk-admin-l.shp и krasnoyarsk-bound.shp, но и в этом случае некоторых районов не хватает.

Вот как у меня отображается krasnoyarsk-admin-a.shp: Изображение

Два слоя: krasnoyarsk-admin-l.shp и krasnoyarsk-bound.shp: Изображение

Мне бы хотелось получить результат подобный этому: Изображение

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 18 сен 2010, 15:50

Григорий Степанов, вот пожалуйста: архив проекта

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Максим Дубинин » 18 сен 2010, 19:02

может у вас архив старый? я вчера скачал, открыл, никаких манипуляций хитрых не делал. Вы в курсе что данные обновляются каждый день?

Это не "неточная", а правильная граница, просто то, что вам нужно получить это граница суши, а это не обязательно граница региона.
пристегивайтесь, турбулентность прямо по курсу

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 19 сен 2010, 01:17

Архив скачивал три недели назад. Сейчас скачал - все районы есть - значит действительно дело было в версии. Спасибо за подсказку :) Остается перейти от морской границы к сухопутной и получить на выходе один полигональный shape файл. Буду признателен за советы, как можно это сделать.

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Григорий Степанов » 20 сен 2010, 08:50

bdron писал(а):В результирующем слое появились полигоны из обоих слоев, но потерялась внешняя граница региона, похоже она подставилась только из слоя границ районов.
Увы, полигоны таких размеров Easy Trace собрать не может. Причина - ограничение на максимальное число вершин в одной полилинии или полигоне - 7190. Это плата за скорость работы с данными. Число вершин более чем достаточное для оцифровки, не рассчитано на работу с подробными границами целого региона. При импорте, граница региона была преобразована в цепочку полилиний, что и не позволило собрать все возможные полигоны...

bdron
Новоприбывший
Сообщения: 7
Зарегистрирован: 08 сен 2010, 15:10
Репутация: 0

Re: Разрезка полигона по линейному слою

Сообщение bdron » 20 сен 2010, 14:20

Также хочу спросить, как получить полигональный shape файл из исходного, убрав разделение по некоторым параметрам, например убрать разделение по федеральным округам и муниципальным образованиям?
Т.е. так, как это делается в QGIS в Свойствах слоя - Символика, но только чтобы сохранять результат не в файл стиля слоя QGIS, а в отдельный shape файл.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Разрезка полигона по линейному слою

Сообщение Максим Дубинин » 20 сен 2010, 16:56

выберите то что нужно через таблицу и Save selection...

отрезать водную часть таймыра свободными средствами - нужно подумать
пристегивайтесь, турбулентность прямо по курсу

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей