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/