Может не по адресу, но точно помню, кто-то искал скрипты, не уаляйте, поди пригодятся)
Он координаты линий определяет посредством кнопочки, но нужно для начала таблицу открыть нужную, а то нечего будет определять))
include "mapbasic.def"
declare sub main
type nodelist
fltx as float
flty as float
end type
sub main
dim objSel as object
dim intRow,intCounter,intNumNodes,intCounter2,intFWin, intNumpoly as integer
dim fltBegx,fltBegy,fltEndx,fltEndy as float
dim logFirstRow,intFirstRow as logical
dim nlist(1) as nodelist
dim strTabname,strLname as string
dim i as integer
intRow = SelectionInfo(sel_info_nrows)
if intRow = 0 then
note "No lines were selected."
end if
intFirstRow = True
intFWin = FrontWindow()
strLname = LayerInfo(intFWin,0,layer_info_name)
for i = 1 to intRow
if intFirstRow = True then
fetch first from selection
else
fetch next from selection
end if
objSel = selection.obj
for intNumpoly = 1 To ObjectInfo(objSel, OBJ_INFO_NPOLYGONS)
intNumNodes = ObjectInfo(objSel,obj_info_npolygons+intNumpoly)
redim nlist(intNumNodes)
for intCounter2 = 1 to intNumNodes
'Array is populated with Longitude a nd Latitude coordinates.
nlist(intCounter2).fltx = ObjectNodeX(objSel,intNumpoly,intCounter2)
nlist(intCounter2).flty = ObjectNodeY(objSel,intNumpoly,intCounter2)
print "x="+nlist(intCOunter2).fltx+"y="+nlist(intCounter2).flty
insert into strLname (obj)
values(CreatePoint(nlist(intCounter2).fltx,
nlist(intCounter2).flty))
next
next
logFirstRow = False
next
end sub