ArcGIS api for js GeometryService 对任意坐标系统的坐标转换

如果用的是官方的几何服务,则需要配置代理
如果本地配置了server,将几何服务开启然后域名换为自己的server的域名就可以了

esriConfig.defaults.io.proxyUrl = "/proxy/";
esriConfig.defaults.io.alwaysUseProxy = false;

加载几何服务

var geometryService = new GeometryService("https://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer");

需要转换的原坐标

var spatialReferencfe = new SpatialReference('PROJCS["WGS_1984_GK_Zone_40_3",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",120.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]');
var point = new Point(379283.6502, 3962446.7391, spatialReferencfe);

转换

geometryService.project([point], new SpatialReference(4326), function (p) {
   console.log(p);
});

完整代码

require([
        "esri/SpatialReference",
        "esri/geometry/Point",
        "esri/tasks/GeometryService",
        "esri/config",
        "dojo/domReady!"
    ], function (SpatialReference, Point, GeometryService, esriConfig) {
        esriConfig.defaults.io.proxyUrl = "/proxy/";
        esriConfig.defaults.io.alwaysUseProxy = false;

        var spatialReferencfe = new SpatialReference('PROJCS["WGS_1984_GK_Zone_40_3",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",120.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]');
        var point = new Point(379283.6502, 3962446.7391, spatialReferencfe);

        geometryService.project([point], new SpatialReference(4326), function (p) {
            console.log(p);
        });
    });

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