坐标转换 - 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)。