Вычисление длин в MapInfo
- 
				alexey.m
 - Интересующийся
 - Сообщения: 26
 - Зарегистрирован: 24 июн 2018, 05:53
 - Репутация: 0
 - Откуда: Алтайский край
 
Re: Вычисление длин в MapInfo
А такой вопрос - как то можно посчитать в mapinfo длину сторон полигона? Так будет даже проще.
			
			
									
						
										
						- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Вычисление длин в MapInfo
теорию изучают на лекциях или по книжкам...
			
			
									
						
										
						сомневаюсь, вам же не всю длину нужно, акак то можно посчитать в mapinfo длину сторон полигона? Так будет даже проще.
а она получается так: ObjectLen(Overlap(l.obj, p.obj),"m")Именно ту длину, которая является общей частью для слоев линий и полигонов.
- 
				alexey.m
 - Интересующийся
 - Сообщения: 26
 - Зарегистрирован: 24 июн 2018, 05:53
 - Репутация: 0
 - Откуда: Алтайский край
 
- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Вычисление длин в MapInfo
l.obj и p.obj что тут нужно указать?
слой это уже таблица с двумя полями: ключ (.Num) и геометрия (.obj)
- ginpetr
 - Завсегдатай
 - Сообщения: 385
 - Зарегистрирован: 21 июн 2011, 12:07
 - Репутация: 140
 - Откуда: Орск
 - Контактная информация:
 
Re: Вычисление длин в MapInfo
обновите эти единственные поля в обоих таблицах выражением
rowid
(будут хотя бы номера объектов)
и делайте уже запрос
			
			
									
						
										
						rowid
(будут хотя бы номера объектов)
и делайте уже запрос
- ginpetr
 - Завсегдатай
 - Сообщения: 385
 - Зарегистрирован: 21 июн 2011, 12:07
 - Репутация: 140
 - Откуда: Орск
 - Контактная информация:
 
Re: Вычисление длин в MapInfo
а это выражение
ObjectLen(Overlap(l.obj, p.obj)
посчитает, ведь, не только смежные, но и те линии, которые пересекают, но не имеют общих сегментов с полигонами, разве нет?
			
			
									
						
										
						ObjectLen(Overlap(l.obj, p.obj)
посчитает, ведь, не только смежные, но и те линии, которые пересекают, но не имеют общих сегментов с полигонами, разве нет?
- 
				juffin_h
 - Завсегдатай
 - Сообщения: 265
 - Зарегистрирован: 22 окт 2012, 08:35
 - Репутация: 50
 - Откуда: Нижний Новгород
 
Re: Вычисление длин в MapInfo
Да. Но здесь остается только рассчитывать на корректность исходных данных или на то, что линия проходящая близко к сегменту полигона (внутри полигона) считается проходящей по сегменту.
			
			
									
						
										
						- 
				juffin_h
 - Завсегдатай
 - Сообщения: 265
 - Зарегистрирован: 22 окт 2012, 08:35
 - Репутация: 50
 - Откуда: Нижний Новгород
 
Re: Вычисление длин в MapInfo
Если объекты никак не поименованы и не пронумерованы - пронумеруйте их.
Поля LNum и PNum д.б. в таблицах. Могут называться как хотите. Создайте новые или используйте те, что есть.
Потом как написано выше.
			
			
									
						
										
						Код: Выделить всё
Update ltab Set LNum = RowID
Update ptab Set PNum = RowID
Потом как написано выше.
Если таблицы у вас называются l и p то указывать надо то, что написано, буквально. obj это специальное поле - геометрия объекта. В окне таблицы Вы его не найдете.
- 
				Boris
 - Гуру
 - Сообщения: 4231
 - Зарегистрирован: 10 апр 2006, 22:34
 - Репутация: -344969098
 - Откуда: Париж
 
Re: Вычисление длин в MapInfo
А можно я вас потроллю? Ну, вот зачем, вы отвечаете на вопрос, в котором для ответа необходима куча предположений, вместо того, что бы спросить какую именно задачу решает автор? И как он эти данные получил?
Картинка реализует геометрическое отношение "является границей" или "касание отрезком", на мой взгляд. Как то это должно описываться в операторах мапинфо.
И если мы говорим именно о касании, то проще разделить линию на отрезки и смотреть уже их. Там и длина получится однозначной.
Или вообще линию и прямоугольники разбить на вершины (точки), через утилиту "найти ближайшие" выявить точки, что находятся в пределах минимального расстояния, и вычислять расстояние между ними.
И тогда опять возвращаемся к задаче, данным и вопросу - "А что уже умеет автор?".
			
			
									
						
										
						Картинка реализует геометрическое отношение "является границей" или "касание отрезком", на мой взгляд. Как то это должно описываться в операторах мапинфо.
И если мы говорим именно о касании, то проще разделить линию на отрезки и смотреть уже их. Там и длина получится однозначной.
Или вообще линию и прямоугольники разбить на вершины (точки), через утилиту "найти ближайшие" выявить точки, что находятся в пределах минимального расстояния, и вычислять расстояние между ними.
И тогда опять возвращаемся к задаче, данным и вопросу - "А что уже умеет автор?".
- 
				juffin_h
 - Завсегдатай
 - Сообщения: 265
 - Зарегистрирован: 22 окт 2012, 08:35
 - Репутация: 50
 - Откуда: Нижний Новгород
 
Re: Вычисление длин в MapInfo
Нам всегда приходится делать какие то предположения.
Если я прав, то задача решена. Если нет - автор темы расскажет нам о проблемах а значит и деталях, которые пришлось бы из него вытягивать.
			
			
									
						
										
						Я предлагаю решение задачи как я ее вижу, основываясь на своем жизненном опыте. И, конечно, я могу ошибаться. Но с большой долей вероятности это то, что нужно автору темы. Кроме того я "убиваю" двух зайцев.Владимир Владимирович Маяковский:
мы говорим Ленин,
подразумеваем — партия,
мы говорим партия,
подразумеваем — Ленин.
Если я прав, то задача решена. Если нет - автор темы расскажет нам о проблемах а значит и деталях, которые пришлось бы из него вытягивать.
Кто сейчас на конференции
Сейчас этот форум просматривают: Amazon [Bot] и 1 гость