坐标转换 - Coordinate

约 961 字大约 3 分钟

经纬度坐标转屏幕坐标

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

语法: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)

EPSG:3857 (Web Mercator)

  • 全名:Web Mercator
  • 坐标系:平面坐标系
  • 单位:米
  • 用途:主要用于网络地图服务(如 Google Maps、OpenStreetMap 等),以支持快速的地图渲染和缩放。
  • 特点
    • 采用墨卡托投影,将地球表面投影到平面上。
    • 在赤道附近较为准确,但在极地区域会产生较大的变形。
    • 适合于小范围的地图应用,不适合大范围的测量或分析。

900913 是一个与 Web Mercator 投影相关的术语,通常用于表示 EPSG:3857 坐标系统。这个数字是 "Google" 的字母对应的数字编码(在某些字母与数字的对应中,G=7,O=15,O=15,G=7,L=12,E=5),并且它也被用作 Web Mercator 的一个别名。

EPSG:4326 (WGS 84)

  • 全名:World Geodetic System 1984
  • 坐标系:地理坐标系
  • 单位:度(经度和纬度)
  • 用途:广泛用于全球定位系统(GPS)和许多地理信息系统(GIS)应用。
  • 特点
    • 使用经度和纬度表示位置,适合于全球范围的地理数据。
    • 提供全球统一的坐标参考,能够准确表示地球表面的点。
    • 在进行空间分析和测量时,常常需要将其转换为平面坐标系(如 EPSG:3857)。
上次编辑于: