CoordTransform
在Oracle中实现百度-高德-WGS三种坐标相互转换. 数据源为Oracle Spatial空间数据(sdo_geometry). 已封装转换函数wgs2bd(wgs转百度)/wgs2gd(wgs转高德)/gd2bd(高德转百度)以及反方向3个共6个,如函数gd2wgs(IN SDO_GEOMETRY)实现输入高德坐标要素,输出WGS坐标要素. 点线面三种要素均已实现.
Install / Use
/learn @xuxinkun0591/CoordTransformREADME
平时把空间数据保存在oracle数据库, 用oracle spatial技术里的SDO_GEOMETRY字段保存点线面数据,想找个百度-高德-WGS这三种坐标相互转换的代码, 发现竟然没有ORACLE PLSQL 版本的, 大多是javascirpt和java版本的. javascript处理效率低,不适合处理大量数据的坐标转换; java读取数据源不太方便; 用plsql效率高且调用方便,于是自己动手写一个.</br> 该存储过程(包)实现oracle spatial 中 sdo_geometry类型的空间数据经纬度坐标转换, 包括百度-高德-WGS三种坐标, 输入和输出坐标系均为EPSG:4326.</br> 用法: 包coord包含多个函数, 用户用到的只有6个函数-- wgs2bd(wgs转百度)/wgs2gd(wgs转高德)/gd2bd(高德转百度),以及反过来的三个(bd2wgs/gd2wgs/bd2gd),输入变量为原sdo_geometry, 输出变量为转换后的sdo_geometry. 如高德经纬度点(119,20),对应geom=SDO_GEOMETRY(2001,4326,SDO_POINT_TYPE(119,20,NULL),NULL,NULL),需要转换为WGS坐标, 直接用包中的函数coord.gd2wgs(geom),即可得到转换后的坐标(118.9956523, 20.002079).</br> </br> 代码示例: </br> SELECT coord.gd2wgs(SDO_GEOMETRY(2001,4326,SDO_POINT_TYPE(119,20,NULL),NULL,NULL)) trans_point from dual; </br> </br> ----------OUTPUT------------ </br> SDO_GEOMETRY(2001, 4326, MDSYS.SDO_POINT_TYPE(118.9956523, 20.002079, NULL), NULL, NULL)
</br></br> By xuxinkun
Related Skills
node-connect
347.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
Security Score
Audited on May 16, 2024
