当前位置: 首页 > news >正文

江苏弘盛建设工程集团有限公司网站网页编辑框

江苏弘盛建设工程集团有限公司网站,网页编辑框,网站不备案支付宝接口,百度云服务器挂网站cesium-坐标系统 cesium坐标介绍 Cesium开发中常用的坐标系统主要有三个:屏幕坐标系统、笛卡儿空间直角坐标系统、地理坐标系统。屏幕坐标系统是二维坐标,空间直角坐标系统是三维坐标系,而地理坐标是球面经纬度坐标。 屏幕坐标系统(Cartes…

cesium-坐标系统

cesium坐标介绍

Cesium开发中常用的坐标系统主要有三个:屏幕坐标系统、笛卡儿空间直角坐标系统、地理坐标系统。屏幕坐标系统是二维坐标,空间直角坐标系统是三维坐标系,而地理坐标是球面经纬度坐标。

屏幕坐标系统(Cartesian2)

屏幕坐标是平面直角坐标系,是二维笛卡儿坐标系。Cesium中使用Cartesian2来描述屏幕坐标系。构造函数是new Cesium.Cartesian2(x, y)。具体是鼠标点击位置距离canvas左上角的像素值。屏幕左上角为原点(0.0),屏幕水平方向为X轴,向右为正,垂直方向为Y轴,向下为正,如图所示。

image-20220202112948001

笛卡儿空间直角坐标系(Cartesian3)

以空间中O点为原点,建立三条两两垂直的数轴;X轴(横坐标)、Y轴(纵坐标)、Z轴(竖坐标),建立了空间直角坐标系0—XYZ。 笛卡儿空间直角坐标的原点就是椭球的中心,在计算机上进行绘图时,不方便使用经纬度直接进行绘图,一般会将坐标系转换为笛卡儿坐标系,使用计算机图形学中的知识进行绘图。构造函数是new Cesium.Cartesian3(x,y,z),这里的Cartesian3里面的下x,y,z即为笛卡儿坐标系三个坐标轴方向上的分量。

image-20220202113838008

WGS-84地理坐标

image-20220202114708257

首先将地球抽象成一个规则的逼近原始自然地球表面的椭球体,称为参考椭 球体,然后在参考椭球体上定义系列的经线 和纬线构成经纬网。需要说明的是经纬地理坐标系不是平面坐标系,因为度不是标准的长度单位,不可用其直接量测长度和面积。基于椭球体表示空间点的位置采用三个参数:大地经度、大地纬度、大地高。

大地经度:参考椭球面上某点的大地子午面与本初子午面间的两面角。向东为正,向西为负。

大地纬度:参考椭球面上某点的法线与赤道平面的夹角。向北为正,向南为负。

大地高:指某点沿法线方向到参考椭球面的距离。

不同的椭球体大小、定位与定向决定了不同的坐标系统。WGS-84是为美国全球定位系统(GPS)的使用而建立的坐标系统,坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH 1984.0定义的协议地球极(CTP)方向。X轴指向BIH1984.0定义的零子午面和CTP赤道的交点。Y轴与Z轴、X轴垂直构成右手坐标系。经度范围为[-180°,180°],纬度范围为[- 90°,90°]。WGS-84是目前应用范围最为广泛的地理坐标系,通常国外通感影像均采用WGS-84。Cesium中定义Cartographic ,用new Cesium.Cartographic(longitude,latitude,height)来描述地理坐标,这里longitude、latitude都是弧度坐标值。

image-20220202114103214

cesium坐标转换

  • 角度经纬度(一般这就是指经纬度):39.905556 116.424722
  • 度分秒经纬度:北纬39°54′20″,东经116°25′29″
  • 弧度经纬度:0.6964833420389782 2.0319947296190777
  • 地理经纬度(度)与经纬度(度分秒)之间互转
public static double Dms2Degree(CoordDms dms){if (null != dms){decimal decD = new decimal(dms.Degree);decimal decM = new decimal(dms.Minute);decimal decS = new decimal(dms.Second);decimal dec60 = new decimal(60.0);decimal decDDouble = decD + (decM / dec60) + (decS / dec60 / dec60);return decimal.ToDouble(decDDouble);}return 0;
}public static CoordDms Degree2Dms(double d){decimal dec = new decimal(d);Decimal dec60 = new decimal(60.0);CoordDms cd = new CoordDms();cd.Degree = decimal.ToInt32(dec);decimal min = decimal.Multiply(dec - new decimal(cd.Degree), dec60);cd.Minute = decimal.ToInt32(min);decimal sec = min - new decimal(cd.Minute);cd.Second = decimal.ToDouble(decimal.Multiply(sec, dec60));return cd;
}public class CoordDms{public int Degree { get; set; }public int Minute { get; set; }public Double Second { get; set; }
}
  • 角度经纬度和弧度转换
1弧度=180/π度,1度=π/180弧度角度A1转换弧度A2:A2=A1*π/180弧度A2转换角度A1:A1=A2*π/PI

角度与弧度的转换

  • 角度转弧度:
var radians=Cesium.CesiumMath.toRadians(degrees);
  • 弧度转角度:
var degrees=Cesium.CesiumMath.toDegrees(radians);

经纬度坐标转换为笛卡尔空间直角坐标

  1. 直接通过经纬度转换。Cesium默认WGS-84经纬度坐标,可直接通过以下方法进行坐标转换:
var c3=Cesium.Cartesian3.fromDegrees(longitude,latitude,height);//height为大地高度
var c3=Cesium.Cartesian3.fromDegreesArrary(coordinates);//coordinates格式为不带高度的数组,例如[-115.0,37.0,-107.0,33.0]
var c3=Cesium.Cartesian3.fromDegreesArrayHeights(coordinates);//coordinates格式为带高度的数组,如:[-155.0,37.0,100000 -107.0,33.0,150000.0]
  1. 通过椭球体进行转换。根据椭球参数将WGS-84经纬度坐标或其他地理坐标转为笛卡儿空间直角坐标。以WGS-84椭球体为例,将WGS-84经纬度坐标转为空间直角坐标:
var ellipsoid84=Cesium.Ellipsoid.wgs84;
var position=Cesium.Cartographic.fromDegrees(longitude,latitude,height);
var c3=ellipsoid84.cartographicToCartesian(position);
var c3s=ellipsoid84.cartographicArrayToCartesianArray([pos1,pos2,pos3]);

也可使用弧度形式的经纬度,函数如下: Ceium.Cartesian3.fonmRadins,Cestum.Cartesian3.fomRadinsArmy,Ceium.Cartesian3.fromRadiansArrayHeights等,用法与上面一样。

笛卡儿空间直角坐标系转换为经纬度坐标

直接转换

Cesium中可将笛卡儿空间直角坐标直接转为WGS-84经纬度坐标,方法如下:

var cartorgraphic=Cesium.Cartographic.fromCartesian(cartesian3);

转换得到WGS-84坐标系下的弧度形式经纬度后,再将其转换为角度的形式。

通过椭球体转换

可以根据椭球参数,将笛卡儿空间直角坐标转为WGS-84坐标或其他椭球下的经纬度坐标。以WGS-84椭球转换为例:

对于一个坐标,可采用如下代码:

var cartographic=Cesium.Ellipsoid.wgs84.cartesianToCartgraphic(cartesian3);

对于一组坐标,可采用如下代码:

var cartographic=Cesium.Ellipsoid.wgs84.cartesianArrayToCartgraphic([cartesian1,cartesian2,cartesian3]);

屏幕坐标和笛卡儿空间直角坐标的转换

屏幕坐标转笛卡儿空间直角坐标常用于三维场景开发,Cesium根据不同场景设定三类屏幕坐标转换笛卡儿坐标:

屏幕坐标转场景空间直角坐标

这里的场景坐标是包含了地形、倾斜摄影测量模型等其他三维模型的坐标。

var cartesian3= viewer.scene.pickPosition(cartesian2);
屏幕坐标转地表笛卡儿空间坐标

包含地形在内,但是不包括倾斜摄影测量模型等其他三维模型的坐标。

var cartesian3=viewer.scene.globe.pick(viewer.camera.getPickRay(cartesian2),viewer.scene);
屏幕坐标转椭球面笛卡儿空间坐标

不包含地形、倾斜摄影测量模型等其他三维模型的坐标

var cartesian3= viewer.scene.camera.pickEllipsoid(cartesian2);

笛卡尔空间直角坐标转屏幕坐标

var c2=Cesium.SceneTransfroms.wgs84ToWindowCoordinates(cartesian3);
http://www.yayakq.cn/news/552383/

相关文章:

  • 长沙手机网站建设公司建设手机网银可以自己提升额度吗
  • 做自媒体发视频用哪些网站跨境电商无货源怎么做
  • 网站域名后缀那个好啤酒招商网站大全
  • 怎么联系网站管理员一级做爰网站
  • 网站设计方案模板广州市手机网站建设品牌
  • 怎么做素材网站网站设计工资怎么样
  • 上海市住房和城乡建设厅网站客户管理系统的设计与实现
  • 商城开发网站论述电子商务网站的建设
  • 网站建设前台与后台最新技术wordpress检索
  • 建一个网站大概需要多长时间网站在线备案
  • 网站备案查询工具青云 wordpress
  • 华为网站的建设建议书软件开发接单网站
  • 加盟网站制作推广人社部能力建设中心网站
  • 建设初级中学网站万网网站域名
  • 非法网站怎么推广推广营销app
  • c2c网站是什么温州开发网站公司
  • 网站建设私活中能找想开一家相亲网站 怎么做
  • 淘宝做网站wordpress 云服务器配置
  • 移动网站开发教程下载网页美工设计课程标准
  • 网站入口首页网站可以做网站广告
  • 想学做网站学什么教程市场调研ppt
  • 我的世界查建筑网站济南建设工程交易中心
  • jsp网站开发 孟浩pdf哪个行业必须做网站
  • 免费网站收录怎么用ps做网站ui
  • 淘宝网站建设设计模板平面广告设计培训
  • 教育网站官网免费行情网站app下载大全
  • 网站虚拟空间购买wordpress什么删留言
  • 常州建设网站代理商做网站哪些好
  • 马来西亚的网站后缀做基础销量的网站
  • 电子商务网站建设考题与答案国外域名网站推荐