0

ライブラリ Proj4js を使用して座標を変換しています。座標を EPSG: 23029 から EPSG: 4326 に変換しています。問題は、座標を変換することによって、処理負荷で使用される精度から多少の偏差があることです。これは、座標系を起点から終点へ、またはその逆に変換することでわかりました。変換に使用するコードは次のとおりです。

<script type="text/javascript" src="/proj4js/lib/proj4js-compressed.js"> </ script>
<script type="text/javascript" src="/proj4js/lib/projCode/merc.js"> </ script>
<script type="text/javascript" src="/projCode/tmerc.js"> </ script>
<script type="text/javascript" src="/proj4js/defs/EPSG23029.js"> </ script>
<script type="text/javascript" src="/proj4js/defs/EPSG4326.js"> </ script>

source = new Proj4js.Proj ('EPSG: 23029');
dest = new Proj4js.Proj (map.projection.toString ());

x = feature_selected.geometry.x;
y = feature_selected.geometry.y;

p = new Proj4js.Point (x, y);

p = Proj4js.transform (source, dest, feature_selected.geometry);

両方向に変換すると、原点が同じではありません。

 x1= -6.34378379330039
 y1=  39.48007480688388

 x2= -6.343783791584894
 y2= 39.4800748068322604

誰でもこの問題を解決する方法を知っていますか?

ありがとう。

4

1 に答える 1

3

投影システム間で変換を行うと、常にある程度の精度が失われます。JavaScript エンジンでの浮動小数点演算の制限や、プロジェクション間の変換の可逆性に関する制限など、エラーの原因は多数あります。

一方、ソース データはどこから来ているのでしょうか。小数点以下第 9 位までしか精度が落ちていないことを考えると、ソース データは実際には最初からそれほど正確ではない可能性があります (確かに、通常の GPS ではないか、微分補正されている場合さえあります)。そのため、あまり意味がありません。再投影アルゴリズムで導入されたエラーについて心配しています。

編集:だから、いくつかの計算の後 - 2回の再投影後の誤差は約1/10ミリメートルです。実際のアプリケーションでこれを改善しようとする価値があるとは思えません。

于 2010-11-18T21:16:17.787 に答える