D&I Blog

このブログでは、今までに培ってきた技術的なことや、得意としている地図のことなどについて、幅広く取り扱っていこうと考えています。積極的に新しいことにチャレンジしたいメンバーもいるので、そのようなトピックも扱っていきたいと思います。

D&I BLOG

To mind the creative destruction

緯度経度表現における変換式

緯度経度の表現方法

私たちが普段目にする緯度経度には、実は色々な表現方法があるのをご存知でしょうか?私がざっと思いつく限り、以下の表現方法があります。

  • 度分秒形式
  • 度単位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ソフトウェア(ArcGISQGISなど)でも利用されている形式で、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

忘れた頃にやってくる緯度経度の変換式。皆さんの役に立つことがあれば嬉しいです。