FAQ
ジオデータベースのフィーチャクラスに格納される座標値はどのように計算されているか
ナレッジ番号:2509 | 登録日:2023/05/29 | 更新日:2024/11/21
説明
ジオデータベースのフィーチャクラスの属性テーブルに格納されている座標値は算術演算で求めた結果と異なる場合があります。
ジオデータベースでは、座標値は浮動小数点の値として格納されます。浮動小数点の値は近似値となるため実数とは異なり、また実数による算術演算で求められる結果とは異なります。
このため米国電気電子技術者協会(IEEE)は、IEEE 754と呼ばれる基準を1985年に制定しました。この基準は浮動小数点の値をコンパクトに格納して扱うため扱いが行いやすくなっており、Intel社のプロセッサや多くのPCで使われるプログラムで浮動小数点を扱う場合に採用されています。
IEEE 754 では数字は2進法で格納されることで格納スペースを減らすことが可能となり、またプロセッサで処理可能な2進法での算術演算機能が内蔵されていることから多くのマイクロプロセッサで比較的すばやい処理が行えるようになっています。
しかしながら、非循環小数のように単純な値の場合でも2進法の循環小数に変換されてしまうこと によって確実な精度を保つことができなくなる場合があります。
例えば、1/10 は10 進法の場合には、0.1 という小数として表示することが可能です。同じ番号を2進法の で表すと0.0001100011000111000111... となります。そしてこの数値は上記のように無限に繰り返されるため限られたスペースですべての値を格納すること はできないために、約-2.78E-17 付近で丸められます。
このような理由から浮動小数点の値を数回の算術計算することで得た結果とは異なることがありますが、 これはバイナリデータ間での計算による丸め誤差が蓄積されることで生じた結果です。
メタデータ
種類
製品
バージョン