openlayers - 高斯克吕格投影坐标转CGCS大地2000地理坐标

记录一下最近项目上遇到的一个需求,用坐标数据在地图上画出图形来,一个很简单的需求,只是返回的数据不是经纬度,要转换,比较感兴趣,所以记录一下

数据返回的是高斯克吕格投影坐标,openlayers不能直接使用,下面是转换代码

先定义需要转换的坐标并注册

   // 定义投影坐标
      Proj4.defs('EPSG:4527', '+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0         +ellps=GRS80 +units=m +no_defs')
      // 注册 Proj4
      register(Proj4)
      const epsg4527 = getProjection('EPSG:4527')
      const epsg4326 = getProjection('EPSG:4326')

然后使用openlayers的proj4里面的一个方法进行转换

let list = 返回的GeoJSON格式数据
list.features[0].geometry.coordinates[0].map(el => {
        return transform([el[0], el[1]], epsg4527, epsg4326)
})

很简单的一个转换方法,使用到了proj4这个依赖去注册投影坐标,然后进行转换

git地址:https://github.com/OSGeo/proj-datumgrid

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值