« ISO6709の記法とサンプル | メイン | ISO6709の適用先 »

2006年11 月13日 (月)

ISO6709のBNF

BNF description for ISO 6709-1983(E)

Number (N)
 N = "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"

Number for Degrees (D)
 D = N
Number for Minutes (M)
 M = N
Number for Seconds (S)
 S = N

Integer part of Degrees for Latitude (DLAT)
 DLAT = ("+"|"-") D D
 "+" represents North.
 "-" represents South.
 -90<=DLAT<=+90

Integer part of Degrees for Longitude (DLON)
 DLON = ("+"|"-") D D D
 "+" represents East.
 "-" represents West.
 -180<=DLON<=+180

Decimal Fraction of Degrees (DP)
 DP = "." 1*(D)

Integer part of Minutes (MI)
 MI = M M
 0<=MI<60

Decimal Fraction of Minutes (MP)
 MP = "." 1*(M)

Integer part of Seconds (SI)
 SI = S S
 0<=SI<60

Decimal Fraction of Seconds (SP)
 SP = "." 1*(S)

 LatitudeInD   = DLAT [ DP ]       = ("+"|"-") D D [ "." 1*(D) ]
 LatitudeInDM  = DLAT MI [ MP  ]   = ("+"|"-") D D M M [ "." 1*(M) ]
 LatitudeInDMS = DLAT MI SI [ SP ] = ("+"|"-") D D M M S S [ "." 1*(S) ]

 LongitudeInD   = DLON [ DP ]       = ("+"|"-") D D D [ "." 1*(D) ]
 LongitudeInDM  = DLON MI [ MP ]    = ("+"|"-") D D D M M [ "." 1*(M) ]
 LongitudeInDMS = DLON MI SI [ SP ] = ("+"|"-") D D D M M S S [ "." 1*(S) ]

Altitude [m] (Altitude)
 Altitude = ("+"|"-") 1*(N)  ["." 1*(N) ]

Delimiter
 Delimiter = "/"

 LatLonAltInD = LatitudeInD LongitudeInD [Altitude] Delimiter
 LatLonAltInDM = LatitudeInDM LongitudeInDM [Altitude] Delimiter
 LatLonAltInDMS = LatitudeInDMS LongitudeInDMS [Altitude] Delimiter

ISO6709 Latitude Longitude Altitude Representation
 LatLonAlt = LatLonAltInD | LatLonAltInDM | LatLonAltInDMS

Examples:
 +40-075/
 +40.20361-075.00417/
 +4012.22-007500.25/
 +401213.1-0750015.1/
 +40.20361-075.00417+350.517/

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a0120a850e7be970b012877537bdb970c

Listed below are links to weblogs that reference ISO6709のBNF: