地理坐标系、空间坐标系、epsg查询网站

坐标系可用范围和详细信息的查询网站

简介

epsg.ruiduobao.com是一个可以查询gdal中所有坐标系信息的网站,可查询到坐标系的基准面、椭球体、中央子午线等相关信息,并对每个坐标系的可用范围在地图中进行了显示。详细信息可以看操作视频:

epsg查询

技术路线选择

该网站我是使用的vue 3开发的网页界面,element-plus构建网页组件,openlayer展示地图,express提供后端API,vercel进行在线部署。

python获取所有坐标系

想要展示所有坐标系,那需要先获取坐标系,怎么获取了?可以读取gdal,也可以读取其他库,这里我使用了地理与气象分析包gma导出坐标系的相关信息,代码如下:

import json
import os
from multiprocessing import Pool, cpu_count
from gma import crsdef process_crs(CRS_ID):try:SR = crs.SpatRef(CRS_ID)CRS_information_dict = {"CRS_ID": CRS_ID,"Name": SR.Name,"AreaOfUse": SR.AeraOfUse,"PlotAeraOfUse": SR.PlotAeraOfUse,"Search_infomation": str(CRS_ID) + SR.Name.replace(" ", ""),"PROJJSON": json.loads(SR.Export('PROJJSON'))}return CRS_information_dictexcept Exception as e:return Nonedef save_to_json(data, filename):with open(filename, 'w') as json_file:json.dump(data, json_file, indent=4)def main():# 获取系统的 CPU 核心数量num_cores = cpu_count()print(f"Using {num_cores} cores.")# 创建一个进程池with Pool(processes=num_cores) as pool:# map 函数将 CRS_ID 范围分配给进程池中的进程results = pool.map(process_crs, range(1, 50000))# 过滤掉处理过程中返回 None 的结果filtered_results = [crs_info for crs_info in results if crs_info is not None]# 将所有CRS信息的列表转换为JSON格式的字符串CRS_information_json = json.dumps(filtered_results, indent=4)# 保存到文件CRS.json中output_path = 'crs坐标系处理//CRS.json'save_to_json(filtered_results, output_path)if __name__ == '__main__':main()

基于这个代码,我们就能获取到坐标系的原始信息,并且将各个坐标系的属性信息写入了json文件中。json文件已上传到github仓库中,感兴趣的可以自己下载一下。

搭建网站前端

网站的前端我使用了vue3框架+element-plus组件+vite+pinia状态管理+openlayer搭建地图界面。都是无关遥感地信的知识,我这里就不多介绍了。

前端路线选择

最后,为了练手,我还加了一个中英文字典进行网页的语言切换,搭建起来的网页长这样:


为了方便大家使用底图,我添加了7种高分辨率的遥感底图(星图、esri、必应、吉林、google(需要有条件的同学才能用)、mapbox等。

搭建网站后台

网站后台使用的express,只开发了一个API接口,是用来处理前端发送EPSG数字,后端收到后开始查询,再把查询到的信息发送给前端。

另外,开发过程我用了swagger,能比较方便的测试API。

总结

epsg.ruiduobao.com是一个完全开源、免费、无需登陆的坐标系查询网站,欢迎大家使用。

其他

下面这些是我做过的遥感地信相关领域的开源项目,欢迎大家在GitHub上标星:

名称网址GitHub仓库
中国长时间序列省市县数据CTAmapwww.shengshixian.comhttps://github.com/ruiduobao/shengshixian.com
空间数据介绍网www.gisrsdata.comhttps://github.com/ruiduobao/gisrsdata.com
土地覆盖和DEM数据下载网www.landcover100.comhttps://github.com/ruiduobao/landcover100
省市县乡村五级区划查询下载网map.ruiduobao.comhttps://github.com/ruiduobao/gaode_MAP_CUN
epsg坐标系查询网站epsg.ruiduobao.comhttps://github.com/ruiduobao/epsg.ruiduobao.com

参考

网站源码和坐标系json文件.https://github.com/ruiduobao/epsg.ruiduobao.com

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

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

相关文章

Postgresql体系结构

client连接PostgreSQL过程: 1、客户端发起请求 2、主服务postmaster进程负责服务器是否接受客户端的host通信认证,服务器对客户端进行身份鉴别 3、主服务进程为该客户端单独fork一个客户端工作进程postgres 4、客户端与postgres进程建立通信连接&#xf…

1-3 动手学深度学习v2-线性回归的从零开始实现-笔记

手动创建训练数据集 根据带有噪声的线性模型构造一个人造数据集。我们使用线性模型参数 w [ 2 , − 3.4 ] T \pmb{w} [2,-3.4]^{T} w[2,−3.4]T、 b 4.2 b 4.2 b4.2和噪声项 ϵ \epsilon ϵ生成数据集及其标签: y X w b ϵ \pmb{y} \pmb{Xw}b\epsilon yXw…

SpringMVC实现对网页的访问,在请求控制器中创建处理请求的方法

目录 测试HelloWorld RequestMapping注解 RequestMapping注解的位置 RequestMapping注解的value属性 RequestMapping注解的method属性 SpringMVC支持路径中的占位符(重点) SpringMVC获取请求参数 1、通过ServletAPI获取 2、通过控制器方法的形参…

Unity3D实现坦克大战

一、效果图演示 二、逻辑剖析 从界面上: 需要一个Canvas满屏对着用户,该Canvas上展示用户的游戏数据,比如血条。需要一个Canvas放在蓝色坦克上方,也需要实时对着用户,显示敌人的血条信息两个坦克一个平面Plane放草地…

C++并发编程 -2.线程间共享数据

本章就以在C中进行安全的数据共享为主题。避免上述及其他潜在问题的发生的同时,将共享数据的优势发挥到最大。 一. 锁分类和使用 按照用途分为互斥、递归、读写、自旋、条件变量。本章节着重介绍前四种,条件变量后续章节单独介绍。 由于锁无法进行拷贝…

三层交换组网实验(华为)

思科设备参考:三层交换组网实验(思科) 一,技术简介 三层交换技术的出现,解决子网必须依赖路由器进行管理的问题,解决传统路由器低速、复杂所造成的网络瓶颈问题。一个具有三层交换功能的设备可简单理解为…

蓝桥杯每日一题-----数位dp练习

题目 链接 参考代码 写了两个,一个是很久以前写的,一个是最近刚写的,很久以前写的时候还不会数位dp所以写了比较详细的注释,这两个代码主要是设置了不同的记忆数组,通过这两个代码可以理解记忆数组设置的灵活性。 im…

npm ERR! code CERT_HAS_EXPIRED

执行npm i报错: npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! network request to https://registry.npmjs.org/react-redux failed, reason: connect ETIMEDOUT 104.16.2.35:443 npm ERR! network This is a problem rel…

python常用pandas函数nlargest / nsmallest及其手动实现

目录 pandas库 Series和DataFrame nlargest和nsmallest 用法示例 代替方法 手动实现 模拟代码 pandas库 是Python中一个非常强大的数据处理库,提供了高效的数据分析方法和数据结构。它特别适用于处理具有关系型数据或带标签数据的情况,同时在时间…

十分钟学会用springboot制作微信小程序富文本编辑器

1.1 富文本模型设计 在构建富文本编辑器系统时,首先需要设计一个合适的富文本模型。 CREATE TABLE IF NOT EXISTS rich_texts (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255),content TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );这个表包括…

