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

как найти пересечение двух объектов

Добавлено: 26 ноя 2011, 00:13
Sesc25
помогите пожалуйста найти и исправить, где я сделал ошибку


include "mapbasic.def"
Declare Sub Main
Sub Main
Dim pol as object
Dim i As Integer
Dim x1, y1, x2, y2, x3, y3, x4, y4 As Float
Open Table "Poligon.TAB"
map from Poligon
set map layer 1 editable
Fetch first from Poligon
pol=Poligon.obj
Insert Into poligon (obj)
Values (CreateLine (-0.864913, 0.043692, -0.412056, 0.518248))
Set Target pol=poligon.obj
Objects Overlay=poligon.obj
End Sub

делаю компиляцию пишет ошибок нет, запускаю утилиту пишет некорректно выбран изменяемый объект

Re: как найти пересечение двух объектов

Добавлено: 28 ноя 2011, 09:59
Andrew
Если не ошибаюсь, то не хватает выбора объекта перед назначением его изменяемым.

Re: как найти пересечение двух объектов

Добавлено: 28 ноя 2011, 11:20
Sesc25
include "mapbasic.def"
Declare Sub Main
Sub Main
Dim pol as object
Dim i As Integer
Dim x1, y1, x2, y2, x3, y3, x4, y4 As Float
Open Table "Poligon.TAB"
map from Poligon
set map layer 1 editable
Fetch first from Poligon
pol=Poligon.obj
Insert Into poligon (obj)
Values (CreateLine (-0.864913, 0.043692, -0.412056, 0.518248))
Select * from poligon
Set Target on pol=poligon.obj
Objects Overlay set target
End Sub
поставил выбрать объект но программа не работает точки не ставятся может другой оператор брать надо?

Re: как найти пересечение двух объектов

Добавлено: 05 дек 2011, 18:20
Boris
Все пересечения мапинфо заточены под пересечение полигонов. Даже полилинии перед пересечением переводятся в них.
Может вот такая функция поможет - IntersectNodes( ) ?