Kal*_*ium 1 javascript gis arcgis-js-api
您好,我正在尝试使用ArcGis Api For Javascript将较长的经度值转换为X,Y
var i = esri.geometry.lngLatToXY(3.13, 36.742)
console.log(i); //returns Array [ 348541.32567373366, 4403205.668961807 ]
Run Code Online (Sandbox Code Playgroud)
转换在什么系统上进行?有没有指定投影系统的方法?
注意:转换是从十进制度到米
我遵循了这个:https : //developers.arcgis.com/javascript/3/jsapi/esri.geometry.webmercatorutils-amd.html
此方法用于将地理坐标系的经度/纬度(wkid 4326)转换为投影坐标系Web Mercator(wkid 102100)。
默认的esri地图使用Web Mercator作为投影系统。如果需要将坐标转换为其他坐标系,则需要使用projectGeometryService 的方法:https :
//developers.arcgis.com/javascript/3/jsapi/geometryservice-amd.html
例:
require(["esri/geometry/Point", "esri/tasks/GeometryService", "esri/tasks/ProjectParameters", "esri/SpatialReference", "dojo/domReady!"],
function(Point, GeometryService, ProjectParameters, SpatialReference) {
var outSR = "YOUR_OUTPUT_COORDINATE_SYSTEM"; // `wkid {number}`
var geometryService = new GeometryService("https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
var inputpoint = new Point({
longitude: "YOUR_LONGITUDE_INPUT",
latitude: "YOUR_LATITUDE_INPUT"
});
var projectParams = new ProjectParameters();
projectParams.geometries = [inputpoint];
projectParams.outSR = new SpatialReference({ wkid: outSR });
geometryService.project(projectParams, (result) => {
let outputpoint = result[0]; // outputpoint first element of result array
console.log("Result x:", outputpoint.x, "y :", outputpoint.y);
});
});
Run Code Online (Sandbox Code Playgroud)
Wkid号码可以在这里找到:
投影坐标系:http : //resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Projected_coordinate_systems/02r3000000vt000000/
地理坐标系:http : //resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Geographic_coordinate_systems/02r300000105000000/
编辑
这是一个工作示例:Plunker
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |