GOOGLE与百度经纬度互转(plsql版)

这篇博客提供了两个PLSQL过程,分别用于将百度经纬度转换为谷歌经纬度(BAIDU2GOOGLE)和谷歌经纬度转换为百度经纬度(GOOGLE2BAIDU)。测试代码展示了如何使用这两个过程,并显示了转换前后的坐标值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先创建两个存储过程


BAIDU2GOOGLE(百度转google)和GOOGLE2BAIDU(google转百度)。

CREATE OR REPLACE PROCEDURE "BAIDU2GOOGLE"
(in_lat IN OUT NUMBER,in_lng IN OUT NUMBER)
IS
   RESULT NUMBER;
   V NUMBER;
   X NUMBER;
   Y NUMBER;
   Z NUMBER;
   T NUMBER;
BEGIN

    IF in_lat IS NULL OR in_lng IS NULL THEN
       RETURN;
    END IF;
   
    IF in_lat = 0 OR in_lng = 0 THEN
       RETURN;
    END IF;
   
    V := (ACOS(-1) * 3000.0) / 180.0;
    X := in_lng - 0.0065;
    Y := in_lat - 0.006;
   
    IF X = 0 OR Y = 0 THEN
      RETURN;
    END IF;
   
    Z := sqrt(X*X + Y*Y) - 0.00002 * sin(Y*V);
    T := atan2(Y,X) - 0.000003 * cos(X*V);

    in_lat := Z * sin(T);
    in_lng := Z * cos(T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值