2 votos

Conversión de la coordenada Lambert II (WGS84) a coordenada geográfica (lat lng) mediante la API de ESRI

Estoy utilizando la API de esri y me encuentro con un problema para convertir las coordenadas Lambert II en coordenadas geográficas.

Por ejemplo: x : 633951 y : 1959059.

He tratado de usar webMercatorUtils así :

webMercatorUtils.xyToLngLat(X, Y);

Pero devuelve la coordenada equivocada.

También intenté convertir por la clase Punto así :

let mypoint = new Point(this.bassinCoord[i].xLieu, this.bassinCoord[i].yLieu, new SpatialReference({ wkid: 27582})) ;

Utilizo el wkid para Francia : cf : http://resources.esri.com/help/9.3/arcgisserver/apis/rest/pcs.html

Aquí está mi código completo :

        while (i < this.bassinCoord.length) {
          let mypoint = new Point(X, Y, new SpatialReference({ wkid: 27582}));
          let radius = radius;
          let normalizedVal = webMercatorUtils.xyToLngLat(X, Y);
          let circle = new Circle({
            center: mypoint,
            radius: radius
          });
          let graphic = new Graphic(circle, symbol);
          gl.add(graphic);
          i++;
        }

No quiero utilizar una biblioteca externa que no sea Esri (si es posible).

1voto

user21012 Puntos 21

Tienes dos opciones.

  1. utilizar un GeometryService y hacer una petición web para reproyectar su punto de entrada.

  2. utilizar algo como Proj4js :

    var wkid4269 = '+proj=longlat +a=6378137.0 // ...;  
    var wkid26912 = '+proj=utm +zone=12 +ellps=GRS80 // ...;  
    
    map.on("mouse-move", function(evt) {
        proj4(wkid26912, wkid4269, [evt.mapPoint.x, evt.mapPoint.y]); 
    });

escribí un blog titulado Utilice Proj4js junto con la API de ArcGIS para JavaScript para reproyectar coordenadas sobre la marcha con más información hace unos años.

0voto

theomega Puntos 8874

Puede utilizar los métodos .getLatitude y .getLongitude de la clase Point para devolver coordenadas en unidades geográficas si la referencia espacial del punto es Web Mercator o Geográfica (4326) .

let x = mypoint.getLatitude();
let y = mypoint.getLongitude();

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X