ENGLISH VERSION

GLOBALBASE PROJECT POWERED BY HIROHISA MORI
ホーム

GLOBALBASEとは? トピックス ダウンロード ドキュメント 実例とリンク
 
ver.B リリースノート
GLOBALBASEガイドブック
COSMOSマニュアル
LANDSCAPEマニュアル
開発情報
文献情報
GLOBALBASEマニュアル集 >> LANDSCAPEスクリプト・リファレンス・マニュアル >> LANDSCAPE スクリプト・リファレンス >> p4m.xl(4点以上のマッピングの作成)
2007-12-28版

p4m.xl(4点以上のマッピングの作成)

著者: 森 洋久 / joshua@globalbase.org  ※ 

プロトタイプ

xl p4m.xl / [p4m-file]

引数

[p4m-file] point-mapとmeta情報だけのマッピングファイル

オプション
  • reverse= none/src/dest デフォルトは none
    ver.B.b16.05以降のサポート

環境

エージェント  xl , エージェント  netmapper [UNDEF REF (netmapper)]

説明

4点以上の対応点をもったマッピングでは、1次変換で座標を対応させることができません。そのため、全体を複数の三角形の領域 ( TIN)に分割し、おのおののTIN内部で異なる一次変換を適用する補完方式を行います。また、座標系の無限遠点でも変換出来るように、近似的に無限遠転用の一次変換を指定する必要があります。これらのパラメータを手で指定し、マッピングファイルを作ることも可能ではありますが、これを対応点を与えると自動的に生成するスクリプトがこのp4m.xlです。

ver.B.b16.05以降のLANDSCAPEでは、reverseオプションが新たに加わりました。マッピング元とマッピング先の軸の方向が異なる場合、reverseオプションが必要です。コンピュータ座標系 ( x軸右方向、y軸下向き)を基準にして、数学座標系 ( x軸右方向y軸上向き)の座標系をreverseオプションで指定します。例えば、マッピングもとが数学座標系であれば、reverse=srcと指定します。マッピング先が数学座標系であればreverse=destと指定します。もし、両方とも数学座標系の場合はreverse=noneで問題ありません。

まず、拡張子p4mをもったファイルを作ります。基本的には、拡張子map以外であればかまいません。p4mの構造はmapファイルの構造と同じです。point-mapとmeta情報のみを記述したものです。いわば、3 点までのmapファイルの4番目以降のpoint-mapをそのまま付け加えたものと考えてよいでしょう。従って、すでに3点までマッピングしたマッピングファイルがあり、それに4点目を追加しようと考えているときには、そのまま4点目を追加し、ファイルの拡張子を.p4mに書き換えれば、p4mファイルは完成です。以下の例は1系(九州)のためのp4mファイルの中身です。 (01.p4m)
	
<?xml version="1.0" encoding="EUC-JP"?>
<map>
 <meta>
  <file type="xl"/>
  <src>
   xlp://isjhp2.nichibun.ac.jp:8080/kokudo/coord/01.crd
  </src>
  <dest>
   xlp://isjhp2.nichibun.ac.jp:8080/kokudo20000/coord/00.crd
  </dest>
  <dp>
   181
  </dp>
 </meta>
 <point-map>
  b1
  <list>
  6577.435059m
  30896.992188m
  </list>
  <list>
  146482.000000m
  1294111.625000m
  </list>
 </point-map>
 <point-map>
  b2
  <list>
  -16864.001953m
  34593.703125m
  </list>
  <list>
  149568.734375m
  1315266.750000m
  </list>
 </point-map>
 <point-map>
  b3
  <list>
  -20587.638672m
  81065.656250m
  </list>
  <list>
  189254.359375m
  1318867.375000m
  </list>
 </point-map>
 <point-map>
  b4
  <list>
  3998.532959m
  12131.631836m
  </list>
  <list>
  130398.726563m
  1296403.500000m
  </list>
 </point-map>
 <point-map>
  b5
  <list>
  -38258.191406m
  24350.640625m
  </list>
  <list>
  140765.75000m
  1334532.000000m
  </list>
 </point-map>
 <point-map>
  b6
  <list>
  -15451.980469m
  56954.250000m
  </list>
  <list>
  168696.531250m
  1314098.375000m
  </list>
 </point-map>
</map>
 

この内容を01.p4mというファイルにセーブし、このスクリプトを適用します。

% xl p4m.xl - - / 01.p4m
 

すると拡張子のみが.mapに変化した、01.mapが生成されます。TINや無限遠点一次変換が指定された流通可能なマッピングファイルです。中身は以下のようになります。

