Конвертировать Long и Lat в координаты XY, используя ArcGis Api For Javascript

1

Привет, я пытаюсь преобразовать длинные значения lat в X, Y, используя ArcGis Api для Javascript

 var i = esri.geometry.lngLatToXY(3.13, 36.742)
 console.log(i); //returns Array [ 348541.32567373366, 4403205.668961807 ]

в какой системе это преобразование происходит? есть ли способ указать проекционную систему?

примечание: преобразование выполняется с десятичной степени на метры

Я последовал за этим: https://developers.arcgis.com/javascript/3/jsapi/esri.geometry.webmercatorutils-amd.html

Теги:
gis
arcgis-js-api

1 ответ

3
Лучший ответ

Этот метод используется для преобразования долготы/широты географической системы координат (wkid 4326) в проецируемую систему координат Web Mercator (wkid 102100).

По умолчанию esri map использует Web Mercator в качестве проекционной системы. Если вам необходимо преобразовать координаты к другой системе координат необходимо использовать project метод GeometryService: 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);
    });
  });

Номера Wkid можно найти здесь:

РЕДАКТИРОВАТЬ

Вот рабочий пример: Plunker

  • 0
    я использую версию 3.22 arcgis js api .. и я изменил: esri / geometry / SpatialReference -> esri / SpatialReference и esri / tasks / support / ProjectParameters -> esri / tasks / ProjectParameters, но у меня есть проблема с GeometryService и Журнал консоли: «TypeError: GeometryService не является конструктором»
  • 0
    @BKam Я отредактировал свой ответ, чтобы исправить и добавить рабочий пример! Это был старый кусок кода, так как я использую JS API 4.x еще.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню