Найти географические координаты точки на окружности - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня есть географические координаты центра окружности (x,y) и географические координаты точки на этой окружности (x0,y0). Мне необходимо найти координаты точки которая расположена на окружности и отстоит от (x0,y0) на какой-то угол (в градусах).

Решение задачи: «Найти географические координаты точки на окружности»

textual
Листинг программы
    ' перевожу координты центра, радиус окружности в радианы
    lat = (ActiveWorkbook.Sheets(1).Cells(12, 9) * WorksheetFunction.PI) / 180
    lon = (ActiveWorkbook.Sheets(1).Cells(12, 10) * WorksheetFunction.PI) / 180
    rEarth = 6378137  ' meters
    r = ActiveWorkbook.Sheets(1).Cells(20, 2) / rEarth
     a01 = 0
    ' ------------------------------------------
     
     ' пытаюсь создать 100 точек на окружности радиуса r
     For i = 0 To 99
        If a01 < WorksheetFunction.PI + 2 Then     
            a01 = a01 + WorksheetFunction.PI / 100            
        End If
          
          lat0 = WorksheetFunction.ASin(CDbl(Sin(lat) * Cos(r) + Cos(lat) * Sin(r) * Cos(a01)))
 
        dLon = WorksheetFunction.Atan2(CDbl(Sin(a01) * Sin(r) * Cos(lat)), CDbl(Cos(r) - Sin(lat) * Sin(lat)))
 
        lon0 = (CDbl(lon - dLon + WorksheetFunction.PI) Mod (2 * WorksheetFunction.PI)) - WorksheetFunction.PI
        
          ' перевожу полученные координаты из радиан
          lat0 = (lat0 * 180) / WorksheetFunction.PI
        lon0 = (lon0 * 180) / WorksheetFunction.PI
          
          ...
           
    Next i

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы