博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js坐标转换WGS84(大地坐标系BLH)转空间直角坐标系XYZ
阅读量:4562 次
发布时间:2019-06-08

本文共 2015 字,大约阅读时间需要 6 分钟。


重新编辑我

点击查看详细内容

// 坐标转换  WGS84经纬度 => 大地坐标系BLH  XYZ            var pi_180 = Math.PI / 180;    var _180_pi = 180 / Math.PI;    var projectionTypes = {};    projectionTypes.bj54 = {        a:6378245,//长半轴        e2:0.006693421622966//第一偏心率平方    };    projectionTypes.wgs84 = {        a:6378135,//长半轴        e2:0.00669437999013//第一偏心率平方    };    var myparams = {        dx : 31.4,        dy : -144.3,        dz : -74.8,        rx : 0,        ry : 0,        rz : 0.814,        m : -0.38    };    function _BLH2XYZ(blhObj){//将大地坐标喜欢换为空间直角坐标系        // var e2 = projectionTypes[projectionType].e2;//第一偏心率平方值        var e2 = 0.00669437999013;        // var a = projectionTypes[projectionType].a;//长半轴        var a=6378135;//长半轴        var N = a / Math.sqrt(1 - e2 * Math.sin(blhObj.b * pi_180) * Math.sin(blhObj.b * pi_180));        var X = (N + blhObj.h) * Math.cos(blhObj.b * pi_180) * Math.cos(blhObj.l * pi_180);        var Y = (N + blhObj.h) * Math.cos(blhObj.b * pi_180) * Math.sin(blhObj.l * pi_180);        var Z = [N * (1 - e2 ) + blhObj.h] * Math.sin(blhObj.b * pi_180);        var resultObj = {};        resultObj.X = X;        resultObj.Y = Y;        resultObj.Z = Z;        return resultObj;    }    var polygonPoints =    [    [118.22166324000011,33.94018013200008],    [118.22166694800001,33.940138392000051],    [118.22167282000009,33.940096924000045],    [118.22168107000005,33.940055637000057],    [118.22170407500005,33.939955487000077],    [118.2217123260001,33.939914291000036],    [118.22171830600007,33.93987282300003],    [118.22172190500009,33.939831083000058],    [118.22175552400006,33.939267271000062],    [118.22175661300003,33.939258077000034],    [118.22544694300007,33.939262686000063],    [118.22536301900004,33.940659324000023],    [118.2216439660001,33.940503869000054],    [118.22166324000011,33.94018013200008]    ];    var newPolygonsArray = [];    var arrlen = polygonPoints.length;    console.log(111,arrlen)    for(var i = 0;i


转载于:https://www.cnblogs.com/marvelousone/p/11265880.html

你可能感兴趣的文章
Postman-OAuth 2.0授权
查看>>
mac pycharm打不开问题
查看>>
iOS项目之苹果审核被拒
查看>>
java多态及tostring方法与equals方法的重写
查看>>
python 获取远程设备ip地址
查看>>
JDBC 第五课 —— 小项目的界面升级
查看>>
团队作业3——需求改进&系统设计
查看>>
返回json格式时间,解析时间
查看>>
线程并发-栈限制&ThreadLocal
查看>>
[转]Understand QoS at OpenSwitch
查看>>
vue中后台请求数据配置
查看>>
NIS服务器详解
查看>>
[备忘] 网络监控程序
查看>>
keepalived 高可用
查看>>
java_web学习(1)理解JavaBean
查看>>
再见,viewDidUnload方法
查看>>
233
查看>>
数据库MySQL/mariadb知识点——视图管理语句
查看>>
计数(count)
查看>>
cruise-control
查看>>