построить вектора по координатам, азимутам и длинам

MapInfo, MapBasic
Ответить
Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

построить вектора по координатам, азимутам и длинам

Сообщение Борис » 23 мар 2009, 11:47

Уважаемые специалисты по MapInfo!
Уже неоднократно звучал этот вопрос в разделе по Arc, теперь повторю его здесь.
Нужно построить карту разноориентированных векторов. То есть исходными данными является таблица, в которой построчно записана следующая информация: 1) координаты точки, 2) азимут вектора из этой точки и 3) длина вектора.
Подскажите, плз, как получить соответствующую карту?
Последний раз редактировалось Максим Дубинин 24 май 2009, 18:40, всего редактировалось 1 раз.
Причина: изменено название темы

Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: векторная карта

Сообщение SS_Rebelious » 23 мар 2009, 15:19

К MapInfo 9.5 в комплекте идёт утилита MapCAD. Последняя обладает возможностью строить линии и полилинии по данным таблицы. То есть необходимо предварительно вычислить координаты конечных точек векторов и добавить эти записи в таблицу, а уже потом строить нужные объекты. Также есть инструмент, позволяющий строить векторы, но работает он, как я понял, только в ручном режиме, то есть надо отмечать на карте исходную точку, а потом прописывать значения для угла и расстояния.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: векторная карта

Сообщение Борис » 23 мар 2009, 16:15

спасибо за ответ,
если можно, поясните плз есть ли эта утилита к более раниим MI (например, 9.0),
а также что за инструмент для ручной отрисовки?

Аватара пользователя
SS_Rebelious
Гуру
Сообщения: 1304
Зарегистрирован: 24 фев 2009, 16:51
Репутация: 99
Ваше звание: GIS pro-fan
Откуда: Lahti / Газ-ПУТИНбург
Контактная информация:

Re: векторная карта

Сообщение SS_Rebelious » 23 мар 2009, 17:06

Вот цитата из руководства пользователя МапИнфо 9.5
Новые инструменты и панели инструментов для рисования и
редактирования
Pitney Bowes MapInfo подписала соглашение, позволяющее включать инструменты MapCAD
на установочном диске. Этот продукт предлагает инструменты для MapInfo Professional,
позволяющие создавать Карты для исследовательских и коммерческих целей. Для работы
MapCAD требуется MapInfo Professional версии 9.5 или более поздней.
Чтобы установить инструменты MapCAD, сохраните ZIP-файл на свой компьютер и
распакуйте файлы в подкаталог \tools установочного каталога MapInfo Professional. Затем
добавьте MapCAD.MBX при помощи Каталога программ (Программы > Каталог программ >
Добавить).
Внимание: У этого инструмента нет меню. Отдельные инструменты отображаются на
плавающих инструментальных панелях. Эти инструментальные панели
отображаются при загрузке или автоматической загрузке модуля.

Производитель предлагает полноценную Справочную систему, которая поможет Вам
освоиться с этим продуктом. Если Вам требуется поддержка, свяжитесь непосредственно с
компанией MapCAD Incorporated. Адрес их сайта:
http://www.geoas.de
Видимо, для версии 9.0 она не поставлялась на диске.

А название того инструмента для ручной отрисовки в MapCAD - "Полярный угол".
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!

b0br0ff
Новоприбывший
Сообщения: 1
Зарегистрирован: 24 май 2009, 15:52
Репутация: 0

Re: векторная карта

Сообщение b0br0ff » 24 май 2009, 17:10

Сам я вляюсь новичком MapInfo, у меня аналогичная задача поставлена. Нашел 2 способа решения:

1) нашел пример в MapBasic программа называется COGOLINE:

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

obj_p1=CreatePoint(x_1, y_1) 

obj_p2=Offset(obj_p1, az - 15, 0.5, "km") 
x_2=centroidx(obj_p2) 
y_2=centroidy(obj_p2) 

Create Line 
Into Variable line_obj(x_1, y_1) (x_2, y_2) 
Pen CurrentPen()
2) подсказал Добрый Человек на другом форуме:

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

X2 = X1+Cos(Azm/90*Arcsin(1))*Dist 
Y2 = Y1+Sin(Azm/90*Asin(1))*Dist 

Create Line 
Into Variable line_obj(x1, y1) (x2, y2) 
Pen CurrentPen()
Желаю удачи!

Ответить

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

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

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