龙岩网站建设加盟,wordpress文章编辑软件,沈阳网是什么公司,打开网站弹出广告js坐标系介绍 EPSG: 3857 --web地图#xff0c;基于球体的、web墨卡托投影#xff08;伪墨卡托投影Pseudo-Mercator#xff09;的投影坐标系#xff0c;范围为纬度85度以下#xff0c;由于google地图最先使用而成为事实标准。至今#xff0c;大多互联网地图都使用EPSG3857基于球体的、web墨卡托投影伪墨卡托投影Pseudo-Mercator的投影坐标系范围为纬度85度以下由于google地图最先使用而成为事实标准。至今大多互联网地图都使用EPSG3857主要是因为该投影是等角投影适合地图定向及导航但是纬度越高面积变形越大。 EPSG: 4326 --全球通用基于WGS84椭球的经纬度坐标系大地坐标系在 EPSG: 4326 坐标系中经度表示位置的横向偏移量范围为 -180 到 180单位是度纬度表示位置的纵向偏移量范围为 -90 到 90单位也是度。 // 初始化地图配置this.map new Map({target: this.mapDom, // 地图容器view: new View({center: [121.70185, 31.298777], // 地图中心点zoom: 15,minZoom: 14,maxZoom: 18,projection: EPSG:4326, // 椭球extent: this.extent, // 限定范围}),
地图上的点是何坐标系 以 EPSG:4326 椭球坐标系为例 1.监听地图的事件得到的点位信息
如
this.map.on(click, function()) // 点击
this.map.on(pointermove, function()) // 鼠标指针移动
得到的都是EPSG: 4326坐标系下的信息。
2.交互式绘制 interaction 的 draw 绘制出的圆形并不会考虑当前地图的椭球坐标系。这是因为 draw 方法默认使用的是平面坐标系而不是地球的椭球坐标系。 3.圆形、多边形的坐标系转换
import * as turf from turf/turf;// 假设你已经通过 draw 方法绘制了一个圆形对象 circleFeature// 获取绘制的圆形对象的几何信息
var geometry circleFeature.getGeometry();// 将几何信息转换为椭球坐标系
var coords geometry.getCoordinates();
var circleOnEllipse turf.toWgs84(coords);// 创建一个新的圆形对象使用椭球坐标系
var circleFeatureOnEllipse new Feature({geometry: new GeoJSON().readGeometry(circleOnEllipse)
});// 将新的圆形对象添加到矢量源中
vectorSource.addFeature(circleFeatureOnEllipse); 4.单点的坐标系转换
import * as turf from turf/turf;const x1 123; // 假设的x坐标
const y1 45; // 假设的y坐标
const sourceCRS EPSG:3857; // 源坐标系墨卡托投影坐标系
const targetCRS EPSG:4326; // 目标坐标系经纬度坐标系WGS84// 创建一个点要素
const point turf.point([x1, y1]);// 进行坐标转换
const transformedPoint turf.transformRotateScaleTranslate(point,0, // 旋转角度1, // 缩放比例[0, 0], // 平移向量sourceCRS,targetCRS
);// 提取转换后的坐标
const [longitude, latitude] turf.getCoord(transformedPoint);console.log(经度:, longitude);
console.log(纬度:, latitude);