%表題   GRPH1 基本グラフィックルーチンライブラリ
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/06 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%         93/03/04 酒井敏   (map project)
%         94/03/18 塩谷雅人
%        }
%
\section{サブルーチンの説明 : 正規化変換}
%\label{sgpack.ntrf}

正規化変換の設定に関するサブルーチン群.
実際の正規化変換関数は STPACK に含まれる.
\vspace{1em}

以下のルーチンが設定する正規化変換に関するパラメータは,
GRPH1の内部変数を管理するルーチン\SGPGETSET により
一つずつ参照/変更することもできる.
以下のルーチンは, 内部的に \SGPSET を用いて,
内部変数を設定している.
したがって, これらのルーチンを使って設定するパラメータは,
実行時オプションによる変更ができない.
実行時オプションによる変更をしたいときは GRPH2 の GRPACK を
用いればよい.

%----------------------------------------------------------------
\subsection{SGSVPT}
\label{sgpack.ntrf.sgsvpt}
\begin{enumerate}
  \item 機能
  \begin{quote}
    正規化変換のためのビューポートを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSVPT(VXMIN,VXMAX,VYMIN,VYMAX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt VXMIN,VXMAX,VYMIN,VYMAX} & {\tt (R)} & ビューポート.
			\ref{gaiyou.ntrf2}節参照.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
%   \item これらのパラメタは \SGPSET によって設定することもできる.
    \item 現在設定されているビューポートは
      \begin{quote}
        {\tt CALL SGQVPT(VXMIN,VXMAX,VYMIN,VYMAX)}
      \end{quote}
      によって参照できる.
    \item これらのパラメータは{\tt SGSTRF} が呼ばれた時点で有効になる.
  \end{enumerate}
\end{enumerate}
%----------------------------------------------------------------
\subsection{SGSWND/SGSSIM/SGSMPL}
\label{sgpack.ntrf.sgswnd}
\begin{enumerate}
  \item 機能
  \begin{quote}
    正規化変換のためのパラメータを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSWND(UXMIN,UXMAX,UYMIN,UYMAX)} \\
    {\tt CALL SGSSIM(SIMFAC,VXOFF,VYOFF)} \\
    {\tt CALL SGSMPL(PLX,PLY,PLROT)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{8cm}}
      {\tt UXMIN,UXMAX,UYMIN,UYMAX} & {\tt (R)} & ウインドウ.
					\ref{gaiyou.ntrf2}節参照. \\
      {\tt SIMFAC}      & {\tt (R)} &  相似変換のスケーリングファクター.
					\ref{gaiyou.ntrf2}節参照. \\
      {\tt VXOFF,VYOFF} & {\tt (R)} & 原点のオフセット.
                          {\tt VXOFF,VYOFF}が0の時,
                          原点はビューポートの中心に設定される.
					\ref{gaiyou.ntrf2}節参照. \\
      {\tt PLX,PLY,PLROT} & {\tt (R)} & 地図投影の際の回転角.
					\ref{gaiyou.ntrf2}節参照. \\
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
%   \item これらのパラメタは \SGPSET  によって設定することもできる.
    \item 現在設定されているパラメータは
      \begin{quote}
          {\tt CALL SGQWND(UXMIN,UXMAX,UYMIN,UYMAX)} \\
          {\tt CALL SGQSIM(SIMFAC,VXOFF,VYOFF)} \\
          {\tt CALL SGQMPL(PLX,PLY,PLROT)}
      \end{quote}
      によって参照できる.
    \item {\tt UXMIN}$\ne ${\tt UXMAX}, {\tt UYMIN}$\ne ${\tt UYMAX}
      さらに対数変換の場合は正の領域で定義しなければならない.
    \item 円錐図法の標準緯線は \SGPGETSET が管理する
      パラメーター{\tt 'STLAT1'}, {\tt 'STLAT2'}で設定する.
    \item これらのパラメータは{\tt SGSTRF} が呼ばれた時点で有効になる.
  \end{enumerate}
\end{enumerate}

%----------------------------------------------------------------
\subsection{SGSTRN}
\label{sgpack.ntrf.sgstrn}
\begin{enumerate}
  \item 機能
  \begin{quote}
    正規化変換の変換関数番号を指定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSTRN(ITR)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt ITR} & {\tt (I)} & 変換関数番号(\ref{gaiyou.ntrf2}節参照).
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item 現在設定されている変換関数番号は
      \begin{quote}
        {\tt CALL SGQTRN(ITR)}
      \end{quote}
      によって参照できる.
    \item 変換関数番号, 名称, 略称の間の対応関係などを与える
      以下のような関数・サブルーチンがある({\tt ISGTRC}が関数で
      それ以外はサブルーチンである).
      \begin{quote}
      \begin{tabular}{lp{10cm}}
        {\tt ISGTRC(CTR)}     & 名称あるいは略称を与えて
          変換関数番号を返す整数型の関数. \\
        {\tt SGTRQF(NTX,LTR)} &
          変換関数番号{\tt NTX}が定義されているかどうかを調べる.
          定義されていれば{\tt LTR}として{\tt .TRUE.}が返される;
          定義されていなければ{\tt .FALSE.}が返される. \\
        {\tt SGTRSL(CTS,CTL)} & 略称から名称を求める. \\
        {\tt SGTRSN(CTS,NTX)} & 略称から変換関数番号を求める. \\
        {\tt SGTRLS(CTL,CTS)} & 名称から略称を求める. \\
        {\tt SGTRLN(CTL,NTX)} & 名称から変換関数番号を求める. \\
        {\tt SGTRNS(NTX,CTS)} & 変換関数番号から略称を求める. \\
        {\tt SGTRNL(NTX,CTL)} & 変換関数番号から名称を求める. \\
      \end{tabular}
      \end{quote}
  \end{enumerate}
\end{enumerate}
%----------------------------------------------------------------
\subsection{SGSTRF}
\label{sgpack.ntrf.sgstrf}
\begin{enumerate}
  \item 機能
  \begin{quote}
    正規化変換を確定させる.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSTRF}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
	なし.
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item このルーチンは \SGPGETSET  によって管理されている
          変換パラメタに基づいて, STPACK のルーチン群の設定を行なう.
    \item このルーチンを呼ぶ前に, 必要なパラメタを設定しておかなければ
	  ならない.
  \end{enumerate}
\end{enumerate}
%----------------------------------------------------------------
\subsection{SGSCWD}
\label{sgpack.ntrf.sgscwd}
\begin{enumerate}
  \item 機能
  \begin{quote}
    相似変換を設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSCWD(CXMIN,CXMAX,CYMIN,CYMAX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
        CXMIN,CXMAX,CYMIN,CYMAX (R) C座標の四隅を表す SGPACK の
        内部変数。\ref{gaiyou.ntrf2}節を参照のこと.
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item この4パラメターは地図投影等で用いられる相似変換パラメター 
         SIMFAC, VXOFF, VYOFF の異なる表現法と言える。ただし、一つ多い
         ことから分かるように、こちらのほうがより一般的である。後者で
         は、縦・横の伸縮パラメターに同一値(SIMFAC)を取ることで、パラ
         メターの数が減っているのである.
    \item 主に変換番号 51 で用いるために導入されたパラメターであるが、
         実際には、SGSCWDを呼ぶと SGSSIM で扱うパラメターも設定され、
         また SGSSIM を呼ぶと SGSCWD で扱うパラメターも設定されるよう
         になっている.
  \end{enumerate}
\end{enumerate}
