Наименования районов и номера участков в полигональный слой улиц.
- 
				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 КБ) 4804 просмотра
 
- 
				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/
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей