-
坐标转换
2014-08-16 00:03:54var worldPosition = trans.parent.TransformPoint(trans.localPosition); return gameObject.transform.parent....第一句把目标的local坐标转换成世界坐标。 第二句把世界坐标转换成自己的local坐标。var worldPosition = trans.parent.TransformPoint(trans.localPosition);
return gameObject.transform.parent.InverseTransformPoint(worldPosition);
第一句把目标的local坐标转换成世界坐标。
第二句把世界坐标转换成自己的local坐标。
这里需要注意两次转换都应该调用父亲的转换函数
World Space(世界坐标)
Screen Space(屏幕坐标)以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。
ViewPort Space(视口坐标)视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。
世界坐标→屏幕坐标:camera.WorldToScreenPoint(transform.position);这样可以将世界坐标转换为屏幕坐标。其中camera为场景中的camera对象。
屏幕坐标→视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);这样可以将屏幕坐标转换为视口坐标。其中camera为场景中的camera对象。
视口坐标→屏幕坐标:camera.ViewportToScreenPoint();
视口坐标→世界坐标:camera.ViewportToWorldPoint();
-
Gps坐标转换百度坐标
2016-10-31 13:52:26Gps坐标转换百度坐标 -
第一章坐标转换之坐标转换概述
2018-12-15 10:24:16最近接触到一些坐标转换的项目,其实之前也总接触到坐标转换的项目,但是由于我办公室有一个坐标转换大神,不会了就去问他,他都会细心解答,人非常的nice。最近回想起来,发现不能总依赖于别人,自己得把大学的知识...最近接触到一些坐标转换的项目,其实之前也总接触到坐标转换的项目,但是由于我办公室有一个坐标转换大神,不会了就去问他,他都会细心解答,人非常的nice。最近回想起来,发现不能总依赖于别人,自己得把大学的知识总结和回顾一下,至少做到心中有数,不能给大学老师丢脸呀,遂准备写一写关于大地坐标转换的知识,与诸君共勉。
今天首先了解一下坐标系的概念:什么是坐标系?重点看加粗部分
1、我的理解:人们为了描述某个位置而在空间建立起来的一个基准(并不准确,具体的可以看一看物理书)。测绘里边我们通常会听到天球坐标系和地球坐标系,我们这里主要了解一下地球坐标系,它是用某种确定的方式联系到地球的坐标系。确定地球参考系时,必须定义它 的原点、尺度、定向。这些通常采用国际协议一致的方式来决定(IERS规范)。不能随意定义。
2、大地坐标系,通常大地坐标系分为参心坐标系和地心坐标系。
参心坐标系:是按参考椭球与局部区域的大地水准面最佳拟合的原则而建立的坐标系,所以原点会偏离地球质心。例如我们通常所说的西安80和北京54都属于参心坐标系。
地心坐标系:是指坐标系原点位于地球质心而建立起来的坐标系,通过卫星大地测量的手段建立的。由空间的三维网和速度实现。例如我国的CGCS2000坐标系。
无论的参心坐标系还是地心坐标系都包含地球椭球参数。因为都是建立在地球这个大椭圆的基础上的。椭球参数包含:长半轴、短半轴、扁率、第一偏心率、第二偏心率等。其中最为重要的是前三个参数。因为他们三个定了,基本就确定了这个椭球。
3、我国自2008年7月1日开始启动2000国家大地坐标系,就是CGCS2000坐标系。到2018年7月1日止要求所有数据必须完成向2000坐标系转换的任务。 国家不再接受非2000坐标系上报的项目。
现在我们来了解一下CGCS2000坐标系,就是对准ITRF97框架,参考历元是2000.0。
什么是ITRF97? 它是全球分布1千多个有可靠坐标和速度的观测站,通过下载其GNSS观测数据可与测量点组成同步观测网。
年积日:从当年1月1日开始到当前累计日期,例如1月1日的年积日为1,7月1日的年积日为182。
历元:这个是很重要的概念,历指历法,元指首。就是历法之元,是古代历法的起始时刻。我们也可以通俗的理解为时刻的意思,例如GNSS观测时,观测10个历元的数据,就是观测10个时刻的数据。
我国2000坐标系的参考历元是2000.0,整数部分是年份,就是2000年,小数部分是年积日除以365(平年)或366(闰年),那么2000.0历元就是2000年1月1日。
因为我们CGCS2000坐标系的参考历元是2000.0,所以采用这个名字,而不是CGCS1980或者其他名字。
4、我们常说的地球上的坐标实际上分为静态坐标和动态坐标。这里的静态和动态是相对于起算点来说的。
4.1静态坐标:传统大地测量的坐标是没有考虑地球板块运动的。例如我们的西安80坐标系,因为他的坐标是通过大地原点引出的坐标,所以虽然客观上存在地球板块的运动,但是我们认为板块的运动地刚性的平移运动,因此点与点间的相对位置认为是不变的,在我们低精度的应用中,这样的坐标完全满足我们的应用。
4.2动态坐标:现代我们的测量技术都是空间定位技术,原点在地球的质心,或者说相对于动态框架点的坐标。因此这种高精度的地心坐标必须要考虑到板块运动的影响。我国大陆的地心坐标每年大约有3-4cm的变化。那么动态坐标的描述就必须分成两部分:点位在某个瞬时历元的坐标+点位的运动速度。如果知道某点的某个历元的坐标和速度,就可以算出任意历元的坐标。那么以2000坐标系为例,知道某点在2000历元下的瞬时坐标,然后用全国的速度场模型算出该点的速度,就可以得到该点CGCS坐标任意历元下的坐标。
特别注意:一个空间测量技术实现的地心坐标,必须注明其历元,这样才能归算到CGCS2000坐标系下。 -
第一章坐标转换之坐标转换概述2
2018-12-15 16:22:58这节我们从宏观上介绍一下坐标转换。上节我们介绍了坐标分为静态坐标和动态坐标,静态坐标可以理解为我们常说的参心坐标,动态坐标可以理解为地心坐标。 1、静态坐标转换:两组静态坐标之间无非就是旋转、平移、和...这节我们从宏观上介绍一下坐标转换。上节我们介绍了坐标分为静态坐标和动态坐标,静态坐标可以理解为我们常说的参心坐标,动态坐标可以理解为地心坐标。
1、静态坐标转换:两组静态坐标之间无非就是旋转、平移、和缩放。因此可以用同名点和转换模型进行区域坐标的转换。常用的典型转换模型有布尔沙七参数转换模型、二维七参数转换模型等等。总之利用两个坐标系下的同名点坐标求解模型的参数,然后利用模型参数求解这个区域的其他点的坐标值。至于转换模型的选取要看你的同名点的个数和所要求的转换精度。
还可以用国家下发的图幅改正量或格网改正数内插进行坐标转换。
2、动态坐标转换:实质就是不同历元、不同ITRF框架的动态坐标间的转换。从定义就可以看出它大致分为两步:历元的转换和框架的转化。这里的历元的改正量应该会随着时间的推移越来越大,ITRF框架之间的差异并不是很大,在精度要求不高的情况下可以忽略框架的转换。 -
Unity坐标转换UI与屏幕坐标之间的转换
2020-04-13 22:57:05这一切的坐标都转换都是通过RectTransform、Camera及Unity坐标转换工具类RectTransformUtility的结合使用。 -正文- UI坐标之间的转换 首先我们来讲讲UI坐标之间的转换,UI坐标之间的转换涉及层级,首先我们需...-前言-
在我们的日常开发中经常会遇到各种坐标的转换,其中可以大致分为两类。
1.将3D世界坐标转换到UI坐标中
2.UI坐标之间的转换
这一切的坐标都转换都是通过RectTransform、Camera及Unity坐标转换工具类RectTransformUtility的结合使用。
-正文-
UI坐标之间的转换
首先我们来讲讲UI坐标之间的转换,UI坐标之间的转换涉及层级,首先我们需要了解的到是RectTransform的anchoredPosition是通过父节点坐标计算出来的,熟悉2D开发的同学应该非常清楚。因此一般我们使用WorldToScreenPoint首先将坐标转换到屏幕坐标然后再通过ScreenPointToLocalPointInRectangle转换到指定RectTransform下的坐标。代码如下
public Vector2 CalPositionAt(RectTransform from, RectTransform at) { //1.获取UI Camera 如果只有一个相机 就是MainCamera = Camera.main Camera uiCamera = GameObject.FindWithTag (Tag.GUICamera); //将from转换到屏幕坐标 Vector2 V2fromInScreen = RectTransformUtility.WorldToScreenPoint (uiCamera, from.transform.position); //将屏幕坐标转换到at的局部坐标中 Vector2 V2InAt; RectTransformUtility.ScreenPointToLocalPointInRectangle (at, V2fromInScreen, uiCamera, out V2InAt); return V2InAt; }
这里唯一值得注意的是在转换时注意at是作为父节点的,转换后的坐标是相对于at的局部坐标。另外注意Camera是渲染所对应的RectTransform相机即可。
3D坐标转到UI局部坐标
其实讲了UI坐标之间的转换,3D与UI坐标的互转的方式都是一个套路,只要涉及层级、3D->2D之间类似转换都先将要转换的坐标转换到屏幕坐标,再转换到所对应的坐标系统中即可。不过还是来码下代码。
public Vector3 CalWorldPositionToLocalRect(RectTransform rect,Vector3 worldPosition) { //1.将3D坐标转到屏幕坐标 一般MainCamera是3D对象摄像机 如果不是获取对应摄像机 Vector2 screenPoint = Camera.main.WorldToScreenPoint (worldPosition); Camera uiCamera = GameObject.FindWithTag (Tag.GUICamera); Vector2 uiPosition; RectTransformUtility.ScreenPointToLocalPointInRectangle(rect,screenPoint,uiCamera,uiPosition); return uiPosition; }
-
gps坐标转换如何转换为深圳坐标
2017-04-10 02:00:46怎么把已知的gps坐标转换为深圳坐标,在线等,急急急!!! -
坐标转换-大地转高斯平面&平面坐标转换
2018-11-27 16:13:46因为我们是获取手机的gps坐标,我们起先是使用的甲方提供的坐标转换服务,发现84大地转到深圳独立坐标(深圳高斯平面坐标)时精度误差极大。于是甲方给我们提供了部分控制点信息,让我们自己去完成坐标的转换,不再... -
坐标转换模型
2018-11-09 17:24:11坐标转换模型 基于不同参考椭球的坐标转换,我们采用转换模型来建立源坐标和目标坐标之间的关系,针对不同类型的坐标,采用不同的转换模型实现坐标转换。 坐标转换模型的数学基础来源于仿射变换,即将位于平面笛卡尔... -
坐标转换原理
2019-04-30 17:06:00一、坐标转换描述 坐标转换是空间实体的位置描述,是从一种坐标系统变换到另一种坐标系统的过程。通过建立两个坐标系统之间一一对应关系来实现。通常坐标转换有平移、缩放、旋转三个方面的转换。本文只详细讲述关于... -
坐标转换系统
2018-06-05 17:23:41在测绘工作中,涉及到各种坐标转换时人们用得最多的软件是武大的科傻软件,但是科傻软件任然存在许多不足的地方,比如科傻的软件不具有高斯投影换带计算以及大转角三维坐标基准转换的功能等。为了开发出一款功能比科... -
屏幕坐标转换世界坐标
2019-03-26 15:38:57屏幕坐标转世界坐标:网上有很多坐标转换的方法,都是直接用Camera.main.ScreenToWorldPoint(Input.mouseposition)直接转换,但这样得到的结果是不正确的,转换的结果为(0,0,0),因为Input.mouseposition是一个... -
GPS坐标转换为百度坐标,百度坐标的转换,原始坐标转百度坐标
2017-10-26 14:09:36需求: 本人因为要把手机传过来的GPS坐标做成一个飞行线路图,而图是百度地图的EChats做的,所以坐标要转换为百度地图的坐标 老规矩,先说一些比较重要的事: 1 , 百度的坐标转换服务是免费的,想要拿到key 必须申请... -
大地坐标转换极坐标(球坐标)
2020-03-23 20:21:411.两个函数一个是大地坐标转换球坐标Geodetic_to_spherical;一个是球坐标转换大地坐标spherical_to_Geodetic。 2.WGS84坐标系的参数:长半轴r=6378137,椭球扁率:f=1/298.257223563,短半轴b=r*(1-f),第一辅助... -
导航中坐标系及坐标转换
2019-03-20 19:17:59导航中坐标系及坐标转换 -
xy坐标转换度分秒_经纬度转换XY坐标软件
2020-12-22 20:08:44经纬度与XY坐标转换工具是一款非常好用的坐标转换器,能够将经纬度转换为XY坐标,对于从事地理相关工作者还是很有用的。有了它就不必去记住公式了,只需输入数值,点击一下就行了。软件功能1、度分秒和度的转换2、... -
百度地图坐标转换为墨卡托坐标
2019-03-18 20:46:39百度地图坐标转换为墨卡托坐标 转换思路 百度坐标系 (BD-09)首先转换为火星坐标系 (GCJ-02) ,根据gci坐标的经纬度再转成墨卡托坐标; 功能代码 /** * * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 * * ... -
Creator 坐标转换
2016-09-16 10:04:29//将世界坐标转换为模型坐标。 convertToNodeSpaceAR(worldPoint);//将世界坐标转换为模型坐标。AR表示相对于锚点。 convertTouchToNodeSpace(touch);//将世界坐标中触摸点转换为模型坐标。 ... -
java geotools 坐标转换
2020-08-08 20:15:30这里写自定义目录标题Java geotools 坐标转换点坐标转换pom文件代码shp坐标系转换 Java geotools 坐标转换 点坐标转换 我点坐标转换为4326到3857,虽然我平时都是4546到3857,都一样。主要时因为我手里没有4546的... -
arcgis坐标转换
2019-03-30 16:28:412000到80坐标转换 原始数据:甲方给的是2000大地坐标系(经纬度坐标系)的八个点经纬度,要求转到80坐标系下,并量测构成面的面积。 可利用资料:1万或5万的国家标准格网改正数(80-2000),改正数可以根据图幅号... -
火星坐标转换工具,支持批量转换
2011-06-22 21:22:23火星坐标转换到地球坐标 地球坐标转换到火星坐标 批量转换工具 欢迎捐赠: 1HDTGpzYCK4BBvA3ik8gX7M1f3oDkX8Aax -
广州坐标系转换大地2000_市级2000国家大地坐标转换
2020-12-23 13:33:41丁庆福 周晓 孙栋摘 要:2000国家大地坐标系是我国建立使用的第一个地心坐标系,根据原国家测绘地理信息局要求,山东省2018年组织开展了全省国土资源数据转换工作,市一...关键词:2000国家大地坐标系 坐标转换 国... -
OpenLayers地图坐标转换屏幕坐标
2017-06-09 21:12:07最近因工作原因开始接触OpenLayers地图,遇到需要将地图坐标转换成屏幕坐标,因为技术有限,在大量查看API、与大神写的文章时候还是有写地方疏忽了,先将整个地图坐标转换地图坐标进行记录。 -
利用FME对坐标文件进行坐标转换
2018-07-03 11:32:59原文发布时间:2010-07-07作者:`Terence在实际数据处理工作中,除了要经常对一些图形数据进行坐标转换外,还会遇到对坐标文件进行坐标转换的问题。这里所说的坐标文件,是指含有坐标数据并按一定的规范组织的坐标... -
地球坐标转换(度分秒转度),火星坐标,百度坐标转换 c++,js ,c# 算法通用
2017-12-07 13:59:27标准坐标 ,google 地图坐标 ,百度地图坐标 转换算法 -
GPS经纬度坐标转换大地坐标
2008-11-11 13:27:37GPS经纬度坐标转换为大地坐标,WGS84到大地坐标的转换源码,含调用界面及示例,高斯克吕格投影算法 -
笑脸坐标转换小工具
2013-08-31 15:14:40坐标转换工具,小笑脸工具,简单好用。很好用的坐标转换小工具。