Javascript 使用proj4js转换坐标时的精度错误

Javascript 使用proj4js转换坐标时的精度错误,javascript,coordinates,proj,proj4js,Javascript,Coordinates,Proj,Proj4js,我正在使用库Proj4js来转换坐标。我正在将坐标从EPSG:23029转换为EPSG:4326。问题在于,通过变换坐标,与处理负载中使用的精度存在一定偏差。我通过将坐标系从原点转换到目标,以及从原点转换到目标,注意到了这一点。我用来进行转换的代码是: <script type="text/javascript" src="/proj4js/lib/proj4js-compressed.js"> </ script> <script type="text/javas

我正在使用库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);
有人知道如何解决这个问题吗


谢谢

在投影系统之间转换时,总是会失去一些精度。有许多错误源,包括JavaScript引擎中浮点运算的限制以及投影之间转换的可逆性

另一方面,您的源数据来自哪里?考虑到您只会在小数点后第九位处丢失精度,很可能您的源数据一开始就没有那么精确(当然不是您通常的GPS,甚至不是差分纠正的),因此没有必要担心重投影算法中引入的错误


编辑:所以,经过一些计算-两次重新投影后的误差约为1/10毫米。我非常怀疑,对于任何实际应用程序来说,在这一点上进行改进都是值得的。

在投影系统之间转换时,您总是会失去一些精度。有许多错误源,包括JavaScript引擎中浮点运算的限制以及投影之间转换的可逆性

另一方面,您的源数据来自哪里?考虑到您只会在小数点后第九位处丢失精度,很可能您的源数据一开始就没有那么精确(当然不是您通常的GPS,甚至不是差分纠正的),因此没有必要担心重投影算法中引入的错误

编辑:所以,经过一些计算-两次重新投影后的误差约为1/10毫米。对于任何实际应用程序,我都高度怀疑是否值得在这方面进行改进

 x1= -6.34378379330039
 y1=  39.48007480688388

 x2= -6.343783791584894
 y2= 39.4800748068322604