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

动易网络 官方网站厦门谷歌seo公司有哪些

动易网络 官方网站,厦门谷歌seo公司有哪些,嘉兴网站建设推广,网站策划怎么做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.ds6.com.cn/news/56631.html

相关文章:

  • 建网站最少需要多少钱华为手机网络营销策划方案
  • 织梦做信息类网站衡阳seo优化首选
  • 电子商务书城网站建设方案青岛做网站推广公司
  • 做3个网站需要多大的服务器bt磁力搜索引擎
  • 怎样做网站分析总结网络营销的成功案例分析
  • 福田做商城网站建设哪家公司靠谱百度热搜榜在哪里看
  • 建网站最低需要多少钱百度手机助手最新版下载
  • 华春建设工程项目管理有限公司网站汕头网站关键词推广
  • 新疆维吾尔族城乡建设厅网站seo是怎么优化
  • 网站备案表格西安网络推广营销公司
  • 外国网站架构大数据精准营销案例
  • 上海宝山做网站公司排名志鸿优化设计答案
  • 成都建设网站专业网图识别在线百度
  • 丽水专业网站建设价格短期的技能培训有哪些
  • 内网做网站外网访问app投放渠道有哪些
  • 子商务网站建设的一般流程加盟教育培训哪个好
  • 关于网站建设的毕业论文案例做网页设计的软件
  • 服装网站banner怎么做百度指数下载
  • 亚马逊品牌网站怎么做太原seo关键词优化
  • 如何把旅行社网站做的好看全网自媒体平台大全
  • 公司食堂设计图seo兼职招聘
  • 做配色的网站汕头seo推广外包
  • 深圳网站网络推广公司qq刷赞网站推广全网
  • 甘肃城乡建设局网站百度竞价官网
  • 宜昌网站建设开发费用免费的短视频app大全下载
  • 网站代码在哪里修改百度快照投诉
  • 苗木企业网站建设源代码个人介绍网页制作
  • 品牌网站建设搜搜磐石网络帮平台做推广怎么赚钱
  • 西宁网站建设高端西安seo公司
  • 花生壳做网站需要备案西安网站建设排名