坐标系转换SQL版


坐标系 解释 使用地图
WGS84 地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,最基础的坐标,谷歌地图在非中国地区使用的坐标系 GPS/谷歌地图卫星
GCJ02 火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。并要求在中国使用的地图产品使用的都必须是加密后的坐标,而这套WGS84加密后的坐标就是GCJ02。 腾讯(搜搜)地图,阿里云地图,高德地图,谷歌国内地图
BD09 百度坐标系,百度在GCJ02的基础上进行了二次加密 百度地图

百度地图坐标系转高德地图(BD09转GCJ02)

SELECT
    (
        (
            SQRT((
                    longitude - 0.0065 
                ) * ( longitude - 0.0065 ) + ( latitude - 0.006 ) * ( latitude - 0.006 )) - 0.00002 * SIN(( latitude - 0.006 ) * ( 3.14159265358979323846 * 3000.0 ) / 180.0 )) * COS(
            ATAN2((
                    latitude - 0.006 
                    ),
            ( longitude - 0.0065 )) - 0.000003 * COS(( longitude - 0.0065 ) * ( 3.14159265358979323846 * 3000.0 ) / 180.0 )) 
    ) AS longitude,
    (
        (
            SQRT((
                    longitude - 0.0065 
                    ) * ( longitude - 0.0065 ) + ( latitude - 0.006 ) * ( latitude - 0.006 )) - 0.00002 * SIN(( latitude - 0.006 ) * ( 3.14159265358979323846 * 3000.0 ) / 180.0 )) * SIN((
                ATAN2((
                        latitude - 0.006 
                        ),
                ( longitude - 0.0065 )) - 0.000003 * COS(( longitude - 0.0065 ) * ( 3.14159265358979323846 * 3000.0 ) / 180.0 ))) 
    ) AS latitude 
FROM
    `coordinate_system` 
WHERE
    type = '百度地图';

高德地图(谷歌地图/腾讯地图)坐标系转百度地图坐标系 (GCJ02转BD09)

SELECT
    (
        ((
                SQRT( longitude * longitude + latitude * latitude ) + 0.00002 * SIN( latitude * 3.14159265358979323846 )) * COS(
                ATAN2( latitude, longitude ) + 0.000003 * COS( longitude * 3.14159265358979323846 )) + 0.0065 
        ) 
    ) AS longitude,
    (
        (
            SQRT( longitude * longitude + latitude * latitude ) + 0.00002 * SIN( latitude * 3.14159265358979323846 )) * SIN(
        ATAN2( latitude, longitude ) + 0.000003 * COS( longitude * 3.14159265358979323846 )) + 0.006 
    ) AS latitude 
FROM
    `coordinate_system` 
WHERE
    type = '谷歌地图/高德地图/腾讯地图';

GPS转谷歌地图/高德地图/腾讯地图 (WGS84转GCJ02)

