当前位置: 首页 > news >正文

OpenLayers 入门指南【二】:坐标系与投影转换

目录

        • 一、什么是坐标系
          • 1. 定义
          • 2. 常用的坐标系
          • 3、坐标系选择
        • 二、投影
          • 1. 为什么要投影?
          • 2. 投影分类
          • 3. 如何进行投影转换
        • 三、总结

一、什么是坐标系

坐标系是用于定义、表示和测量地球表面上要素的空间位置的一种框架。 坐标系提供了一种标准化的方法,用于引用和集成来自各种源的空间数据,并确保要素之间精确的空间关系。 其中包括参考点(原点)、坐标轴(例如纬度和经度或者东距和北距)以及测量单位(例如度、米或英尺)。 GIS 中使用的常见坐标系包括地理坐标系、投影坐标系。

1. 定义
  • 地理坐标系 (Geographic Coordinate Systems):使用经纬度定义球体或椭球体表面上点位置的参考系统
  • 投影坐标系 (Projected Coordinate Systems):投影坐标系将地球表面的三维坐标转换为二维平面坐标,用于制图和地图分析应用。投影坐标系始终基于地理坐标系。由于地球是一个曲面,很难将其完美地投影到平面上,因此不同的投影方法会产生不同的变形(例如,面积、形状、距离或方向的变形)
2. 常用的坐标系
  • WGS84(EPSG:4326):是全球定位系统(GPS)所使用的地理坐标系统和地球参考框架。
    WGS84

  • CGCS2000(EPSG:4490):是中国大地坐标系2000,是中国自然资源部(原中国国家测绘地理信息局)建立的地理坐标系,广泛应用于国家测绘、地理信息系统(GIS)和导航等领域。

CGCS2000

  • GCJ02:也被称为火星坐标系。是国家测绘局为保障地理信息安全开发的加密坐标体系,通过非线性加偏算法对真实地理坐标实施偏移处理,主要用于境内的地理数据。区别于GPS坐标(WGS-84坐标系),是在其基础上进行了加密。
  • BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
  • Pseudo-Mercator(EPSG:3857):又名球形墨卡托或Web墨卡托。是投影坐标系。这是Google Maps和几乎所有其他国外Web制图应用程序使用的坐标系。
3、坐标系选择

坐标系要根据自身项目的要求,地图服务商,网络环境等多种情况结合来判断。

1、项目在互联网环境中,且服务对象为群众或者企业:采用地图服务商坐标系(用百度就选BD09、用高德就GCJ02)。

2、项目在局域内网,服务对象为企业或者政府单位:这个要看服务对象要求,如果服务对象提供了地图服务商,就用地图服务商的坐标系;如果是从零开始,国内的项目建议使用CGCS2000。国外的项目按照服务对象要求使用即可。

二、投影
1. 为什么要投影?

根本原因是由于地球是个是椭球体,球面是无法等距展开为平面,所以转成平面是会存在变形,因此针对不同的使用场景要采用不同的投影类型。那么在实际使用过程中,为了保证数据一致性也需要将不同坐标系下的数据投影到同一个坐标系内进行展示分析。这样才能保证展示与空间分析的准确性。

投影示例

2. 投影分类
  • 变形性质分类

    • 等角投影:投影前后角度不变
    • 等面积投影:投影前后面积不变
    • 任意投影:角度、面积、长度均变形
  • 投影面形状

    • 横圆柱投影:投影面为横圆柱
    • 圆锥投影:投影面为圆锥
    • 方位投影:投影面为平面
  • 投影面位置

    • 正轴投影:投影面中心轴与地轴相互重合
    • 斜轴投影:投影面中心轴与地轴斜向相交
    • 横轴投影:投影面中心轴与地轴相互垂直
  • 切割方法

    • 相切投影:投影面与椭球体相切
    • 相割投影:投影面与椭球体相割

投影分类

投影分类

3. 如何进行投影转换

OpenLayers 代码为例

//需要借助proj4库来实现自定义坐标系,如果不需要自定义坐标系,则可以不使用。
// ol 默认支持EPSG:4326和EPSG:3857坐标系
import proj4 from 'proj4';
import {register} from 'ol/proj/proj4';
// 自定义坐标系
const projConf = [["EPSG:4490", "+proj=longlat +ellps=GRS80 +no_defs"]
]
proj4.defs(projConf);
// 注册坐标系
register(proj4);
// 执行坐标系投影转换,获取新投影坐标系下坐标信息
let newCoord = transform([101,32],'EPSG:4490','EPSG:4545')
三、总结

坐标系与投影转换是 WebGIS 开发的基础核心内容。地理坐标系以经纬度描述地球表面位置,而投影坐标系通过特定数学转换将三维曲面映射为二维平面,二者共同构成空间数据的定位框架。WGS84、CGCS2000 等地理坐标系与 Pseudo-Mercator 等投影坐标系的选择,需结合项目场景(如互联网 / 内网环境、地图服务商标准)综合判断。

OpenLayers开发中,通过 proj4 库可实现自定义坐标系注册与投影转换,这对实现多源数据集成(如不同坐标系的矢量 / 影像数据)起到至关重要的作用。实际应用中,建议优先明确项目数据的坐标系标准,提前规划投影转换流程,以确保空间数据的一致性与分析准确性。

http://www.dtcms.com/a/277309.html

相关文章:

  • 把 DNA 当 PCIe:一条 365 nt 链实现 64 Gbps 片上光互连——基于链式 Förster 共振的分子级波分复用链路
  • 理解 Robots 协议:爬虫该遵守的“游戏规则”
  • MySQL逻辑删除与唯一索引冲突解决
  • M00224-小范围疫情防控元胞自动机模拟matlab
  • 【unitrix】 5.1 第二套类型级二进制数基本结构体(types2.rs)
  • 深入解析Hadoop架构设计:原理、组件与应用
  • OpenLayers使用
  • (2)从零开发 Chrome 插件:实现 API 登录与本地存储功能
  • 音视频学习(三十八):像素与位深
  • 打破并发瓶颈:虚拟线程实现详解与传统线程模型的性能对比
  • QuickUnion优化及Huffman树
  • JS红宝书pdf完整版
  • JAVA生成PDF(itextpdf)
  • 为什么玩游戏用UDP,看网页用TCP?
  • [2025CVPR]GNN-ViTCap:用于病理图像分类与描述模型
  • MyBatis框架进阶指南:深入理解CRUD与参数映射
  • Redis集群方案——哨兵机制
  • 无需付费即可利用AI消除音频噪声和生成字幕
  • 《Linux篇》自动化构建-make/Makefile
  • GraphRAG Docker化部署,接入本地Ollama完整技术指南:从零基础到生产部署的系统性知识体系
  • AI抠图软件,本地运行超快速
  • 水往低处流,人也往低处走
  • 三种网络类型
  • 跨域中间件通俗理解
  • 教程:如何查看浏览器扩展程序的源码
  • Linux驱动11 --- buildroot杂项驱动开发方法
  • 网络资源模板--基于Android Studio 实现的音乐播放器App
  • 【Go语言-Day 19】深入理解Go自定义类型:Type、Struct、嵌套与构造函数实战
  • 系规备考论文:论IT服务知识管理
  • 20250711_Sudo 靶机复盘