メイン | 2006年12月 »

ISO6709の適用先

ISO6709の適用先を紹介したいと思います。

以下は、それぞれ、エスケープしなければならない文字がありますが、それはとりあえず省略して説明しています。

  • XMLエンコーディング (含 RDF/XML)
    例:
    <Point>+35.36083+138.72750/</Point>
  • HTMLメタデータ (microformats)
    例:
    <abbr class="geo" title="+275916+0865640+8850/">Mount Everest</abbr>
    <meta name="geo.position" content="+47.1595+130.0894/" />
  • URLエンコーディング
    例:
    http://hoge.net/pl?point=+35.36083+138.72750/
  • スプレッドシートや、筆記など
    例:
    番号 名前 場所
    富士山 +35.3608+138.7275/
    甲斐駒ケ岳 +35.7580+138.2367/

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/

ISO6709の記法とサンプル

  1. 度表現での記法
    ±DD.DDDD±DDD.DDDD/
  2. 度分表現での記法
    ±DDMM.MMM±DDDMM.MMM/
  3. 度分秒表現での記法
    ±DDMMSS.SS±DDDMMSS.SS/
  • 緯度を一番目に、経度を二番目に書きます。
  • それぞれの値は必ず符号が必要です。
    緯度:北緯=+ 南緯=-
    経度:東経=+ 西経=-
  • それぞれ、整数部は固定長です。
    満たない場合は、0で埋める
    (このため、整数部の数字の数から、最初が緯度で二番目が経度であることが明示的になっています。)
  • 小数点以下は、可変長です。
    (無くてもかまわない)
  • "/"がデリミタです。
  • 空間参照系(例えばWGS-84など)は、考慮されていません。
    (この辺の課題・情報・考察はまた後日)

高度をオプションで付けることができます。
 ±DD.DDDD±DDD.DDDD±AAA.AAA/
 単位はメートル[m]です。
 やはり符号は必須です。
 高度は、整数部、小数部ともに可変長です。
 度分秒などのほかの表現でも付けることができます。

例:
富士山頂 北緯35度21分39秒、東経138度43分39秒は、
度分秒表現で
 +352139+1384339/
度表現では(電卓つかって換算してみてください)
 +35.36083+138.72750/
高度をつければ、
 +352139+1384339+3776/

東京タワー 北緯:35度39分31.075秒、東経:139度44分43.48秒は、
度分秒表現で、
 +353931.075+1394443.48/
度表現では
 +35.658632+139.745411/

ISO6709とは

このカテゴリでは、ISO6709について色々な情報を提供していこうと思います。

まずは、ISO6709自体について。

SVG Mapは、オープンでマッシュアップ自在な地図プラットホームを目指した活動なわけですが(この辺は詳しくはまた別の記事で)、そもそもの話として、その地図がどこの地図? という情報は、基本中の基本の情報になるわけですね。

「どこ?」を表現する方法は沢山(Web上にもほんとうにたくさん)ありますが、全世界共通で、しかも義務教育のレベルでみんなが認知している「どこ?」表現は、とりもなおさず「緯度経度」なわけです。某Maps系のサービスもみんな使ってます。

#緯度経度以外で、ポピュラーな「どこ?」表現は、「住所・アドレス」ですが・・・これは地域によって、その記述ルールがばらばらで、「共通の表現」というには厳しいものでしょう。

ということで、緯度経度の情報はSVG Mapの重要な情報なのですが、その表記方法は?というと、これまた方法は沢山(Web上にもほんとうにたくさん)在ることが判明しています。#どれぐらいあるかはまた後日

そんな中、注目しているのが、ISOの緯度経度(+高度)の記述仕様 ISO6709
正式名称は、ISO 6709-1983(E)というそうです。

これは、丁度ISO8601という日時表現の記述仕様が、インターネット(勿論Webでも(例W3CDTF))多用されていることからの類推で、緯度経度の標準的な表記方法として、広められる素質を持つ仕様だと考えているものです。

記法は比較的単純、しかも、度表現だけでなく、度分秒表現も可能、そして、どちらの数字が緯度でどちらの数字が経度かも一目瞭然な明解さも備えています。

検索

注目エントリー

2008年8月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

最近のトラックバック