ArcGIS JS API 坐标变换

需求描述

        在做项目的时候,甲方提供的基础地图服务是高斯投影坐标,数据库的业务数据是西安80或wgs84地理坐标,于是找到基于GeometryService的解决方法。

处理shapefile

        创建一个 点 shapefile,文件名XiAn80_Geo,坐标系选择 GCS_Xian_1980({wkid:4610})地理坐标系,并创建一个点(120.101099, 36.010338)(该shapefile只有一个点要素),把XiAn80_Geo坐标变换(数据管理工具–投影和变换–要素–投影)为 Xian_1980_3_Degree_GK_CM_120E({wkid:2385})的shapefile,文件名XiAn80_Pro 。对两个shapefile进行计算几何运算,获取其 X Y坐标。
在这里插入图片描述

使用arcgis js api验证

        核心代码

            require([
                'esri/SpatialReference',
                'esri/geometry/Point',
                'esri/tasks/GeometryService',
                'esri/tasks/ProjectParameters',
            ], function (SpatialReference,
                         Point,
                         GeometryService,
                         ProjectParameters) {
                var param=new ProjectParameters();  //120.101099, 36.010338就是上图中XiAn80_geo图层中的点的坐标
                var pt = new Point(120.101099, 36.010338,new SpatialReference({wkid:4610}));
                var outSr=new SpatialReference({wkid:2385})
                param.geometries=[pt];  //设置坐标转换的点
                param.outSR=outSr;      //要转换的结果坐标系
                var geometryService = new GeometryService('http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer');
                geometryService.project(param,function(res){
                    console.log(res)
                },function (err) {
                    console.log(err);
                })
            });

在这里插入图片描述


版权声明:本文为shijie_nihao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。