SELECT
    (
        longitude + (((
                    300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                        ABS( ( longitude - 105.0 ) ))) +((
                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                    ) + ((
                    20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                    ) +(
                    (
                    150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                    ) 
                ) * 180.0 
            ) / (
            6378245.0 / (
                SQRT((
                        1 - 0.00669342162296594323 * SIN((
                                latitude / 180.0 * 3.14159265358979323846 
                                )) * SIN((
                                latitude / 180.0 * 3.14159265358979323846 
                            ))))) * COS((
                    latitude / 180.0 * 3.14159265358979323846 
                )) * 3.14159265358979323846 
        ) 
    ) AS longitude,
    (
        latitude + ((
                (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                        ABS((
                                longitude - 105.0 
                            )))) +((
                        20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                    ) + ((
                    20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                    ) +((
                    160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                )) * 180.0 
            ) / ((
                6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                    1 - 0.00669342162296594323 * SIN((
                            latitude / 180.0 * 3.14159265358979323846 
                            )) * SIN((
                            latitude / 180.0 * 3.14159265358979323846 
                        ))) * (
                    SQRT(
                        1 - 0.00669342162296594323 * SIN((
                                latitude / 180.0 * 3.14159265358979323846 
                                )) * SIN((
                                latitude / 180.0 * 3.14159265358979323846 
                            ))))) * 3.14159265358979323846 
        )) AS latitude 
FROM
    coordinate_system 
WHERE
    type = 'GPS';

GPS转百度地图(实际上就是,先转高德,再转百度地图)

SELECT
    (
        ((
                SQRT(
                    (
                        longitude + (((
                                    300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                        ABS( ( longitude - 105.0 ) ))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +(
                                    (
                                    150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) 
                                ) * 180.0 
                            ) / (
                            6378245.0 / (
                                SQRT((
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * COS((
                                    latitude / 180.0 * 3.14159265358979323846 
                                )) * 3.14159265358979323846 
                        ) 
                        ) * (
                        longitude + (((
                                    300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                        ABS( ( longitude - 105.0 ) ))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +(
                                    (
                                    150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) 
                                ) * 180.0 
                            ) / (
                            6378245.0 / (
                                SQRT((
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * COS((
                                    latitude / 180.0 * 3.14159265358979323846 
                                )) * 3.14159265358979323846 
                        ) 
                        ) + (
                        latitude + ((
                                (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                        ABS((
                                                longitude - 105.0 
                                            )))) +((
                                        20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +((
                                    160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                                )) * 180.0 
                            ) / ((
                                6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))) * (
                                    SQRT(
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * 3.14159265358979323846 
                        )) * (
                        latitude + ((
                                (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                        ABS((
                                                longitude - 105.0 
                                            )))) +((
                                        20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +((
                                    160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                                )) * 180.0 
                            ) / ((
                                6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))) * (
                                    SQRT(
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * 3.14159265358979323846 
                        )) 
                    ) + 0.00002 * SIN(
                    (
                        latitude + ((
                                (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                        ABS((
                                                longitude - 105.0 
                                            )))) +((
                                        20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +((
                                    160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                                )) * 180.0 
                            ) / ((
                                6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))) * (
                                    SQRT(
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * 3.14159265358979323846 
                        )) * 3.14159265358979323846 
                )) * COS(
                ATAN2(
                    (
                        latitude + ((
                                (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                        ABS((
                                                longitude - 105.0 
                                            )))) +((
                                        20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +((
                                    160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                                )) * 180.0 
                            ) / ((
                                6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))) * (
                                    SQRT(
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * 3.14159265358979323846 
                        )),
                    (
                        longitude + (((
                                    300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                        ABS( ( longitude - 105.0 ) ))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +(
                                    (
                                    150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) 
                                ) * 180.0 
                            ) / (
                            6378245.0 / (
                                SQRT((
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * COS((
                                    latitude / 180.0 * 3.14159265358979323846 
                                )) * 3.14159265358979323846 
                        ) 
                    ) 
                    ) + 0.000003 * COS(
                    (
                        longitude + (((
                                    300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                        ABS( ( longitude - 105.0 ) ))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) + ((
                                    20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) +(
                                    (
                                    150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                    ) 
                                ) * 180.0 
                            ) / (
                            6378245.0 / (
                                SQRT((
                                        1 - 0.00669342162296594323 * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                                )) * SIN((
                                                latitude / 180.0 * 3.14159265358979323846 
                                            ))))) * COS((
                                    latitude / 180.0 * 3.14159265358979323846 
                                )) * 3.14159265358979323846 
                        ) 
                    ) * 3.14159265358979323846 
                )) + 0.0065 
        ) 
    ) AS longitude,
    (
        (
            SQRT(
                (
                    longitude + (((
                                300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                    ABS( ( longitude - 105.0 ) ))) +((
                                20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +(
                                (
                                150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) 
                            ) * 180.0 
                        ) / (
                        6378245.0 / (
                            SQRT((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * COS((
                                latitude / 180.0 * 3.14159265358979323846 
                            )) * 3.14159265358979323846 
                    ) 
                    ) * (
                    longitude + (((
                                300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                    ABS( ( longitude - 105.0 ) ))) +((
                                20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +(
                                (
                                150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) 
                            ) * 180.0 
                        ) / (
                        6378245.0 / (
                            SQRT((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * COS((
                                latitude / 180.0 * 3.14159265358979323846 
                            )) * 3.14159265358979323846 
                    ) 
                    ) + (
                    latitude + ((
                            (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                    ABS((
                                            longitude - 105.0 
                                        )))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +((
                                160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                            )) * 180.0 
                        ) / ((
                            6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                1 - 0.00669342162296594323 * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                        )) * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                    ))) * (
                                SQRT(
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * 3.14159265358979323846 
                    )) * (
                    latitude + ((
                            (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                    ABS((
                                            longitude - 105.0 
                                        )))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +((
                                160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                            )) * 180.0 
                        ) / ((
                            6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                1 - 0.00669342162296594323 * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                        )) * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                    ))) * (
                                SQRT(
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * 3.14159265358979323846 
                    )) 
                ) + 0.00002 * SIN(
                (
                    latitude + ((
                            (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                    ABS((
                                            longitude - 105.0 
                                        )))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +((
                                160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                            )) * 180.0 
                        ) / ((
                            6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                1 - 0.00669342162296594323 * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                        )) * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                    ))) * (
                                SQRT(
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * 3.14159265358979323846 
                    )) * 3.14159265358979323846 
            )) * SIN(
            ATAN2(
                (
                    latitude + ((
                            (- 100.0 + 2.0 * ( longitude - 105.0 ) + 3.0 * ( latitude - 35.0 ) + 0.2 * ( latitude - 35.0 ) * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.2 * SQRT(
                                    ABS((
                                            longitude - 105.0 
                                        )))) +((
                                    20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 ) + 40.0 * SIN(( latitude - 35.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +((
                                160.0 * SIN(( latitude - 35.0 ) / 12.0 * 3.14159265358979323846 ) + 320 * SIN(( latitude - 35.0 ) * 3.14159265358979323846 / 30.0 )) * 2.0 / 3.0 
                            )) * 180.0 
                        ) / ((
                            6378245.0 * ( 1 - 0.00669342162296594323 )) / ((
                                1 - 0.00669342162296594323 * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                        )) * SIN((
                                        latitude / 180.0 * 3.14159265358979323846 
                                    ))) * (
                                SQRT(
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * 3.14159265358979323846 
                    )),
                (
                    longitude + (((
                                300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                    ABS( ( longitude - 105.0 ) ))) +((
                                20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +(
                                (
                                150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) 
                            ) * 180.0 
                        ) / (
                        6378245.0 / (
                            SQRT((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * COS((
                                latitude / 180.0 * 3.14159265358979323846 
                            )) * 3.14159265358979323846 
                    ) 
                ) 
                ) + 0.000003 * COS(
                (
                    longitude + (((
                                300.0 + ( longitude - 105.0 ) + 2.0 * ( latitude - 35.0 ) + 0.1 * ( longitude - 105.0 ) * ( longitude - 105.0 ) + 0.1 * ( longitude - 105.0 ) * ( latitude - 35.0 ) + 0.1 * SQRT(
                                    ABS( ( longitude - 105.0 ) ))) +((
                                20.0 * SIN( 6.0 * ( longitude - 105.0 ) * 3.14159265358979323846 ) + 20.0 * SIN( 2.0 * ( longitude - 105.0 ) * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) + ((
                                20.0 * SIN( ( longitude - 105.0 ) * 3.14159265358979323846 ) + 40.0 * SIN( ( longitude - 105.0 ) / 3.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) +(
                                (
                                150.0 * SIN( ( longitude - 105.0 ) / 12.0 * 3.14159265358979323846 ) + 300.0 * SIN( ( longitude - 105.0 ) / 30.0 * 3.14159265358979323846 )) * 2.0 / 3.0 
                                ) 
                            ) * 180.0 
                        ) / (
                        6378245.0 / (
                            SQRT((
                                    1 - 0.00669342162296594323 * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                            )) * SIN((
                                            latitude / 180.0 * 3.14159265358979323846 
                                        ))))) * COS((
                                latitude / 180.0 * 3.14159265358979323846 
                            )) * 3.14159265358979323846 
                    ) 
                ) * 3.14159265358979323846 
            )) + 0.006 
    ) AS latitude 
FROM
    `coordinate_system` 
WHERE
    type = 'GPS';

文章作者: YoonaDa
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 YoonaDa !
  目录