Verilen iki kooridnat arası uzaklık hesaplama (Distance Calculator)


Verilen koordinatlarda kuş uçusu mesafe hesaplama,


*"----------------------------------------------------------------------
*"
*"       IMPORTING
*"             VALUE(LONGITUDE1) LIKE  SGEOCITY-LONGITUDE
*"             VALUE(LATITUDE1) LIKE  SGEOCITY-LATITUDE
*"             VALUE(LONGITUDE2) LIKE  SGEOCITY-LONGITUDE
*"             VALUE(LATITUDE2) LIKE  SGEOCITY-LATITUDE
*"       EXPORTING
*"             VALUE(DISTANCE) LIKE  SPFLI-DISTANCE
*"----------------------------------------------------------------------
  DATA: X1 TYPE F, Y1 TYPE F,
        X2 TYPE F, Y2 TYPE F, YD TYPE F,
        PI TYPE F,
        PI_180 TYPE F,
        MINUS_1 TYPE F VALUE '-1'.

PI     = ACOS( MINUS_1 ).
PI_180 = PI / 180.

  X1 = LATITUDE1  * PI_180.
  Y1 = LONGITUDE1 * PI_180.
  X2 = LATITUDE2  * PI_180.
  Y2 = LONGITUDE2 * PI_180.
  YD = Y2 - Y1.

  DISTANCE = 20000 / PI *
    ACOS( SIN( X1 ) * SIN( X2 ) + COS( X1 ) * COS( X2 ) * COS( YD ) ).
ENDFUNCTION.

Hiç yorum yok:

Yorum Gönder