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

地理坐标系、空间坐标系、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.lryc.cn/news/293556.html

相关文章:

  • docker 容器指定主机网段
  • 零基础Vue框架上手;git,node,yarn安装
  • 十分钟学会用springboot制作微信小程序富文本编辑器
  • 【BBF系列协议】TR181-1 TR069的设备数据模型
  • Elasticsearch(简称ES)性能优化 实践
  • 《跨越阶层,小白选专业的逻辑:揭秘家庭背景与个人发展的秘密联系》
  • Python调用pyspark报错整理
  • 快递员的烦恼 - 华为OD统一考试
  • css1基础选择器
  • 【C语言】内联函数总结
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件
  • 【Linux多线程编程】互斥锁及其使用
  • RabbitMQ_00000
  • 【linux】docker下homeassistant和nodered安装及配置
  • Qt扩展-muParser数学公式解析
  • 【Matplotlib】figure方法之图形的保存
  • 数据库管理-第142期 DBA?DBA!(20240131)
  • react 之 zustand
  • leetcode-回文链表
  • Pinia:一个Vue的状态管理库
  • 2024 Flutter 重大更新,Dart 宏(Macros)编程开始支持,JSON 序列化有救
  • 云计算概述(云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次)(二)
  • 物流平台架构设计与实践
  • RedHat8.4安装邮件服务器
  • Linux Shell系列--dirname 去除基本文件名
  • 池化技术的总结
  • H5简约星空旋转引导页源码
  • 前端学习之路(4) vue2和vue3的区别
  • 网络原理-TCP/IP(5)
  • Docker 常用命令详细介绍