Страница 1 из 1

Нахождение узлов пересечения полилиний

Добавлено: 17 окт 2016, 14:07
KatyaBoyko
Добрый день, уважаемые форумчане.
Помогите разобраться в несложном, на первый взгляд, задании: имеется слой (.tab), в котором все объекты являются полилиниями (у меня это улицы). Требуется построить точечный слой, в котором каждая точка является узлом всех возможных пересечений всех линий.
Дело в том, что функция IntersectNode мне не подходит, т.к. создаёт не точечный объект, а полилинию с узлом в точке пересечения.
Версия Mapinfo - 7.0
Спасибо за помощь)

Re: Нахождение узлов пересечения полилиний

Добавлено: 17 окт 2016, 14:12
trir
всех возможных пересечений всех линий
чего? :?:

Re: Нахождение узлов пересечения полилиний

Добавлено: 17 окт 2016, 14:27
KatyaBoyko
3045.jpg
3045.jpg (80.51 КБ) 7631 просмотр
Вот так (тут точки проставлены вручную и не во всех пересечениях)

Re: Нахождение узлов пересечения полилиний

Добавлено: 17 окт 2016, 14:28
KatyaBoyko
...точкИ являются узламИ всех пересечений - наверное так мне нужно было написать

Re: Нахождение узлов пересечения полилиний

Добавлено: 18 окт 2016, 13:32
thegeo
Подобных штатных функций в MapInfo нет. Думаю что, несмотря на кажущуюся простоту вопроса, без кода здесь не обойтись.
Использование IntersectNodes(ob1,ob2,1) (как и, похожей по результату, Overlap(ob1,ob2)) здесь мало поможет. Прикладываю программу решающую подобную задачу. Перед тем как нажать на кнопку нужно выбрать объект (любой) на обрабатываемом слое. Обрабатываются объекты с типом полилиния. Есть одно ограничение: точки пересечения, попадающие на одну линию параллельную оси Y, не обрабатываются. Судя по вашей картинке такая ситуация маловероятна и я не стал усложнять код.
Скомпилировано на MapBasic v.8, надеюсь, что ваша версия MapInfo это воспримет (MB v.7 не оказалось в доступности).

Re: Нахождение узлов пересечения полилиний

Добавлено: 18 окт 2016, 13:57
KatyaBoyko
thegeo, Спасибо Вам большое. За то, что нашли время помочь. К сожалению в моей версии ваша программка не хочет работать. Обязательно найду более новую версию!

Re: Нахождение узлов пересечения полилиний

Добавлено: 30 июл 2020, 10:03
WeMaN
thegeo писал(а):
18 окт 2016, 13:32
Скомпилировано на MapBasic v.8, надеюсь, что ваша версия MapInfo это воспримет (MB v.7 не оказалось в доступности).
Спасибо благородный человек, и мне пригодилось!