www.map-info.ru :: Просмотр темы - Расчет азимутов.
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
OlegKnysh



Зарегистрирован: 25.06.2006
Сообщения: 2

СообщениеДобавлено: Вс Июн 25, 2006 9:09 am    Заголовок сообщения: Расчет азимутов. Добавить ответ со ссылкой на данный текст

НУжно на MapBasic написать процедурку для расчета азимута на точку Б относительно точки А, если известно координаты этих точек.

Соорудил такую процедурку:
процедурка создает новый слой , который накладывается на привязаный растр.Проекция Pulkovo 1942

Include "mapbasic.def"
Include "auto_lib.def"

Declare Sub Main



Sub Main
'Set CoordSys Earth Projection 8, 1001, "km", 21, 0, 1, 4500000, 0
Set CoordSys Earth Projection 1, 104


Dim X_A, X_B, Y_A, Y_B, Azymut_,A, Vidstan_, dX, dY As Float
Dim Qvert, I1 as Integer
Qvert=0
X_A=24.6867
Y_A=48.8877
I1=0

Open Table "rbs.tab" as rbs Interactive

Fetch First From rbs

Do While Not EOT(rbs)
dX=0
dY=0
i1=i1+1
X_B=rbs.x
Y_B=rbs.y
dX=X_B-X_A
dY=Y_B-Y_A

If dX=0 then
A=sgn(dY-abs(dY))*(-180)+90
Else
A=sgn(dX-abs(dX))*(-180)+atn(dY/dX)*RAD_2_DEG
End If

a=90-a
Azymut_=sgn(a-abs(a))*(-360)+a
Vidstan_=Distance(X_A, Y_A, X_B, Y_B, "km")

Update rbs
Set Azymut=Azymut_, Vidstan=Vidstan_ where RowId=i1
Fetch Next From rbs
Loop


Commit Table rbs Interactive


End Program
End Sub

Но азимуты расчитываются не правильно, тоесть или бодьше или меньше. проверял в MAPInfo с помощью утилиты cogolime.mb .

Дайте совет, как жить дальше. Очень нужно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru