Análisis completo del sistema de coordenadas Openlayers.

1. Conversión de coordenadas entre EPSG:4326 y EPSG:3857

import {
    
    transform} from 'ol/proj';//导入方法
//EPSG:3857 转 EPSG:4326
transform([12202419, 4469830],"EPSG:3857","EPSG:4326")

//EPSG:4326 转 EPSG:3857
transform([109.6162, 37.2201],"EPSG:4326","EPSG:3857")
      

2. Sistema de coordenadas personalizado de Openlayers (EPSG:4490 y EPSG:4525)

import proj4 from 'proj4'
transform([4107376, 37379693],"EPSG:4525","EPSG:4490")

3. Sistema de coordenadas proyectadas personalizado de Openlayers (EPSG: 4542), GeoJSON lee geometría y conversión de coordenadas

Ideas:
1. Obtener todas las características,
2. Declarar una variable temporal para guardar todas las características
3. Luego llamar a convert2000CoorTo84 para convertir
4. Luego enviar el valor convertido a la variable temporal 5.
Devolver una coordenada convertida La geometría
define la conversión función:
1. Importar proj4

import proj4Tool from 'proj4'
import {
    
     register } from 'ol/proj/proj4';
import GeoJSON from 'ol/format/GeoJSON';

2. Definir la EPSG extendida

defineExtarProject() {
    
    
    proj4Tool.defs([
      [
        'EPSG:4543',
        '+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs'
      ],
      [
        'EPSG:4542',
        '+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs'
      ],
      [
        'EPSG:26713',
        '+proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs'
      ]
    ]);
    register(proj4Tool);
  }

4. Lea los datos y convierta el sistema de coordenadas.

  _readGeometryFromGeojson(geoJson, orgEpsg="EPSG:4326") {
    
    
    if (typeof (geoJson) === 'string') {
    
    
      try {
    
    
        geoJson = JSON.parse(geoJson)
      } catch (error) {
    
    
        console.log('convert data ...', error)
      }
    }
    var geojsonFeature = new GeoJSON().readFeature(geoJson, {
    
    
      dataProjection: orgEpsg, // 元数据的投影坐标
      featureProjection: "EPSG:4326" //规定要素以哪种坐标显示
    });
    return geojsonFeature;
  }

5. Obtener datos

// 调用后台接口获取到geojson
axios.get('/getGeojson').then(geojson=>{
    
    
	this._readGeometryFromGeojson(geojson, 'EPSG:4542');
}).catch(err=>{
    
    
	console.log(err)
})
``

おすすめ

転載: blog.csdn.net/qq_37489791/article/details/130195036