FS2000 APL SDK Functions



■ 式の値と演算子
■ 関数
 Air_Distance 関数
 Ctof 関数
 Degrees 関数
 Fix_To_Fix_Distance 関数
 Frac 関数
 Ftoc 関数
 Ftom 関数
 Glide_Slope 関数
 Ground_Distance 関数
 InHgToMb 関数
 InRange 関数
 InRange360 関数
 Int 関数
 KmToNm 関数
 MbToInHg 関数
 Minutes 関数
 Mtof 関数
 NmToKm 関数
 NmToSm 関数
 Radial 関数
 Seconds 関数
 SmToNm 関数




■ 式の値と演算子

数値が期待されている場所では、どこでも式を使用することができます。式は変数、明示的
な数、演算子、通常の使用ルールに基づく括弧からできています。全ての変数、数値、数式
の結果は内部的に倍精度浮動小数点数として表現されています。

APLでは、オペランドの値として、しばしば、論理値やブール値が使われます。これらの値
にはIfコマンドの独立変数やAnd演算子のオペランドやNOT()関数の独立変数が含まれます。
ブール値は真(True)か偽(False)の値を取る数字として扱われます。浮動小数点数は最初に
整数に変換されます。その結果が0になった場合は偽(False)として扱われます。もし、
値が0以外の時には真(True)であると扱われます。APLがブール値を生成する時は真(True)
の値として1.0が偽(False)の値として0.0が作られます。
APLは以下の各々の演算子を使用します。

演算子                  説明
-                       数値マイナス.
NOT                     論理マイナス オペランドが0の時、結果は1となり、それ以外
                        では0となる。

二進数の演算子は通常の演算ルールに基づく左側の式と右側の式からできています。論理演
算子(=やAND等)は真を1に偽を0として計算し結果を出します。APLは二進数の演算子として
以下のものを使用します。

演算子                  説明

+                       加算
-                       減算
*                       積算
/                       浮動小数点数除算
IDIV                    整数除算
IREM, %                 整数の余り
&                       ビットAND
|                       ビットOR
XOR, ^                  ビット排他OR
=                       イコール
!=                      非イコール
<                       未満
<=                      以下
>                       超
>=                      以上
AND, &&                 論理積(両オペランドが真の時、真)
OR, ||                  論理和(両オペランドのいずれかが真の時に真)



■ 関数


Air_Distance 関数

ユーザーの飛行機から指定された緯度経度上の位置までの空間距離を海里で算出します。
空間距離はユーザーの飛行機から特定の緯度経度上の位置までの最短距離です。

Note: 距離が増加すると、この関数は不正確となります。

構文

Air_Distance (lat, lon)

引数

latitude        緯度を指定します。
longitude       経度を指定します。

使用例

DECLARE AD2_Meigs

AD2_MEIGS = AIR_DISTANCE(41:51.5, 087:36.5)


Ctof 関数

摂氏の温度を華氏に変換します。 数式は((temp * 1.8) + 32)になります。

構文

Ctof (temp)

引数tempは摂氏の温度です。

使用例

'This should print approximately 59.

DECLARE Temp_F

Temp_F = CTOF(15)

PRINT "Temperature Fahrenheit for 15 Celsius = ", Temp_F


Degrees 関数

角度を度、分、秒に変換し、その中から度の整数部分を抜き出します。int(abs(angle))
関数と同じ結果になります。

構文

Degrees (angle)

引数 angleは度、分、秒単位の角度です。

使用例

PRINT "Degrees 44:30:10.5678 = ", DEGREES(44:30:10.5678)

結果: Degrees 44:30:10.5678 =  44.0000


Fix_To_Fix_Distance 関数

二つの地点間の距離を海里で算出します。

Note: 距離が増加すると、この関数は不正確になります。

構文

Fix_To_Fix_Distance (lat1, lon1, lat2, lon2)

引数

lat1    最初の地点の緯度を指定します。
lon1    最初の地点の経度を指定します。
lat2    二つ目の地点の緯度を指定します。
lon2    二つ目の地点の経度を指定します。

使用例

DECLARE D_ORD_CMI

'Returns distance from ORD VOR to CMI VOR.

D_ORD_CMI = FIX_TO_FIX_DISTANCE(41:59.26, 087:54.29, 40:02.07,
088:16.56)


Frac 関数

指定された値の小数点以下を求めます。

構文

Frac (value)

引数 valueは小数点以下を求めたい元の数字です。

使用例

DECLARE Frac_Part

Frac_Part = FRAC(1.2345)

結果: Frac_Part = 0.2345


Ftoc 関数

華氏で表示された温度を摂氏に変換します。算式は ((temp - 32) / 1.8)です。

構文

Ftoc (temp)

引数 tempは華氏の温度です。

使用例

'This should print approximately 15.

DECLARE Temp_C

Temp_C = FTOC(59)

PRINT "Temperature Celsius for 59 Fahrenheit = ", Temp_C


Ftom 関数

指定されたフィート単位の値をメートル単位に変換します。
算式は(feet / 3.28084)です。

構文

Ftom (feet)

引数 feetはフィート単位の示された長さです。

使用例

DECLARE Meters

Meters = FTOM(33)


Glide_Slope 関数

