Вычисление длин в MapInfo

MapInfo, MapBasic
alexey.m
Интересующийся
Сообщения: 25
Зарегистрирован: 24 июн 2018, 05:53
Репутация: 0
Откуда: Алтайский край

Re: Вычисление длин в MapInfo

Сообщение alexey.m » 28 июн 2018, 10:50

А такой вопрос - как то можно посчитать в mapinfo длину сторон полигона? Так будет даже проще.

trir
Гуру
Сообщения: 4384
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 801
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Вычисление длин в MapInfo

Сообщение trir » 28 июн 2018, 10:51

теорию изучают на лекциях или по книжкам...
как то можно посчитать в mapinfo длину сторон полигона? Так будет даже проще.
сомневаюсь, вам же не всю длину нужно, а
Именно ту длину, которая является общей частью для слоев линий и полигонов.
а она получается так: ObjectLen(Overlap(l.obj, p.obj),"m")

alexey.m
Интересующийся
Сообщения: 25
Зарегистрирован: 24 июн 2018, 05:53
Репутация: 0
Откуда: Алтайский край

Re: Вычисление длин в MapInfo

Сообщение alexey.m » 28 июн 2018, 11:07

trir писал(а):
28 июн 2018, 10:51
а она получается так: ObjectLen(Overlap(l.obj, p.obj),"m")
l.obj и p.obj что тут нужно указать?

trir
Гуру
Сообщения: 4384
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 801
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Вычисление длин в MapInfo

Сообщение trir » 28 июн 2018, 11:10

l.obj и p.obj что тут нужно указать?
слой это уже таблица с двумя полями: ключ (.Num) и геометрия (.obj)

Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 276
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 108
Откуда: Орск
Контактная информация:

Re: Вычисление длин в MapInfo

Сообщение ginpetr » 28 июн 2018, 11:12

обновите эти единственные поля в обоих таблицах выражением
rowid
(будут хотя бы номера объектов)
и делайте уже запрос

Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 276
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 108
Откуда: Орск
Контактная информация:

Re: Вычисление длин в MapInfo

Сообщение ginpetr » 28 июн 2018, 11:33

а это выражение
ObjectLen(Overlap(l.obj, p.obj)
посчитает, ведь, не только смежные, но и те линии, которые пересекают, но не имеют общих сегментов с полигонами, разве нет?

juffin_h
Активный участник
Сообщения: 239
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 42
Откуда: Нижний Новгород

Re: Вычисление длин в MapInfo

Сообщение juffin_h » 28 июн 2018, 11:45

Да. Но здесь остается только рассчитывать на корректность исходных данных или на то, что линия проходящая близко к сегменту полигона (внутри полигона) считается проходящей по сегменту.

juffin_h
Активный участник
Сообщения: 239
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 42
Откуда: Нижний Новгород

Re: Вычисление длин в MapInfo

Сообщение juffin_h » 28 июн 2018, 11:51

Если объекты никак не поименованы и не пронумерованы - пронумеруйте их.

Код: Выделить всё

Update ltab Set LNum = RowID
Update ptab Set PNum = RowID
Поля LNum и PNum д.б. в таблицах. Могут называться как хотите. Создайте новые или используйте те, что есть.
Потом как написано выше.
alexey.m писал(а):
28 июн 2018, 11:07
l.obj и p.obj что тут нужно указать?
Если таблицы у вас называются l и p то указывать надо то, что написано, буквально. obj это специальное поле - геометрия объекта. В окне таблицы Вы его не найдете.

Boris
Гуру
Сообщения: 4115
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 406
Откуда: Париж

Re: Вычисление длин в MapInfo

Сообщение Boris » 28 июн 2018, 19:50

А можно я вас потроллю? Ну, вот зачем, вы отвечаете на вопрос, в котором для ответа необходима куча предположений, вместо того, что бы спросить какую именно задачу решает автор? И как он эти данные получил?
Картинка реализует геометрическое отношение "является границей" или "касание отрезком", на мой взгляд. Как то это должно описываться в операторах мапинфо.
И если мы говорим именно о касании, то проще разделить линию на отрезки и смотреть уже их. Там и длина получится однозначной.
Или вообще линию и прямоугольники разбить на вершины (точки), через утилиту "найти ближайшие" выявить точки, что находятся в пределах минимального расстояния, и вычислять расстояние между ними.
И тогда опять возвращаемся к задаче, данным и вопросу - "А что уже умеет автор?".

juffin_h
Активный участник
Сообщения: 239
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 42
Откуда: Нижний Новгород

Re: Вычисление длин в MapInfo

Сообщение juffin_h » 29 июн 2018, 12:01

Нам всегда приходится делать какие то предположения.
Владимир Владимирович Маяковский:
мы говорим Ленин,
подразумеваем — партия,
мы говорим партия,
подразумеваем — Ленин.
Я предлагаю решение задачи как я ее вижу, основываясь на своем жизненном опыте. И, конечно, я могу ошибаться. Но с большой долей вероятности это то, что нужно автору темы. Кроме того я "убиваю" двух зайцев.
Если я прав, то задача решена. Если нет - автор темы расскажет нам о проблемах а значит и деталях, которые пришлось бы из него вытягивать.

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость