前端实现坐标系转换

一、地理坐标系和投影坐标系

地理坐标系和投影坐标系是地理信息系统(GIS)中常见的两种坐标系统,它们用于描述和定位地球表面上的点和区域,但在实现方式和应用场景上有所不同。

1. 地理坐标系(Geographic Coordinate System,GCS)

地理坐标系使用经度(Longitude)和纬度(Latitude)来定义地球表面上的位置。这些坐标是以角度为单位表示的,通常使用度(°)、分(′)、秒(″)或十进制度(decimal degrees)来表示。地理坐标系通常基于地球的几何形状,如椭球体或椭球体修正模型(如WGS84),以及基准点(如赤道或某个标准子午线)。

特点:

  • 使用角度来表示位置,经度和纬度分别表示东西方向和南北方向。
  • 地理坐标系适合全球范围内的位置描述和数据交换,如GPS定位等。

常见的地理坐标系包括:

  • WGS84(World Geodetic System 1984)是一种广泛使用的地理坐标系统,用于描述全球范围内地球表面上的位置。全球定位系统使用的地理坐标系。
  • CGCS2000(China Geodetic Coordinate System 2000)代码(EPSG:4490):是中国采用的地理坐标系。它基于国际标准WGS84(EPSG:4326),但做了一些本地化的适应和调整,以更好地反映中国地区的地理信息。
  • GCJ-02 (火星坐标系):由中国国家测绘地理信息局(National Administration of Surveying, Mapping and Geoinformation)制定的加密坐标系统,用于限制在中国国内的地图和位置服务的精确度。需要注意的是,GCJ-02是一种加密坐标系,因此其坐标不能直接用于国际标准WGS84坐标系的数据交换。
  • BD-09 (百度坐标系):百度地图使用的坐标系,基于GCJ-02坐标系。BD-09坐标系通常用于百度地图API和相关应用中,但在WebGIS开发中,如果需要与其他数据源或标准坐标系交互,可能需要进行坐标转换。

在中国的WebGIS开发中,通常会根据具体需求和数据来源选择合适的地理坐标系。WGS84和CGCS2000是最常见和广泛使用的两种地理坐标系,特别是在涉及到全球位置信息和国内地图数据的处理时。

2. 投影坐标系(Projected Coordinate System,PCS)

投影坐标系是将地球的三维表面投影到平面上的方法。由于地球是一个三维椭球体,为了在平面地图上更准确地表示地球表面的形状和特征,需要使用投影坐标系进行投影转换。投影坐标系使用投影方法(如墨卡托投影、克吕格投影等)将地理坐标转换为平面坐标,通常以米或英尺为单位。

特点:

  • 使用平面坐标来表示位置,通常以米或英尺为单位。
  • 投影坐标系适合于局部地图的制图、测量和空间分析。

常见的投影坐标系包括:

  • 墨卡托投影(EPSG:3857):用于Web地图的常见投影。
  • UTM坐标系(通用横轴墨卡托投影):全球划分为60个纵向带,用于局部地区的精确制图和测量。
  • 高斯-克吕格投影:在某些国家和地区中使用的平面投影,如EPSG:27700(British National Grid)。

3. 总结

        地理坐标系和投影坐标系在GIS中扮演着不同的角色:地理坐标系提供了全球范围内位置的标准描述,而投影坐标系则将地球表面的曲面投影到平面上,以便于地图制图和分析。选择合适的坐标系取决于数据的来源、使用的地图投影以及需要进行的空间分析和测量任务。

二、开发中常见的坐标系及其代码