特定の地点へのグライドスロープを角度で算出します。

Note: ユーザーの飛行機と地面との角度は90度を超える事はできません。

構文

Glide_Slope (lat, lon)

引数

lat     指定する地点の緯度を指定します。
lon     指定する地点の経度を指定します。

使用例

DECLARE GS2_Meigs

GS2_Meigs = GLIDE_SLOPE(41:51:13.3942, 087:36:27.2470)


Ground_Distance 関数

ユーザーの飛行機から特定地点までの地表面距離を海里で算出します。

Note: 距離が増加すると、この関数は不正確になります。

構文

Ground_Distance (lat, lon)

引数

lat     指定する地点の緯度を指定します。
lon     指定する地点の経度を指定します。

使用例

DECLARE GD2_Meigs

GD2_MEIGS = AIR_DISTANCE(41:51.5, 087:36.5)


InHgToMb 関数

気圧を水銀柱換算のインチ単位の値からミリバールへ変換します。
算式は (pressure * 33.86363636)です。

構文

InHgToMb (pressure)

引数 pressureは水銀柱換算のインチ単位の値です。

使用例

DECLARE P_MB

P_MB = INHGTOMB(29.92)


InRange 関数

value値がlow以上high以下の場合に真(True:1)を返します。

構文

InRange (value, low, high)

参考
InRange(value, low, high) は次のチェックをします。
・値がlowより大きいか等しい。
・値がhighより小さいか等しい。
この両条件が満足されている時にTrueを返します。
もし、lowとhighが逆に指定された場合は常に結果はFalseで返されます。エラーメッセージはでま
せん。

使用例

IF INRANGE(PLANE_ALT, 0, 2000) THEN

        PRINT "Altitude is less than 2,001 feet."
ENDIF


InRange360 関数

InRange関数ににていますが、導引数が0度〜360度に限定されています。

構文

InRange360 (value, left, right)

使用例

'Handles headings that cross north.

IF INRANGE360(PLANE_HEADING, 355, 005)

        PRINT "You are heading north."

ENDIF

'Handles radials that cross north.

IF INRANGE360(VOR_1_RADIAL, 315, 045)

        PRINT "You are north of the VOR."

ENDIF


Int 関数

ある値の整数部分を返します。

構文

Int (value)

引数 valueは整数部分を算出したい特定の値です。

使用例

'This should print the number 1.

PRINT "The integer portion of 1.2345 is: ", INT(1.2345)


KmToNm 関数

キロメートルから海里に変換します。算式は(distance / 1.852)です。

構文

KmToNm (dist)

引数 distはキロメートル単位の距離です。

使用例

DECLARE D_NM

D_NM = KMTONM(185.2)


MbToInHg 関数

気圧をミリバールから水銀柱換算のインチ単位の値へ変換します。
算式は(pressure / 33.86363636)です。

構文

MbToInHg(pressure)

引数 pressureはミリバール単位の気圧です。

使用例

DECLARE P_InHG

P_InHG = MBTOINHG(1013.5)


Minutes 関数

角度を度、分、秒に変換し、その中から整数の分の部分を取り出します。
int(60*frac(abs(angle)))と同じになります。

構文

Minutes (angle)

引数 angleは変換したい角度です。

使用例

PRINT "Minutes 44:30:10.5678 = ", MINUTES(44:30:10.5678)

結果: Minutes 44:30:10.5678 = 30.0000


Mtof 関数

メートル単位の長さをフィート単位に変換します。算式は(meters * 3.28084)です。

構文

Mtof (meters)

引数 metersは変換するメートル単位の長さです。

使用例

DECLARE D_FEET

D_FEET = MTOF(100)


NmToKm 関数

海里で示された距離をキロメートル単位に変換します。算式は(distance * 1.852)です。

構文

NmToKm (dist)

引数 disは海里単位の距離です。

使用例

DECLARE D_KM

D_KM = NMTOKM(100)


NmToSm 関数

海里で示された距離を法定マイルに変換します。算式は(distance * 1.1508)です。

構文

NmToSm (dist)

引数 distは海里単位の距離です。

使用例

DECLARE D_SM

D_SM = NMTOSM(100)


Radial 関数

ある地点から飛行機までの水平角度を磁気方位の角度で返します。

構文

Radial (lat, lon)

引数

lat     指定する地点の緯度を指定します。
lon     指定する地点の経度を指定します。

使用例

WHILE RADIAL(47:00.0, 118:00.0) < 090

        WAIT 1

END WHILE


Seconds 関数

角度を度、分、秒に変換し、その中から秒の部分を取り出します。
60*frac(60*frac(abs(angle)))と同じ結果になります。

構文

Seconds (angle)

引数 angleは秒の部分を取り出す角度です。

使用例

PRINT "Seconds 44:30:10.5678 = ", SECONDS(44:30:10.5678)

結果: Seconds 44:30:10.5678 = 10.5678


SmToNm 関数

法定マイルで示された距離を海里に変換します。算式は(distance / 1.1508)です。

構文

SmToNm (dist)

引数 distは法定マイル単位の距離です。

使用例

DECLARE D_NM

D_NM = SMTONM(115.08)




BACK TO MAIN INDEX BACK TO SDK INDEX
Last Update 2000/2/19