webgis的坐标转换


先引入(leaflet+proj)
在这里插入图片描述

1、经纬度→自定义

transformProj:function(lonlat) {//坐标转换:经纬度 --> 自定义 将经纬度epsg:4326转为epsg:2333
  var point=L.latLng(lonlat[1],lonlat[0]);//注意纬度在前
  var firstProjection = "EPSG:2333";//目的坐标系
  var secondProjection ='+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs';//secondProjection为目的坐标系的属性(可在config-epsg.js中查找对应坐标系相关信息)
  var CRS_2333=new L.Proj.CRS(firstProjection,secondProjection)
  var point_new = CRS_2333.project(point);
  return point_new;
},

2、自定义→经纬度

transformProj:function(lonlat) {//坐标转换:自定义 --> 经纬度 将经纬度epsg:4509转为epsg:4326
  var point=L.latLng(lonlat[1],lonlat[0]);//注意纬度在前
  var firstProjection = "EPSG:4509";//
  var secondProjection ='+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs';//secondProjection为4509坐标系的属性(可在config-epsg.js中查找对应坐标系相关信息)
  var CRS_4509=new L.Proj.CRS(firstProjection,secondProjection)
  var point_new = CRS_4509.project(point);
  return point_new;
},

3、对坐标进行批量转换

for (let i = 0; i < polygons.length; i++) {
   var point = this.transformProj([polygons[i].lng,polygons[i].lat]);
       range.push({x:point.x,y:point.y})
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值