Precisely
グローバルサイト お問い合わせ
FAQ
MapInfoに関するよくあるご質問になります。

MapInfo Pro™

Professional図形オブジェクト

Q. マップの図形データの座標精度について教えて下さい。

A. MapInfoは、すべての座標を32bit Integerとしてディスク上に保持します。
MapInfoはそれを表示する際、出力する際、投影法変換を行なう際、そしてMapBasicの計算で使用する際、全ての座標を64bit浮動小数に変換して利用しますが、座標として扱われ記録される精度は32bit Integerに基づいており、約20億の値を扱うことができます。(実際には40億ですが、MapInfoでは20億だけ使用できます。)


Earthタイプの.MAPファイルを作成するときは、その座標系に特に明示がなければ妥当なデフォルトのBoundsが使用されます。
Boundsとは、MapInfo投影法パラメータの1つで、投影法の有効領域を表し、このBoundsから座標の精度が決定されます。
例えば、緯度/経度マップでは、経度は-180~180度、緯度は-90~90度まで存在します。MapInfoはこれに対して、
-1,000~1,000度の範囲のBoundsを使います。(領域的には余分な部分がありますが、キリのよい領域を使っています。)
これは(1,000-(-1,000))/20億の精度が提供されることになります。
つまり、2,000度の範囲を20億分割する事ができ、これは0.000001度(約4インチ)となります。
他のEarthタイプの投影法でも、MapInfoは地球全体をカバーするBoundsを使用しています。
これは約1インチの精度を意味しています。

これがデフォルトの投影法を利用すると、1cm単位の精度でデータを扱うことが出来ない理由なのですが、逆にこの投影法のBoundsをより小さく絞り込むことで、有効な精度を高めることが出来ます。
ツールマネージャの「座標系境界管理機能」を使って、各地図の投影法に厳密なBoundsを設定することが出来ます。
例えば、日本しか扱わない地図であれば、地図は地球全体をカバーする必要はありません。
そこでBoundsの経度を120~160度に限定すると、この40度程度の範囲を20億分割出来る計算になります。
必要な範囲のBoundsを設定することで、その範囲内の座標精度を相対的に向上させることが可能となります。


一覧に戻る