Наименования районов и номера участков в полигональный слой улиц.
- 
				getup
 - Новоприбывший
 - Сообщения: 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 КБ) 4827 просмотров
 
 
- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Наименования районов и номера участков в полигональный слой улиц.
можно решить одним SQL-запросом
			
									
									
						- 
				getup
 - Новоприбывший
 - Сообщения: 14
 - Зарегистрирован: 08 фев 2012, 11:22
 - Репутация: 0
 
- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Наименования районов и номера участков в полигональный слой улиц.
если выложишь пример данных - могу попробывать написать запрос
			
									
									
						- 
				getup
 - Новоприбывший
 - Сообщения: 14
 - Зарегистрирован: 08 фев 2012, 11:22
 - Репутация: 0
 
Re: Наименования районов и номера участков в полигональный слой улиц.
Пожайлуста. https://yadi.sk/d/uxnx-dAZ9fIGXw
Единственное, планировал вставить в процесс фильтр вхождения,.т.е если площадь участка, попадающего в улицу меньше заданной величины,то свойства участка (наименование) не учитывается.
- 
				getup
 - Новоприбывший
 - Сообщения: 14
 - Зарегистрирован: 08 фев 2012, 11:22
 - Репутация: 0
 
Re: Наименования районов и номера участков в полигональный слой улиц.
Мой метод не получился( Т.к центройды от участков не везде попадают в пределы полигона с улицами.
			
									
									
						- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
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- 
				getup
 - Новоприбывший
 - Сообщения: 14
 - Зарегистрирован: 08 фев 2012, 11:22
 - Репутация: 0
 
Re: Наименования районов и номера участков в полигональный слой улиц.
Спасибо вам огромное!!Попробую!
			
									
									
						- 
				blacktesta
 - Новоприбывший
 - Сообщения: 4
 - Зарегистрирован: 13 авг 2020, 11:51
 - Репутация: 2
 - Откуда: Воронеж, Тула
 
Re: Наименования районов и номера участков в полигональный слой улиц.
Можно использовать функцию aggregate в калькуляторе полей. 
https://spatialthoughts.com/2019/04/12/ ... tion-qgis/
			
									
									
						https://spatialthoughts.com/2019/04/12/ ... tion-qgis/
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей