Как организовать проверку топологии
- 
				kryl
 - Завсегдатай
 - Сообщения: 324
 - Зарегистрирован: 14 фев 2010, 20:42
 - Репутация: 0
 
Как организовать проверку топологии
Дано: полигональный слой (лесные кварталы)
между полигонами есть зазоры и перехлест +-10 м (по границам лесничеств)
Как рациональнее всего организовать проверку и исправление топологии?
			
			
									
						
										
						между полигонами есть зазоры и перехлест +-10 м (по границам лесничеств)
Как рациональнее всего организовать проверку и исправление топологии?
- 
				Boris
 - Гуру
 - Сообщения: 4231
 - Зарегистрирован: 10 апр 2006, 22:34
 - Репутация: -344969098
 - Откуда: Париж
 
Re: Как организовать проверку топологии
загрузить в ГИС, которая умеет искать такие ошибки. Рациональность - это уже вопрос стратегии алгоритмов. И с дырками и с перехлестами проблема одна и та же - неочевидность их присвоения - к какому из двух (как минимум) соседей они должны перейти.
Если не путаю, то и EasyTrace (бесплатный) имеет проверку топологии. Точно умеет MapInfo, и видимо ArcGIS. Должны и открытые-бесплатные ГИС делать, хотя с помощью дополнительных модулей.
			
			
									
						
										
						Если не путаю, то и EasyTrace (бесплатный) имеет проверку топологии. Точно умеет MapInfo, и видимо ArcGIS. Должны и открытые-бесплатные ГИС делать, хотя с помощью дополнительных модулей.
- 
				Александр Мурый
 - Гуру
 - Сообщения: 5173
 - Зарегистрирован: 26 сен 2009, 16:26
 - Репутация: 792
 - Ваше звание: званий не имею
 - Откуда: Москва
 
Re: Как организовать проверку топологии
В защиту своб. ГИС: по мне так лучше всего запихнуть данные в GRASS (при импорте векторов автоматически строится топология, полигоны проверяются на "зазоры" и "перекрытия"). Дальнейшая чистка -- модуль v.edit. Вот сферический в вакууме пример (вектора были нарисованы в грассе "от руки", далее v.edit):
			
			
									
						
							Редактор материалов, модератор форума
			
						- 
				gamm
 - Гуру
 - Сообщения: 4177
 - Зарегистрирован: 15 окт 2010, 08:33
 - Репутация: 1107
 - Ваше звание: программист
 - Откуда: Казань
 
Re: Как организовать проверку топологии
у меня предложение традиционное, простое и надежное - растеризовать. Поскольку делать все это в векторе - умножать сущности без надобности.
А потом векторизовать, прямо по "квадратикам" растра - нормальный студент пишет такой автомат за пару дней. Особенно, если нет "дырок" (полигоны односвязные). Скорее всего, векторизаторы есть и во всяких GRASS. Наверное, можно и ET приспособить, непонятно только, как ей ID с растра подавать, шибко много цветов нужно.
При растеризации сразу вылезут перекрытия, их можно выделить отдельным кодом при векторизации. А также области, не получившие значений. При современных вычислительных мощностях растр можно взять с шагом метр.
			
			
									
						
										
						А потом векторизовать, прямо по "квадратикам" растра - нормальный студент пишет такой автомат за пару дней. Особенно, если нет "дырок" (полигоны односвязные). Скорее всего, векторизаторы есть и во всяких GRASS. Наверное, можно и ET приспособить, непонятно только, как ей ID с растра подавать, шибко много цветов нужно.
При растеризации сразу вылезут перекрытия, их можно выделить отдельным кодом при векторизации. А также области, не получившие значений. При современных вычислительных мощностях растр можно взять с шагом метр.
- 
				Boris
 - Гуру
 - Сообщения: 4231
 - Зарегистрирован: 10 апр 2006, 22:34
 - Репутация: -344969098
 - Откуда: Париж
 
Re: Как организовать проверку топологии
Вы меня просто пугаете. От слов "автоматически строится топология" веет каким-то всеобщим счастьем. Помниться я пытался понять логику одного товарища, который в лесу поляны рисовал как отдельные объекты. На вопрос "зачем ты так сделал?" Он мне ответил, что так делает ArcINFO это - правильно. Попытки объяснить ему что существуют сущности, вне пределов "примыкают без перекрытий и зазоров", к успеху не привели. Даже пример, что тогда площади лесов искажаются не произвел на него должного впечатления.amuriy писал(а):В защиту своб. ГИС: по мне так лучше всего запихнуть данные в GRASS (при импорте векторов автоматически строится топология, полигоны проверяются на "зазоры" и "перекрытия").[/attachment]
- 
				Александр Мурый
 - Гуру
 - Сообщения: 5173
 - Зарегистрирован: 26 сен 2009, 16:26
 - Репутация: 792
 - Ваше звание: званий не имею
 - Откуда: Москва
 
Re: Как организовать проверку топологии
Boris писал(а):Вы меня просто пугаете.amuriy писал(а):В защиту своб. ГИС: по мне так лучше всего запихнуть данные в GRASS (при импорте векторов автоматически строится топология, полигоны проверяются на "зазоры" и "перекрытия").[/attachment]
Жить вообще страшно, знаете ли. Не бойтесь, я не предлагаю "запихивать" все подряд данные в грасс, только необходимые в этом случае. Я не имел в виду, что грасс сделает всё за нас с вами, просто при импорте векторов действительно автоматом строится топология в грассовском формате (устраивает она нас или нет -- уже следующий вопрос). Можно опционально отключить построение топологии или построить её потом спец. модулем (v.build).
Хотя да, может быть, мне и стоит для понимания сути почитать учебник по дифф.геометрии и топологии (а лучше -- умных книжек по ГИС, раз я такой наивный)
P.S.
А я вот до сих пор отойти не могу, правда.Даже пример, что тогда площади лесов искажаются не произвел на него должного впечатления.
Редактор материалов, модератор форума
			
						- 
				kryl
 - Завсегдатай
 - Сообщения: 324
 - Зарегистрирован: 14 фев 2010, 20:42
 - Репутация: 0
 
Re: Как организовать проверку топологии
ArcGIS ArcInfo (toolbox) - при future to coverage зазоры не удаляет а только довавляет артифактов.
EasyTrase - при импорте полигонов и проверке топологических ошибок выдает ошибки на всех границах полигонов и корректных и нет. При импорте вектора пропущенного через Grass выдает меньше ошибок но посмотреть толком нельзя так как не хватает увеличения.
AutoCAD Map вылетает из-за большого количества полигонов.
MapInfo пока не пробовал
c Grass надо дальше разбираться. С какими параметрами применять v.edit?
Или все таки поставить ArcInfo Workstation и возится с параметрами clean/build?
			
			
									
						
										
						EasyTrase - при импорте полигонов и проверке топологических ошибок выдает ошибки на всех границах полигонов и корректных и нет. При импорте вектора пропущенного через Grass выдает меньше ошибок но посмотреть толком нельзя так как не хватает увеличения.
AutoCAD Map вылетает из-за большого количества полигонов.
MapInfo пока не пробовал
c Grass надо дальше разбираться. С какими параметрами применять v.edit?
Или все таки поставить ArcInfo Workstation и возится с параметрами clean/build?
- 
				Александр Мурый
 - Гуру
 - Сообщения: 5173
 - Зарегистрирован: 26 сен 2009, 16:26
 - Репутация: 792
 - Ваше звание: званий не имею
 - Откуда: Москва
 
Re: Как организовать проверку топологии
Было бы хорошо увидеть пример ваших данных и более чёткие требования к результату.c Grass надо дальше разбираться. С какими параметрами применять v.edit?
Редактор материалов, модератор форума
			
						- nadiopt
 - Гуру
 - Сообщения: 4744
 - Зарегистрирован: 29 янв 2009, 13:27
 - Репутация: 495
 - Ваше звание: хрюкало
 - Откуда: Санкт-Петербург
 - Контактная информация:
 
Re: Как организовать проверку топологии
а как ты клиг-билдом зазоры уберешь? у тя образуется куча мелких полигонишек, которые будет непонятно, к какому выделу относить, и все равно придедтся чистить вручную
			
			
									
						
							ин гроссен фамилен нихт клювен клац клац
			
						- 
				trace98
 - Интересующийся
 - Сообщения: 28
 - Зарегистрирован: 15 янв 2010, 11:00
 - Репутация: 1
 
Re: Как организовать проверку топологии
Почему-то все говорят про "проверку топологии" в ET, и никто не разу не сказал про специальную утилиту предназначенную именно для этой задачи - утилиту "Проверка полигонального покрытия". Утилита есть и в бесплатной 7.99, в результате ее работы строятся полигоны на отдельном слое в местах дырок/перекрытий. Не помню, есть ли в ET 7.99 режим быстрого построения полигонов, но вырезать полигоны один из другого (в случае перекрытия) или сшивать (в случае с дыркой) - точно можно. 
Утилита серьезно не менялась уже много лет. А сами мы ей пользуемся постоянно.
Если зазоры/дырки небольшие, то можно попробовать автоматически устранить их с помощью коррекции топологии (стягивание вершин в опеределенном радиусе).
			
			
									
						
										
						Утилита серьезно не менялась уже много лет. А сами мы ей пользуемся постоянно.
Если зазоры/дырки небольшие, то можно попробовать автоматически устранить их с помощью коррекции топологии (стягивание вершин в опеределенном радиусе).
- 
				kryl
 - Завсегдатай
 - Сообщения: 324
 - Зарегистрирован: 14 фев 2010, 20:42
 - Репутация: 0
 
Re: Как организовать проверку топологии
Умерил аппетиты: отрезал от данных маленький, наиболее важный кусок. Вроде полегче работать. 
Пробовал проверку полигонов в Easy Trace 7.99: Результат странный: подсвечены все внешние границы.
Прилепил 2 картинки: сильно увеличенную типичную ошибку на стыке кварталов и результат проверки полигонов в Easy Trace
			
							Пробовал проверку полигонов в Easy Trace 7.99: Результат странный: подсвечены все внешние границы.
Прилепил 2 картинки: сильно увеличенную типичную ошибку на стыке кварталов и результат проверки полигонов в Easy Trace
- Вложения
 - 
			
		
				
- типичная_ошибка.png (4.67 КБ) 15210 просмотров
 
 - 
			
		
				
- результат_проверки_полигонов.png (51.35 КБ) 15210 просмотров
 
 
- 
				trace98
 - Интересующийся
 - Сообщения: 28
 - Зарегистрирован: 15 янв 2010, 11:00
 - Репутация: 1
 
Re: Как организовать проверку топологии
Не могли бы вы выложить проект Easy Trace? Действительно, странное поведение, но по картинке предположить в чем дело не могу.
			
			
									
						
										
						- 
				trace98
 - Интересующийся
 - Сообщения: 28
 - Зарегистрирован: 15 янв 2010, 11:00
 - Репутация: 1
 
Re: Как организовать проверку топологии
К сожалению, действительно ET 7.99 к тому времени еще не научили справляться с подобными материалами. Извиняюсь, что ввел в заблуждение.
			
			
									
						
										
						- 
				kryl
 - Завсегдатай
 - Сообщения: 324
 - Зарегистрирован: 14 фев 2010, 20:42
 - Репутация: 0
 
Re: Как организовать проверку топологии
А 8.7 корректно исправляет?
			
			
									
						
										
						- 
				trace98
 - Интересующийся
 - Сообщения: 28
 - Зарегистрирован: 15 янв 2010, 11:00
 - Репутация: 1
 
Re: Как организовать проверку топологии
Небольшая иллюстрация работы утилиты Коррекция топологии
Это версия 9.0 ( так что была под рукой), но 8.7 должна работать не хуже.
Таких ошибок было найдено порядка 300 на вашем материале. После коррекции осталось 30.
PS: Извиняюсь за неряшливость иллюстрации, делал на скорую руку.
			
							Это версия 9.0 ( так что была под рукой), но 8.7 должна работать не хуже.
Таких ошибок было найдено порядка 300 на вашем материале. После коррекции осталось 30.
PS: Извиняюсь за неряшливость иллюстрации, делал на скорую руку.
- Вложения
 - 
			
		
				
- polygons.png (13.65 КБ) 15176 просмотров
 
 
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей