地理坐标系、空间坐标系、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 crs

def 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_dict
    except Exception as e:
        return None

def 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用D3.js和React绘制动画条形图

摘要: 将条形图分解为独立组件:容器、坐标轴和条形。使用SVG和D3.js绘制这些组件。使用React的callback ref在DOM中渲染它们。 使用D3绘制图表像搭建乐高 使用D3.js绘制图表时,你处理各种独立组件 —— 很像乐高积木。你单独建造组件,然后将它们组装在一起创建最终图表。这适…

Qt 范例阅读: QStateMachine状态机框架 和 SCXML 引擎简单记录(方便后续有需求能想到这两个东西)

一、QStateMachine 简单应用: 实现按钮的文本切换 QStateMachine machine; //定义状态机(头文件定义)QState *off new QState(); //添加off 状态off->assignProperty(ui->pushButton_2, "text", "Off"); //绑定该…

MacBook安装软件时允许任何来源的软件

MacBook安装软件时允许任何来源的软件 临时设置允许未知来源的app 当下载网上的软件并安装时,会安装失败, 因为MacOS默认只允许安装App Store上的软件 这时可以临时允许安装,如下设置 开启设置—->安全性与隐私—->未知来源的app 这种方式比较安全 设置允许任何来源…

基于WordPress开发微信小程序2:决定开发一个wordpress主题

上一篇:基于WordPress开发微信小程序1:搭建Wordpress-CSDN博客 很快发现一个问题,如果使用别人的主题模板,多多少少存在麻烦,所以一咬牙,决定自己开发一个主题模板,并且开源在gitee上&#xff…

freertos 源码分析二 list链表源码

list.c 一、链表初始化 void vListInitialise( List_t * const pxList ) { pxList->pxIndex ( ListItem_t * ) &…

LabVIEW核能设施监测

LabVIEW核能设施监测 在核能领域,确保设施运行的安全性和效率至关重要。LabVIEW通过与硬件的紧密集成,为高温气冷堆燃料装卸计数系统以及脉冲堆辐射剂量监测与数据管理系统提供了解决方案。这些系统不仅提高了监测和管理的精确度,也保证了核…

pytorch创建tensor

目录 1. 从numpy创建2. 从list创建3. 创建未初始化tensor4. 设置默认tensor创建类型5. rand/rand_like, randint6. randn生成正态分布随机数7. full8. arange/range9. linspace/logspace10. Ones/zeros/eye11. randperm 1. 从numpy创建 2. 从list创建 3. 创建未初始化tensor T…

Fashion MNIST数据集介绍及基于Pytorch下载数据集

Fashion MNIST数据集介绍及基于Pytorch下载数据集 🌵文章目录🌵 🌳引言🌳🌳Fashion MNIST数据集简介🌳Fashion MNIST数据集的类别说明Fashion MNIST数据集图片示例 🌳基于PyTorch下载Fashion MN…

改进的 K-Means 聚类方法介绍

引言 数据科学的一个中心假设是,紧密度表明相关性。彼此“接近”的数据点是相似的。如果将年龄、头发数量和体重绘制在空间中,很可能许多人会聚集在一起。这就是 k 均值聚类背后的直觉。 我们随机生成 K 个质心,每个簇一个,并将…

ElasticSearch-ElasticSearch实战-仿京东商城搜索(高亮)

注:此为笔者学习狂神说ElasticSearch的实战笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 七、ElasticSearch实战 仿京东商城搜索(高亮) 1、工程创建…

【tensorflow 版本 keras版本】

#. 安装tensorflow and keras, 总是遇到版本无法匹配的问题。 安装之前先查表 https://master--floydhub-docs.netlify.app/guides/environments/ 1.先确定你的python version 2.再根据下面表,确定安装的tesorflow, keras

JAVA后端上传图片至企微临时素材

1.使用场景 在使用企业微信API接口中,往往开发者需要使用自定义的资源,比如发送本地图片消息,设置通讯录自定义头像等。 为了实现同一资源文件,一次上传可以多次使用,这里提供了素材管理接口:以media_id来…

尝试创建若依系统项目(vue3+element-plus+vite) 持续更新...

若依官网:RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi开源|RuoYi视频|若依视频|RuoYi开发文档|若依开发文档|Java开源框架|Java|Spri…

STM32--USART串口(3)数据包

一、前言 在实际的工程中肯会有同时发送多种数据的情况,比如要不停的发送x、y、z分别对应三种不同的数据。xyzxyzxyz,但接收方可能是从中间某个地方开始接收的,这就导致数据错位。所以我们就需要将数据进行分割,打包成一个一个的…

数仓建模维度建模理论知识

0. 思维导图 第 1 章 数据仓库概述 1.1 数据仓库概述 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

东南亚独立站的黄金机会-东南亚服务器租用托管的选择

作为一个独立站的企业,选择将服务器托管或租用东南亚的服务器是一个明智的决策。东南亚市场是一个适合做独立站的国家。 1、东南亚的社交媒体用户非常活跃。东南亚地区的人口众多,其中很大一部分人使用社交媒体平台进行社交和购物。据统计,东…

喜报|博睿数据算力调度可观测平台荣获信通院“算力服务领航者计划”优秀案例

近日,中国通信标准化协会云计算标准和开源推进委员会2023年度工作总结会暨算力服务工作组成果发布会在京举行。会上,“2023年算力服务领航者计划优秀案例名单”正式公布,博睿数据的核心产品算力调度可观测平台 Bonree ONE成功入选&#xff0c…

WordPress主题YIA的文章页评论内容为什么没有显示出来?

有些WordPress站长使用YIA主题后,在YIA主题设置的“基本”中没有开启“一键关闭评论功能”,而且文章也是允许评论的,但是评论框却不显示,最关键的是文章原本就有的评论内容也不显示,这是为什么呢? 根据YIA主…

获取真实 IP 地址(一):判断是否使用 CDN(附链接)

一、介绍 CDN,全称为内容分发网络(Content Delivery Network),是一种网络架构,旨在提高用户对于网络上内容的访问速度和性能。CDN通过在全球各地部署分布式服务器节点来存储和分发静态和动态内容,从而减少…