Наименования районов и номера участков в полигональный слой улиц.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 фев 2012, 11:22
- Репутация: 0
Наименования районов и номера участков в полигональный слой улиц.
Коллеги,добрый день! Есть задача,в полигональные улицы (контуры основаны на бортах улиц) пробить названия районов,через которые улица проходит и номера кадастровых участков через которые она проходит. Если улица пересекает несколько объектов, их наименования должны быть записаны через запятую. Вижу возможный алгоритм решения,но быть может эту задачу можно решить проще и быстрее?
На примере районов.
1. Контуром улиц обрезать полигоны районов,оставив только то что попало внутрь контура
2. Построить центройды от полигонов с их семантическими данными
3.Пробить id в слое дорог
4.Пространственным соединением (intersects или within) ,указав тип(создать объект для каждого совпадения один-ко многим) получить свойства из точек
5.На основе id агрегировать полученные полигоны, собрав значения из колонок с наименованием в одну колонку, с разделителем запятой.
Спасибо
На примере районов.
1. Контуром улиц обрезать полигоны районов,оставив только то что попало внутрь контура
2. Построить центройды от полигонов с их семантическими данными
3.Пробить id в слое дорог
4.Пространственным соединением (intersects или within) ,указав тип(создать объект для каждого совпадения один-ко многим) получить свойства из точек
5.На основе id агрегировать полученные полигоны, собрав значения из колонок с наименованием в одну колонку, с разделителем запятой.
Спасибо
- Вложения
-
- улицы.JPG (68.92 КБ) 4014 просмотров
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Наименования районов и номера участков в полигональный слой улиц.
можно решить одним SQL-запросом
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 фев 2012, 11:22
- Репутация: 0
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Наименования районов и номера участков в полигональный слой улиц.
если выложишь пример данных - могу попробывать написать запрос
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 фев 2012, 11:22
- Репутация: 0
Re: Наименования районов и номера участков в полигональный слой улиц.
Пожайлуста. https://yadi.sk/d/uxnx-dAZ9fIGXw
Единственное, планировал вставить в процесс фильтр вхождения,.т.е если площадь участка, попадающего в улицу меньше заданной величины,то свойства участка (наименование) не учитывается.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 фев 2012, 11:22
- Репутация: 0
Re: Наименования районов и номера участков в полигональный слой улиц.
Мой метод не получился( Т.к центройды от участков не везде попадают в пределы полигона с улицами.
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Наименования районов и номера участков в полигональный слой улиц.
перегнал в MS SQL Server - мне так удобней
вот запрос разбивающий улицы по районам
по участкам делается также
вот запрос разбивающий улицы по районам
Код: Выделить всё
SELECT ss.[id], ss.[geom].STIntersection(rn.[geom]), rn.[n_raion], rn.[name_raion]
FROM [test1].[dbo].[testgeom3] as ss, [dbo].[rayon] as rn
where ss.[geom].STIntersection(rn.[geom]).STIsEmpty() <> 1
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 фев 2012, 11:22
- Репутация: 0
Re: Наименования районов и номера участков в полигональный слой улиц.
Спасибо вам огромное!!Попробую!
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 13 авг 2020, 11:51
- Репутация: 2
- Откуда: Воронеж, Тула
Re: Наименования районов и номера участков в полигональный слой улиц.
Можно использовать функцию aggregate в калькуляторе полей.
https://spatialthoughts.com/2019/04/12/ ... tion-qgis/
https://spatialthoughts.com/2019/04/12/ ... tion-qgis/
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей