Полигон, линию в символ

MapInfo, MapBasic
Ответить
Otomi
Новоприбывший
Сообщения: 10
Зарегистрирован: 15 ноя 2011, 10:20
Репутация: 0

Полигон, линию в символ

Сообщение Otomi » 19 дек 2011, 16:49

Доброго времени
Маленькая задачка в конце рабочего дня - есть ли простой способ превратить полигон (линию), с уже заполненной информацией, в символ, с сохранением оной? В MapInfo 10.5.

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Полигон, линию в символ

Сообщение Boris » 21 дек 2011, 02:07

ничего не понял - поэтому - "да" - функция centroid(obj)

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Полигон, линию в символ

Сообщение Донецков » 21 дек 2011, 08:10

функция centroid(obj) - вернет нам координаты...
а тут если не ошибаюсь нужно из некоторых элементов (полилиний, полигонов) с атрибутикой (?) получить символ с той же атрибутикой... как вариант, находить координаты центра объекта (см. выше), потом экспорт - импорт таблицы (без графики) и создание точечных объектов по координатам уже нужным вам символом...

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Полигон, линию в символ

Сообщение Boris » 21 дек 2011, 13:43

centroid(obj) вернет объект в установленной системе координат. координаты возвращают функции centroidX(obj) / centroidY(obj)
Centroid( ) function
Purpose
Returns the centroid (center point) of an object.

Syntax
Centroid( obj_expr )
obj_expr is an object expression.

Return Value
Point object
Если бы не необходимость угадывать, что именно нужно, я бы сказал так:
а) сохраняем копию исходной таблицы по именем A и открываем ее
б) открываем окно mapbasic'а в мапинфо и набираем
- set coordsys table A
- update A set obj=centroid(obj)
выделяем обе строчки и нажимаем "ввод". если таблица А выведена в окно карты, то получаем результат немедленно.

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Полигон, линию в символ

Сообщение Донецков » 21 дек 2011, 14:47

- set coordsys table A
- update A set obj=centroid(obj)

у меня пишет - Команда - неопознана...

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Полигон, линию в символ

Сообщение Boris » 21 дек 2011, 15:25

странно, единственно что "-" - не надо вставлять.
вот конкретный пример, только что отработал как описано:

Код: Выделить всё

Open Table ".\TAB\MCAp2.TAB" Interactive
Map From MCAp2
set coordsys table MCAp2
update MCAp2 set obj=centroid(obj)

Otomi
Новоприбывший
Сообщения: 10
Зарегистрирован: 15 ноя 2011, 10:20
Репутация: 0

Re: Полигон, линию в символ

Сообщение Otomi » 22 дек 2011, 08:34

Спасибо за решение

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Полигон, линию в символ

Сообщение Донецков » 23 дек 2011, 13:39

Ок! работает...

Ответить

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя