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