EPSG(http://www.epsg.org):European Petroleum Survey Group,欧洲石油调查组织(你没看错),该组织负责专门维护地球上所有的测量坐标系统(找石油),并且给每组坐标系统都赋予了一个编号和一组描述(WKT),比如大家常用的WGS84坐标系编号就是EPSG:4326,再比如互联网地图(谷歌、高德等)常用的伪墨卡托投影编号就是EPSG:3857。(关于常用的坐标系统以后的文章会单讲)可以理解成EPSG给大家维护了无数把尺子,并且给每把尺子搞了个编号,还标明了这把尺子适合什么条件下用。

坐标系代码坐标系备注
EPSG:4326WGS84地理坐标系(国际标准)
EPSG:4490CGCS2000地理坐标系(中国标准)
EPSG:4527CGCS2000 / 3-degree Gauss-Kruger zone 27地理坐标系
EPSG:4548ETRS89地理坐标系
EPSG:3857Web墨卡托投影(Web Mercator)投影坐标系

可以在:https://epsg.io/  网站(需要加速器可以)查看EPSG有关的坐标系信息,坐标系使用的范围,以及使用proj4转换坐标系的参数

三、常用地图框架默认使用的坐标系

作为专业的GISer来说,我们开发中最常用的都是国外的地图框架,一般都采用WGS84标准。 

前端框架坐标系代码
MapboxWGS84坐标系EPSG:4326
LeafletWGS84坐标系EPSG:4326
CesiumWGS84坐标系EPSG:4326
高德地图火星坐标系(GCJ-02坐标系)无EPSG代码
百度地图

四、Vue前端实现坐标系转换

当前开发常遇到的两个问题: 

  • 在我国的坐标系标准为CGCS2000(EPSG:4490)坐标系,在开发任务中使用的地图框架几乎都是国外的,而国外的标准坐标系为EPSG:4326,因此CGCS2000和WGS84坐标系之间的转换是首要的工作。
  • 移动端开发通常使用高德地图的API,移动端火星坐标系(GCJ-02)和WGS84坐标系之间的转换。

前端常用的坐标系转换工具proj4 npm地址:https://www.npmjs.com/package/proj4

安装proj4

npm i proj4

 在代码中使用proj4

参考文章:

https://www.cnblogs.com/haolb123/p/16553010.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python pdfplumber库:轻松解析PDF文件

Python pdfplumber库:轻松解析PDF文件 1. 安装2. 基本概念3. 使用场景和示例代码3.1 提取文本3.2 提取表格数据3.3 获取图像信息3.4 分析页面布局3.5 搜索特定文本 4. 总结 在处理PDF文件时,我们经常需要提取文本、图像或表格数据。Python的pdfplumber库为这些任务提…

长安链安装及使用问题

1. 关于golang编译出错: Get “https://proxy.golang.org/chainmaker.org/chainmaker/common/v2/v/v2.2.0.mod“: dial 在网上查阅资料后发现是自己的golang版本太低(1.3一下),因为goalng在最初开发时,国内基本上都会遇到依赖下载不了的问题, 然而在1.3版本后,go…

简单分享下python的Fuk库

目录: 一、Fuk 简介 二、安装和引入 fuk,使用 pip 安装 fuk 库 三、Fuk的应用场景,网络爬虫 四、总结 一、Fuk 简介 fuk 是一个用于处理 Python 数据结构的库,全称为 "Fast and Uncomplicated Kit"。它提供了一系列高效…

前端代码优化之布尔条件判断太长的处理

我们在开发过程中,有时候会遇到多个布尔值条件判断的情况,目前我们项目里的写法大多都是将各种判断糅杂在一起,这样非常不利于阅读和维护。这里给大家推荐下谷歌官方的处理方式。主要有两种优化方案。 例如,一个判断条件如下&…

【CentOS 7.6】Linux版本 portainer本地镜像导入docker安装配置教程,不需要魔法拉取!(找不着镜像的来看我)

吐槽 我本来根本不想写这篇博客,但我很不解也有点生气,CSDN这么大没有人把现在需要魔法才能拉取的镜像放上来。 你们都不放,根本不方便。我来上传资源。 portainer-ce-latest.tar Linux/amd64 镜像下载地址: 链接:h…

C# --- 在项目中使用Attribute + Reflection

C# --- 使用Attribute Reflection的例子 背景如何定义和执行TestCase 背景 E2E是对workflow的测试,将所有E2E test case定义在一个可执行程序里(exe), 定时自动运行 如何定义和执行TestCase 将需要执行的TestCase包装成一个类,并将TestCase分成几个Step…

Chapter11让画面动起来——Shader入门精要学习笔记

Chapter11让画面动起来 一、Unity Shader中的内置变量(时间篇)二、纹理动画1.序列帧动画2.滚动背景 三、顶点动画1.流动的河流2.广告牌3.注意事项①批处理问题②阴影投射问题 一、Unity Shader中的内置变量(时间篇) Unity Shader…

东北财税之星:董女士的家乡创业记

乐财业智慧财税赋能平台,是一个帮助财税机构专业提升、业务增长,让财税生意更好做的综合赋能平台。聚焦财税公司业绩增长,预计2027年帮助2000家财税合伙人利润增长300%,致力打造轻量化、批量化、智能化的”业财税“一体财税服务生…

ARCGIS PRO 要素标注

一、普通模式 1、标注:名称和面积(无分数线) 语言:Arcade $feature.QLR \nRound($feature.Shape_Area,2) 语言:vbscript [QLR] & " " & Round([Shape_Area],2) 2、标注:名称…

ChatGPT如何提升论文写作(附指令集合)

先讲前提: ChatGPT无论是3.5还是4.0都存在非常严重的幻觉问题,目前ChatGPT无法替代搜索引擎。 如果你希望得到更加优质的体验,请用GPT-4.0,幻觉问题上比3.5大幅降低 ChatGPT中文版,一站式AI创作平台​aibox365.com …

Python | Leetcode Python题解之第203题移除链表元素

题目: 题解: # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def removeElements(self, head: ListNode, val: int) -> Li…

因版本冲突导致logback的debug日志不打印

因框架调整,降级了logback的版本号,由1.3.12降级为1.2.11(因框架限制,只能采用1.2版本),降级后发现debug日志无法打印出来,logback.xml配置文件不生效。后排查发现是与slf4j的版本兼容问题 依赖…

一种频偏估计与补偿方法

一种简易的频偏估计补偿方法,使用QAM等信号。估计精度受FFT长度限制,可以作为粗频偏估计。 Nfft 1024; % FFT长度 N 10*Nfft; % 仿真符号数 M 16; % 调制QAM16 freq 1e…

如何在window 10 服务器上安装Git服务--Gitblit适合小团队

在Windows Server上安装Git服务通常指的是安装一个可以被网络中的其他用户访问的Git服务器。Git本身是一个分布式版本控制系统,但是为了便于团队协作,通常会部署一个中心化的Git服务器,如GitLab、GitHub Enterprise、Gitea、Gitblit等。 这里…

Java中的高级异常处理与日志记录

Java中的高级异常处理与日志记录 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java开发中,异常处理和日志记录是两个至关重要的方面。良好的异…

如何选择视频号矩阵系统源码:关键要素与决策指南

在短视频和直播内容迅速崛起的今天,视频号矩阵系统源码成为了企业和个人创作者高效管理视频内容的重要工具。选择合适的视频号矩阵系统源码,可以极大提升内容发布的效率和质量,同时优化用户体验。本文将提供一套选择视频号矩阵系统源码的指南…

MYSQL篇二:数据库的操作

文章目录 1. 创建数据库1.1 查看数据库列表1.2 创建与删除数据库 2. 数据的编码问题3. 字符集和校验规则3.1 查看系统默认字符集以及校验规则3.2 查看数据库支持的字符集3.3 查看数据库支持的字符集校验规则3.4 校验规则对数据库的影响 4. 操纵数据库4.1 查看当前是哪一个数据库…

小程序渗透测试的两种方法——burpsuite、yakit

首先呢主要是配置proxifier,找到小程序的流量,然后使用burpsuite或者yakit去抓包。 一、使用burpsuiteproxifier的抓包测试 1、先配置proxifier,开启http流量转发 勾选确定 2、配置burp对应代理端口,选择profile,点…

java自带工具对象转xml

java自带工具对象转xml,工具是jaxbContext,不废话,直接上代码 java对象 package com.configure.util;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.xml.bind.annotation.XmlAccessType; impo…

《梦醒蝶飞:释放Excel函数与公式的力量》8.7 STDEV函数

8.7 STDEV函数 STDEV函数是Excel中用于计算一组数值的标准偏差的函数。标准偏差是统计学中的一个重要指标,用于衡量数据集中各数值偏离平均值的程度。它反映了数据的离散程度或波动大小。 8.7.1 函数简介 STDEV函数用于返回样本数据的标准偏差,标准偏…