天天看点

arcgis api 坐标数值转换的问题

       由于项目需求,需要使用二三维地图的联动功能。参考了这篇文章https://blog.csdn.net/leftfist/article/details/78305141

       但是二三维数据的坐标参考不一致,三维是WG484的经纬度坐标,二维的是CGCS2000下的高斯投影3度分带坐标。所以面临的一个首要问题就是坐标数值转换的问题。参考https://blog.csdn.net/jxdnsong/article/details/54409570文章使用ARCGIS  API的函数进行转换,因为题主是两个地理坐标的互转,不涉及到投影坐标,所以需要将投影代码改成我需要的。在传值的时候将其包装成对象传递进去就可以了。(之前以数值的形式传递,导致没有出来任何结果,一度认为是美国人不使用高斯投影的缘故QAQ)。

function GeoProject(inGeometries, outSR, callback) {
    if (inGeometries && inGeometries.length > 0) {
        var params = new esri.tasks.ProjectParameters();
        params.geometries = inGeometries;
        params.outSR = outSR;
        params.transformForward = true; //向前转换
       var geometryService = esriConfig.defaults.geometryService ? esriConfig.defaults.geometryService : new esri.tasks.GeometryService(geoserviceURL);
        map_2d.contentWindow.geometryService.project(params, callback);
    }
}
           

就是这个OUTSR参数, 需要  var outSR = new esri.SpatialReference(4545);而不是 var outSR=4545;哟!