坐标转换 - Coordinate

约 639 字大约 2 分钟

经纬度坐标转屏幕坐标

将给定的地图点转换为屏幕点。屏幕点表示相对于视图左上角的像素点。

语法:toScreen(point)

  • point:一个点几何图形。
mapView.toScreen({
  x: 102.92934063304513,
  y: 25.102234987110343,
  spatialReference: {
    wkid: 4326, // WGS-84坐标系
  }
})

常见的一些 WKID:

  • 3857:Web墨卡托投影,用于大多数Web地图应用程序。
  • 4326:WGS84地理坐标系,经纬度坐标系。
  • 102100 / 102200:ArcGIS Online 底图使用的Web墨卡托投影。
  • 3413 / 3031:南极和北极的极面投影。
  • 27700:英国国家格网,适用于英格兰、威尔士和苏格兰。

屏幕坐标转经纬度坐标

将给定的屏幕点转换为地图点。屏幕点表示相对于视图左上角的像素点。

语法:toMap(screenPoint)

  • screenPoint:要转换的屏幕位置(或本地鼠标事件)。
mapView.toMap({
  x: 23342,
  y: 32354
})

投影转换

将几何图形或几何图形数组投影到指定的输出空间参考。

语法:project(geometry, outSpatialReference, geographicTransformation?)

  • geometry:要传入的几何图形。
  • outSpatialReference:要转换几何图形坐标的空间参考。
  • geographicTransformation:用于转换几何图形的地理变换。指定此参数可在默认变换不适合您的要求时投影几何图形。
import * as projection from "@arcgis/core/geometry/projection"

projection.project(polygonGraphic.geometry, { wkid: 4326 })

4326转3857

将几何图形从地理单位(wkid: 4326)转换为Web墨卡托单位(wkid: 3857)。

语法:geographicToWebMercator(geometry)

  • geometry:要传入的几何图形。
import * as webMercatorUtils from "@arcgis/core/geometry/support/webMercatorUtils.js"

webMercatorUtils.geographicToWebMercator(polygonGraphic.geometry)

3857转4326

将几何图形从Web墨卡托单位(wkid: 3857)转换为地理单位(wkid: 4326)。

语法:webMercatorToGeographic(geometry, isLinear?)

  • geometry:要传入的几何图形。
  • isLinear:指示是否使用线性值,即不归一化。默认情况下,此转换方法会对xmin和xmax值进行归一化。如果不需要这样做,请将该值指定为true。默认值为false。
import * as webMercatorUtils from "@arcgis/core/geometry/support/webMercatorUtils.js"

webMercatorUtils.webMercatorToGeographic(polygonGraphic.geometry)

可用于 extent 坐标转换,转换成经纬度坐标范围:

import * as webMercatorUtils from "@arcgis/core/geometry/support/webMercatorUtils.js"

webMercatorUtils.webMercatorToGeographic(mapView.extent)

经纬度坐标转XY坐标

将给定的纬度和经度(十进制度数)值转换为Web墨卡托XY值。

语法:lngLatToXY(lng, lat)

import * as webMercatorUtils from "@arcgis/core/geometry/support/webMercatorUtils.js"

webMercatorUtils.lngLatToXY(121.123452, 31.353223)

XY坐标经转纬度坐标

将给定的Web墨卡托坐标转换为经度和纬度值(十进制度数)。默认情况下,返回的经度是标准化的,以便其在-180和+180之间。

语法:xyToLngLat(x, y)

import * as webMercatorUtils from "@arcgis/core/geometry/support/webMercatorUtils.js"

webMercatorUtils.xyToLngLat(15413, 56334)
上次编辑于: