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

网站开发什么时候用缓存网站建设seo

网站开发什么时候用缓存,网站建设seo,网站怎么增加代码,甘肃做网站【Unity】坐标转换经纬度方法(应用篇) 解决地图中经纬度坐标转换与unity坐标互转的问题。使用线性变换的方法,理论上可以解决小范围内所以坐标转换的问题。 之前有写过[Unity]坐标转换经纬度方法(原理篇),在实际使用中&#xff0c…

【Unity】坐标转换经纬度方法(应用篇)

解决地图中经纬度坐标转换与unity坐标互转的问题。使用线性变换的方法,理论上可以解决小范围内所以坐标转换的问题。

之前有写过[Unity]坐标转换经纬度方法(原理篇),在实际使用中,由于步骤比较繁琐,基于之前的方法,详细说明使用方法。

案例资源下载地址

一、使用步骤

  • 绑定脚本
  • 建立控制原点和配准点
  • 获得变换二项式
  • 坐标互转方法

1.绑定脚本

导入资源包后可以看见一下目录结构

  • Examples下的坐标转换使用是演示demo

  • Transfromation下的是功能脚本

将ChangeMatrixMgr拖入场景中的任意一个GameObject下即可,演示demo中是放在空物体GameManager下。

2.建立控制原点和配准点

(1)建立控制原点

在目录中找到Prefab下的Piont拖入场景中,并摆放到一个比较特殊容易辨别的位置。(控制点尽量放在地图的中间区域)

随便在网上找到一个获取经纬度的网站,用于获取经纬度。

经纬度查询定位 拾取坐标系统

选择影像图,在地图中找到Piont摆放的位置

这里可以得到该点的经纬度。把经纬度填写到Piont下的组件ChangePoint里的LonLatPoint中,X填纬度,Y填经度

将控制原点Piont拖入ChangeMatrixMgr中的OriginPoint下(红框放入控制点)

(2)建立配准点

配准点的建立和控制点一样,建立后放如GruberPoints数值中。

注意:配准点至少建立两个

3.获得变换二项式

配准点和控制原点建立好后,便可以创建变换的二项式

读取配准点对应的经纬度坐标和本地坐标到数组

  List<DoubleVector2> LonLatPoints;//经纬度坐标点数组List<DoubleVector2> LocalPoints;//本地坐标点数组  
void ExtractionCoordinate(){LonLatPoints = new List<DoubleVector2>();LocalPoints = new List<DoubleVector2>();int length = GruberPoints.Length;for (int i = 0; i < length; i++){LonLatPoints.Add(GruberPoints[i].LonLatPoint - OriginPoint.LonLatPoint);LocalPoints.Add(GruberPoints[i].LocalPoint - OriginPoint.LocalPoint);}}

创建二项式

    public DoubleVector4 ToLonLatMatrix;//转经纬度二项式public DoubleVector4 ToLocalMatrix;//转本地坐标二项式void CreateMatrix(){ExtractionCoordinate();changeMatrixUtil = new ChangeMatrixUtil(LonLatPoints, LocalPoints, errorValue);ToLonLatMatrix = changeMatrixUtil.ToLonLatMatrix;ToLocalMatrix = changeMatrixUtil.ToLocalMatrix;}

二项式的值只需要创建一次,后面可以复用。

可以单独复制赋值,赋值后可以移除配准点,上面的ExtractionCoordinate和CreateMatrix两个方法可以不调用。

二项式只要有值,重新运行也不影响。

4.坐标互转方法

        /// <summary>/// 变换坐标/// </summary>/// <param name="Vector">要转换的坐标</param>/// <param name="ChangeMatrix">变换行列式</param>/// <param name="BZero">变换后原点坐标</param>/// <param name="FZero">要转换的原点坐标</param>/// <returns></returns>public static DoubleVector2 GetChangeVector(DoubleVector2 Vector, DoubleVector4 ChangeMatrix, DoubleVector2 BZero, DoubleVector2 FZero)

demo

  DoubleVector2 lonLatPoint= DoubleVector2.GetChangeVector(test.LocalPoint, ToLonLatMatrix, OriginPoint.LonLatPoint, OriginPoint.LocalPoint);

经纬度转本地

第一个参数传入经纬度坐标;

第二个参数传入转本地坐标的二项式;

第三个参数传入本地坐标的控制原点;

第四个参数传入经纬度坐标控制原点

本地转经纬度

第一个参数传入本地坐标;

第二个参数传入转经纬度坐标的二项式;

第三个参数传入经纬度坐标控制原点;

第四个参数传入本地坐标的控制原点

二、扩展

1.产生误差的原因

地球是不规则的球体,将球体投影到平面上是不能正交投影的,必然出现位置的偏移,投影方式的不同就会产生不同的坐标系,比如WGS84,GCJ-02等,同样的经纬度在不同的坐标系下位置是不一样的,而且差距很大。

2.报NaN计算出错的原因

当配准点过多时,配准点的位置和出现错误,或者配准点的坐标系不一致,会导致二项式无法求出。

解决方法:

  1. 减少配准点数量
  2. 修改ChangeMatrixMgr下的ErrorValue参数
  3. 检查配准点

置是不一样的,而且差距很大。

2.报NaN计算出错的原因

当配准点过多时,配准点的位置和出现错误,或者配准点的坐标系不一致,会导致二项式无法求出。

解决方法:

  1. 减少配准点数量
  2. 修改ChangeMatrixMgr下的ErrorValue参数
  3. 检查配准点
http://www.yayakq.cn/news/387372/

相关文章:

  • 北京网站优化什么价格跨境电商平台有哪些可以加盟
  • 网站建设玖金手指谷哥十wordpress纯商城系统
  • 点评网站开发中山网页设计培训
  • 电商公司做网站定制程序网站
  • 网页免费建站广西南宁市有哪些网络公司
  • 新乡做网站优化织梦模板是什么
  • 绵阳免费网站建设做营销网站制作
  • 做it的要给赌场网站做维护吗南昌专业制作网站
  • 织梦网站添加视频怎么上传视频到公司网站
  • 社交网站有哪些如何做网站开发费算无形资产吗
  • 金湖做网站360做的网站首页
  • 青海贸易网站建设公司广州做网站服务
  • 做ppt比较好的网站有哪些移动端官网
  • 别人用我公司权限做网站手机无法安装wordpress
  • 网页制作与网站建设实战教程视频教程免费制作图片的软件有哪些
  • 公司网站策划宣传网站推广的常用方法有哪些
  • 东莞seo建站优化哪里好学校网站建设规范
  • 管理系统网站开发报价自豪的由wordpress驱动
  • 网站建设发展制度重庆市建设项目环境申报表网站
  • 一个网站域名一年要多少钱网站建设招标书模板
  • 江门做公司网站长春专业做网站的公司有哪些
  • jsp网站建设项目主机托管一年多少钱
  • 福田网站改版最优秀的无锡网站建设
  • 南昌做任务的网站网站制作 手机版
  • 网站建设流程包括哪些做网站和推广工资多少钱
  • 如何做正规的采集网站临沂做网站企业
  • 产品网站策划书方案seo关键词工具
  • 河南做网站最好的公司iis 5 如何添加网站
  • 让wordpress首页不显示正文网络seo外包
  • 制作网站报价pacdora 设计网