地図投影座標変換 (XYCONV)

xyconv, nxycnv, utm, ikconv, nikcnv, utmik | cvinit, cviken, cvenik, cvdinit, cvdiken, cvdenik

XYCONV, NXYCNV, UTM, IKCONV, NIKCNV, UTMIK
(UTM/JTM 座標変換)
1.機 能
  ・xyconv/nxycnv ルーチンは,座標原点の緯度・経度と計算点の緯度・経度を与えて
    国土調査法に基づく平面直角座標(JTM座標と呼ぶ)の座標値を計算する. xyconv 
    は 2002年3月まで使用された旧東京測地系,nxycnv は 2002年4月以降の世界測地系
    (日本測地系2000) に基づいた計算を行う
  ・ikconv/nikcnv ルーチンは,xyconv/nxycnv ルーチンの逆変換を行う.
  ・utm ルーチンは,緯度・経度を与えて指定のゾーン番号における UTM座標の値を計
    算する.世界測地系WGS(日本測地系2000) の場合 1~60 の値で,旧東京測地系の
    場合 800 を加算した 801~860 の値で,そのゾーン番号を指定する.
  ・ikutm ルーチンは,utm ルーチンの逆変換を行う.
 (注) これらはガウスクルィーゲル図法(横メルカトール図法)に基づく座標計算を行
    うものであり,地球楕円体モデルとして,旧東京測地系ではベッセル原子,日本測
    地系2000 では GRS80楕円体 を用いており,中央経線上での縮尺係数は,UTM座標で
    は 0.9996,JTM座標では 0.9999 である.JTM座標では,その原点で X=Y=0. であ
    るが,UTM座標では,赤道で X=0.,中央経線で Y=500.(km) である.また,元来
    の UTM座標では,南半球の X座標を 10000.(km) 加算した正の値で表すこととされ
    ているが,本ルーチンの計算では加算を行わず,負の値で表現している.

2.呼出し手順と引数

      call xyconv(gi, gk, fi, fk, x, y)
      call nxycnv(gi, gk, fi, fk, x, y)
      call utm(nc, fi, fk, x, y)
  gi, gk  [float] 座標原点の緯度・経度を分単位で与える.
  nc      [int]   UTM座標のゾーン番号(1~60)または それに 800を加算したもの.
                  1~60 であれば,東経 (nc*6-183)度を中央経線とし,世界測地系
                  WGS(日本測地系2000) で計算し,801~860 であれば,旧東京測地系
                  で計算する.
  fi, fk  [float] 計算点の緯度・経度を分単位で与える.
  x,  y   [float] 計算結果.X座標(北向き),Y座標(東向き)の値(km単位)を得る.

      call ikconv(gi, gk, x, y, fi, fk)
      call nikcnv(gi, gk, x, y, fi, fk)
      call utmik(nc, x, y, fi, fk)
  gi, gk  [float] 座標原点の緯度・経度を分単位で与える.
  nc      [int]   UTM座標のゾーン番号を示す.(1~60/801~860)
  x,  y   [float] 計算点の X座標値(北向き),Y座標値(東向き)を km単位で与える.
  fi, fk  [float] 計算結果.緯度・経度の値(分単位)を得る.


CVINIT, CVIKEN, CVENIK, CVDINIT, CVDIKEN, CVDENIK
(地図投影座標変換)
1.機 能
    各種の地図投影法に基づく緯度・経度から直角座標への変換,およびその逆変換の
  計算を行う.cvinit/cvdinit ルーチンで,図法番号とそのパラメータを指定したの
  ち,cviken/cvdiken ルーチンで緯度・経度から直角座標への変換,もしくは cvenik
  /cvdenik ルーチンで直角座標から緯度・経度への変換の計算を行う.
    地球モデルとしては,[世界測地系WGS] GRS80楕円体(長半径[定義値]が 6378.137
  km で,偏平率[誘導定数]が 1/298.257222)と [旧東京測地系] ベッセル原子の楕円
  体(長半径が 6377.397155 km で,偏平率が 1/299.152813;いずれも定義値)を用
  いる.現在,用意されている図法/座標系とその番号は,世界測地系WGS(日本測地系
  2000) に対して,次の通りであり,旧東京測地系に対しては 800 を加算したものと
  する.

  (図法番号)   (図法/座標系)
         0    国土調査法に基づく平面直角座標[JTM座標](ガウスクルィーゲル図法)
      1-60    UTM座標(ガウスクルィーゲル図法)
        61    北極UPS座標(Universal Polar Stereographic Projection)
        62    南極UPS座標(   = 国際極心平射図法                  )
        65    UTM座標と同様であるが非標準の中央経線を指定できる
        70    メルカトール図法
        71    ランベルト等角円錐図法(1基本緯線)
        72    ランベルト等角円錐図法(2基本緯線)
       100    ランベルト等積方位図法(楕円体と表面積の等しい球からの投影)
       109    ランベルト等積方位図法(楕円体の長半径を半径とする球から投影)
       199    緯経度の分単位の値をそのまま km 単位の北・東向き座標値とみなす

  (注1) 球からの等積投影では,半径として,楕円体と表面積が等しい球の半径を採
      用すべきであり,図法番号 100 は,その半径を用いているが,図法番号 109 
      では,"Magnetic Anomaly Map of East Asia" の投影法に合わせて,約 0.11%
      大きい長半径を半径とした計算に対応させてある.
  (注2) 直角座標はすべて縮尺 1:1 の場合の km単位を採用しており,一般の図法で
      は,座標展開の原点で X=Y=0.であるが,UTM座標においては,X座標(北向き)
      が赤道で 0.,Y座標(東向き)が中央経線上で 500.(km) と決められており,UPS
      座標においては,極(原点)で X=Y=2000.(km) である.

2.呼出し手順と引数

      call cvinit(nc, gi, gk, sp1, sp2)
      call cvdinit(nc, dgi, dgk, dp1, dp2)
  nc        [int]     図法番号(前記)を与える.
  gi,  gk   [float]   座標原点(X=Y=0.)の緯度・経度を分単位で与える.
                       (UTM座標/UPS座標 の場合は参照されない.)
  dgi, dgk  [double]   [同上]
  sp1, sp2  [float]   2基本緯線タイプのランベルト等角円錐図法の場合にその2基本
                      緯線の緯度を分単位で与える.
                       (他の図法の場合には参照されない.)
  dp1, dp2  [double]   [同上]

      call cviken(fi, fk, ye, xn)
      call cvdiken(dfi, dfk, dye, dxn)
  fi,  fk   [float]   計算点の緯度・経度を分単位で与える.
  dfi, dfk  [double]   [同上]
  ye,  xn   [float]   計算結果.東向き座標値,北向き座標値(km単位)を得る.
  dye, dxn  [double]   [同上]

      call cvenik(ye, xn, fi, fk)
      call cvdenik(dye, dxn, dfi, dfk)
  ye,  xn   [float]   計算点の東向き座標値,北向き座標値をkm単位で与える.
  dye, dxn  [double]   [同上]
  fi,  fk   [float]   計算結果.緯度・経度の値(分単位)を得る.
  dfi, dfk  [double]   [同上]

    なお,cviken/cvenik/cvdiken/cvdenik ルーチンにおいては,直角座標値引数の
  配置順序が,utm/utmik/xyconv/ikconv/nxycnv/nikcnv ルーチンの場合と異なっ
  ているので,注意されたい.