【算法与数据结构】647、516、LeetCode回文子串+最长回文子序列

文章目录 一、647、回文子串二、516、最长回文子序列三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、647、回文子串 思路分析:判断一个字符串是否为回文串那么必须确定回文串的所在区间,而一维…

(2)(2.13) Rockblock Satellite Modem

文章目录 前言 1 支持的MAVLink命令信息 2 设置 3 使用方法 4 数据成本 5 参数 前言 !Note 该功能仅适用于 ArduPilot 4.4 或更高版本,并且要求飞行控制器支持 LUA 脚本(LUA Scripts)。 RockBLOCK 卫星调制解调器可实现与 ArduPilot 飞行器的全球…

如何将pdf转换成ppt?掌握这个方法就简单多了

有时候,PDF文件的布局和设计可能需要进行微调或重新排版,以适应PPT的特定格式和风格。那么怎么pdf怎么转ppt呢?为了更方便地对布局、字体、图像和其他元素进行编辑和调整,以符合PPT的需求,我们可以直接通过pdf在线转pp…

SQL Server之DML触发器

一、如何创建一个触发器呢 触发器的定义语言如下: CREATE [ OR ALTER ] TRIGGER trigger_nameon {table_name | view_name}{for | After | Instead of }[ insert, update,delete ]assql_statement从这个定义语言我们可以知道如下信息: trigger_name&…

Linux项目自动化构建工具之make/Makefile演示gcc编译

文章目录 一、背景二、如何使用?三、原理四、关于make的问题五、再次理解/编写makefile依赖关系依赖方法 六、原理讲解项目清理makefile是支持变量的取消执行make后显示命令依赖方法可以多行 一、背景 会不会写makefile,从一个侧面说明了一个人是否具备…

nop-entropy可逆计算入门(1)

第1步:从大佬的gitee:https://gitee.com/canonical-entropy/nop-entropy下载源码,进行本地编译,具体编译看项目下的readme,想偷懒的可以下载我编译后的jar,放到自己的maven仓库 https://pan.baidu.com/s/1p9MOh40MJ2m…

mac如何实现升级node版本、切换node版本

一、 查看node所有版本(前提:安装了nodejs) npm view node versions二、安装指定node版本 sudo n 版本号三、检查目前安装了哪些版本的node,会出现已安装的node版本 n四、切换已安装的node版本 sudo n 版本号其他命令 1、sudo npm cache…

Centos 内存和硬盘占用情况以及top作用

目录 只查看内存使用情况: 内存使用排序取前5个: 硬盘占用情况 定位占用空间最大目录 top查看cpu及内存使用信息 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中&…

Matlab数字图像处理——图像复原与滤波算法应用方法

图像处理领域一直以来都是计算机科学和工程学的一个重要方向,图像复原则是其中一个重要的研究方向之一。图像复原旨在通过运用各种滤波算法,对图像进行去噪、恢复和改善,以提高图像的质量和可视化效果。在本文中,我们将介绍如下内…

python Flask 写一个简易的 web 端程序(附demo)

python Flask 写一个简易的 web 端程序 (附demo) 介绍简单介绍装饰器 app.route("/") 进阶增加接口设置端口 静态网页核心代码完整代码 介绍 Flask 是一个用于构建 Web 应用程序的轻量级 Python Web 框架。它设计简单、易于学习和使用&#x…