Координаты MapBasic

MapInfo, MapBasic
Ответить
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Координаты MapBasic

Сообщение Роман01 »

Подскажите, пожалуйста, как программно (Mapbasic) вывести в Excel (или DBF ) координаты из базы в Mapinfo?
(Объекты)
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Координаты MapBasic

Сообщение Boris »

на вопрос в таком телеграфном стиле стоит получить ответ в таком же:
"надо программно обойти все объекты и для каждого из них получить координаты всех вершин. результат записать в файл. как найдете прямую запись в эти два формата из Mapbasic обязательно дайте знать."
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Координаты MapBasic

Сообщение Роман01 »

Да, алгоритм я понимаю.
Но вычислить вершины объекта ...
Ведь вначале нужно определить, точно ли это объект...
А программно?
Подскажите, напишите подпрограммку. Пожалуйста!
Аватара пользователя
asgs
Участник
Сообщения: 89
Зарегистрирован: 04 авг 2010, 06:35
Репутация: 1
Контактная информация:

Re: Координаты MapBasic

Сообщение asgs »

Dim i,j,k,n,ii,cnt As Integer
Dim A_Obj As Alias
Dim Cur_Obj As Object
Dim X,Y As Float

cnt = TableInfo(имя_таблицы,TAB_INFO_NROWS)
A_Obj = "имя_таблицы"+".obj"
for i=1 to cnt
fetch rec i from имя_таблицы
if A_Obj then
Cur_Obj = A_Obj 'Далее предполагаем, что в таблице одни регионы
k = ObjectInfo(Cur_Obj,OBJ_INFO_NPOLYGONS)
for j=1 to k
n = ObjectInfo(Cur_Obj,OBJ_INFO_NPOLYGONS+j)
for ii=1 to n
X = ObjectNodeX(Cur_Obj,j,ii)
Y = ObjectNodeY(Cur_Obj,j,ii)
'здесь скидываем координаты в файл
next
next
end if
next

Как-то так. Для всех типов объектов лениво писать, да и неудобно.
Про прямую запись в DBF - как-то давненько уже писал на C++ прямую читалку DBF, при желании можно переделать на запись и прикрутить к MapInfo через DLL, но это уже не уровень ТС, судя по вопросам ;)
Злобный йожег
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Координаты MapBasic

Сообщение Роман01 »

Большое спасибо! Буду пробовать...
Ответить

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

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

Сейчас этот форум просматривают: Ahrefs [Bot] и 1 гость