(@_@;)我是程序猿,我编程,我快乐,知识改变命运,技术成就梦想   oh yeah!合作VX "w6668263" 联系Email:ye583025823@126.com

openlayers 坐标转换

tranform与fromLonLat、toLonLat的区别

 

  • 有关坐标转换的包都在ol/proj中
  • 其中EPSG:3857和EPSG:4326坐标系之间的转换有transform、fromLonLat、toLonLat
  • fromLonLat是将EPSG:4326转换为EPSG:3857;
  • toLonLat是将EPSG:3857转换为EPSG:4326
  • transform([坐标], 'EPSG:3857', 'EPSG:4326');

 

transform的用法是

transform([坐标], 'EPSG:3857', 'EPSG:4326');

transform([坐标], 'EPSG:4326', 'EPSG:3857');
  • transform的转换和fromLonLat、toLonLat的区别是:transform转换之后的经度可能是几千,而toLonLat转换之后的经度位于[-180, 180]之间。
  • 因为地图是不断拓展的,一个地方一直往右拖,同一个地方的经度是±360的变化

 

数据源转换坐标

const source = new ol.source.Vector({
    format: new ol.format.GeoJSON({
        defaultDataProjection: 'EPSG:4326'
    })
})

批量转一组数据

new MultiPolygon(coordinates).transform('EPSG:4326','EPSG:3857')

GeoJSON 转换

new GeoJSON().readFeature(geoJson, {
    dataProjection: 'EPSG:4326', // 元数据的投影坐标
    featureProjection: "EPSG:3857" //规定要素以哪种坐标显示
})

 

posted on 2023-02-23 14:33  一个草率的龙果果  阅读(300)  评论(0编辑  收藏  举报

导航