<map>
 <meta>
  <file type="xl"/>
  <src>
   xlp://isjhp2.nichibun.ac.jp:8080/kokudo/coord/01.crd
  </src>
  <dest>
   xlp://isjhp2.nichibun.ac.jp:8080/kokudo20000/coord/00.crd
  </dest>
  <dp>
   181
  </dp>
 </meta>
 <horizontal-affen>
  <List>
   <List>
    0.002363 
    0.854563 
   </List>
   <List>
    -0.901667 
    0.004435 
   </List>
  </List>
  <List>
   120044.569714 
   1299925.616167 
  </List>
 </horizontal-affen>
 <point-map>
  ^"1"
  <list>
   -127929.444336 
   -125736.416992 
  </list>
  <list>
   12292.601562 
   1414717.750000 
  </list>
 </point-map>
 <point-map>
  ^"2"
  <list>
   -38258.191406m 
   24350.640625m 
  </list>
  <list>
   140765.750000m 
   1334532.000000m 
  </list>
 </point-map>
 <point-map>
  ^"3"
  <list>
   -127929.444336 
   218933.705078 
  </list>
  <list>
   306835.000000 
   1416246.250000 
  </list>
 </point-map>
 <triangle-map>
  ^"1"
  ^"2"
  ^"3"
 </triangle-map>
 <triangle-map>
  ^"2"
  ^"3"
  ^"1"
 </triangle-map>
 <triangle-map>
  ^"3"
  ^"2"
  ^"1"
 </triangle-map>
 <point-map>
  ^"4"
  <list>
   6577.435059m 
   30896.992188m 
  </list>
  <list>
   146482.000000m 
   1294111.625000m 
  </list>
 </point-map>
 <point-map>
  ^"5"
  <list>
   96248.687988 
   218933.705078 
  </list>
  <list>
   307364.656250 
   1214112.375000 
  </list>
 </point-map>
 <point-map>
  ^"6"
  <list>
   96248.687988 
   -125736.416992 
  </list>
  <list>
   12822.257812 
   1212583.750000 
  </list>
 </point-map>
 <triangle-map>
  ^"4"
  ^"5"
  ^"6"
 </triangle-map>
 <triangle-map>
  ^"6"
  ^"4"
  ^"5"
 </triangle-map>
 <triangle-map>
  ^"5"
  ^"4"
  ^"6"
 </triangle-map>
 <point-map>
  ^"7"
  <list>
   3998.532959m 
   12131.631836m 
  </list>
  <list>
   130398.726563m 
   1296403.500000m 
  </list>
 </point-map>
 <triangle-map>
  ^"1"
  ^"7"
  ^"6"
 </triangle-map>
 <triangle-map>
  ^"7"
  ^"6"
  ^"1"
 </triangle-map>
 <triangle-map>
  ^"6"
  ^"7"
  ^"1"
 </triangle-map>
 <point-map>
  ^"8"
  <list>
   -20587.638672m 
   81065.656250m 
  </list>
  <list>
   189254.359375m 
   1318867.375000m 
  </list>
 </point-map>
 <triangle-map>
  ^"5"
  ^"8"
  ^"3"
 </triangle-map>
 <triangle-map>
  ^"3"
  ^"8"
  ^"5"
 </triangle-map>
 <triangle-map>
  ^"8"
  ^"3"
  ^"5"
 </triangle-map>
 <triangle-map>
  ^"2"
  ^"8"
  ^"3"
 </triangle-map>
 <triangle-map>
  ^"3"
  ^"2"
  ^"8"
 </triangle-map>
 <triangle-map>
  ^"5"
  ^"8"
  ^"4"
 </triangle-map>
 <triangle-map>
  ^"8"
  ^"4"
  ^"5"
 </triangle-map>
 <triangle-map>
  ^"1"
  ^"2"
  ^"7"
 </triangle-map>
 <triangle-map>
  ^"2"
  ^"7"
  ^"1"
 </triangle-map>
 <triangle-map>
  ^"7"
  ^"4"
  ^"6"
 </triangle-map>
 <triangle-map>
  ^"6"
  ^"7"
  ^"4"
 </triangle-map>
 <point-map>
  ^"9"
  <list>
   -15451.980469m 
   56954.250000m 
  </list>
  <list>
   168696.531250m 
   1314098.375000m 
  </list>
 </point-map>
 <triangle-map>
  ^"9"
  ^"2"
  ^"8"
 </triangle-map>
 <triangle-map>
  ^"9"
  ^"8"
  ^"4"
 </triangle-map>
 <point-map>
  ^"10"
  <list>
   -16864.001953m 
   34593.703125m 
  </list>
  <list>
   149568.734375m 
   1315266.750000m 
  </list>
 </point-map>
 <triangle-map>
  ^"2"
  ^"7"
  ^"10"
 </triangle-map>
 <triangle-map>
  ^"9"
  ^"2"
  ^"10"
 </triangle-map>
 <triangle-map>
  ^"9"
  ^"10"
  ^"4"
 </triangle-map>
 <triangle-map>
  ^"7"
  ^"10"
  ^"4"
 </triangle-map>
</map> 

このファイルをサーバに認識させれば、マッピングは完成です。
% xl makefile.xl - -


ページトップへ戻る

戻り値

なし。

エラー

参考

バグ



ページトップへ戻る



  GLOBALBASEAI[v\[XE\tgEFAxvOSOURCEFORGE.JPQBĂ܂B SourceForge.jp SourceForge.net Logo