緯度経度表現における変換式
緯度経度の表現方法
私たちが普段目にする緯度経度には、実は色々な表現方法があるのをご存知でしょうか?私がざっと思いつく限り、以下の表現方法があります。
- 度分秒形式
- 度単位10進数形式
- 秒形式
上記は、計算式によって相互に変換できるのですが、いざ変換しようとした際、変換式がすぐにでてこないという場合があります。
今回のブログでは、表現方法の簡単な解説と、変換式について紹介したいと思います。
なお私たちの会社の場所を、解説に使用する緯度経度として利用します。
度分秒形式
学校で地理を学んできた過程で、一番馴染みのある表現形式ですね。
表現例
緯度: 33° 51′ 10.59″
経度: 130° 45′ 17.86″
変換式
- 度単位10進数形式
- 緯度: 33 + ( 51 * 60 + 10.59 ) /3600 = 33.852942
- 経度: 130 + ( 45 * 60 + 17.86 ) / 3600 = 130.75496
- 秒形式
- 緯度: ( 33 * 60 + 51 ) / 3600 + 10.59 = 121870.59
- 経度: ( 130 * 60 + 45 ) / 3600 + 17.86 = 470717.86
度単位10進数形式
この形式は、Google Map 等で使われている表現形式です。またGISソフトウェア(ArcGIS、QGISなど)でも利用されている形式で、GIS関連で一般的に利用されている表現方法です。
表現例
緯度: 33.852942
経度: 130.75496
変換式
- 度分秒形式(便宜上、Excelの数式を用いています。 INT()関数は、引数に与えられた数値の整数部分を取り出します。)
- 緯度
- 度の取り出し方: INT(33.852942) = 33
- 分の取り出し方: INT( ( 33.852942 - 33 ) * 60 ) = 51
- 秒の取り出し方:( ( 33.852942 - 33 - (51 / 60) ) * 3600 ) = 10.59
- 経度
- 度の取り出し方: INT( 130.75496 ) = 130
- 分の取り出し方: INT( ( 130.75496 - 130 ) * 60 ) = 45
- 秒の取り出し方: ( ( 130.75496 - 130 - (45 / 60) ) * 3600 ) = 17.86
- 緯度
- 秒形式
- 緯度: 33.852942 * 3600 = 121870.59
- 経度: 130.75496 * 3600 = 470717.86
秒形式
GIS関連ではあまり使われない形式ですが、プログラムを書くときには、秒の加減算がしやすいので、私はよく利用しています。
表現例
緯度: 121870.59
経度: 470717.86
変換式
- 度分秒形式(便宜上、Excelの数式を用いています。 INT()関数は、引数に与えられた数値の整数部分を取り出します。)
- 緯度
- 度の取り出し方: INT( 121870.59 / 3600 ) = 33
- 分の取り出し方: INT( ( 121870.59 - ( 33 * 3600 ) ) /60 ) = 51
- 秒の取り出し方:121870.59 - ( 33 * 3600 ) - ( 51 * 60 ) = 10.59
- 経度
- 度の取り出し方: INT( 470717.86 / 3600 ) = 130
- 分の取り出し方: INT( ( 470717.86 - ( 130 * 3600 ) ) /60 ) = 45
- 秒の取り出し方:470717.86 - ( 130 * 3600 ) - ( 45 * 60 ) = 17.86
- 緯度
- 度単位10進数形式
- 緯度: 121870.59 / 3600 = 33.852942
- 経度: 470717.86 / 3600 = 130.75496
忘れた頃にやってくる緯度経度の変換式。皆さんの役に立つことがあれば嬉しいです。