排行榜 创业指南

扫一扫关注有惊喜

TOP

Android系统下坐标系统转换开发
内容摘要:Android系统下坐标系统转换开发

  [摘要]阐述了一种新的坐标系转换方法,讲述了该方法的设计流程及数据准备。最后给出了本程序C++语言的部分代码及实际运行效果

  [关键词] 7参数 ;坐标系转换 ;Android

  Abstract: This paper describes a new method of coordinate system conversion, described the design of the method and the data preparation process. Finally, the language of the proceedings of C++ code and the actual operation of the key results

  Key words: 7 parameters;coordinate system conversion;Android

  中图分类号: P286+.1 文献标识码: A 文章编号:

  1 引言:

  笔者所在城市不久前进行了该城市坐标系统的转换工作,大规模的数据资料已经批量转换完毕。在一定时间阶段内工作中,经常需要进行对甲方单位提供的原有1954北京坐标系数据至1980西安坐标系的转换以满足作业人员以及甲方单位对新系统成果的要求。考虑到个别地区作业条件特殊情况,结合当今Android智能手机的大量普及的实际情况,笔者参考台式微机上比较成熟的坐标系统转换方法,加以改进移植到今天大量普及的Android智能手机上,以实现及时坐标成果转换要求。该城市的坐标转换7参数已经全部计算完成。在我单位的勘察设计内外业工作中积累了大量的1954北京坐标系成果的原始数据,特别是在第二次国土调查要求使用1980西安坐标系,2000国家坐标系也于2008年7月正式启用后,本程序能部分解决测绘外业人员的坐标转换问题。

  本程序的特点就在于它能根据任意7参数实现1954北京坐标系至1980西安坐标系的转换。

  2 程序思路及算法

  2.1转换所需7参数的计算

  北京1954 坐标系和西安1980 坐标系之间的转换其实是两种不同的椭球参数之间的转换,一般而言比较严密的是用七参数布尔莎模型,即X 平移,Y 平移,Z 平移,X 旋转(WX),Y 旋转(WY),Z 旋转(WY),尺度变化(DM)。若得七参数就需要在一个地区提供3 个以上的公共点坐标对(即北京54 坐标下x、y、z 和西安80 坐标系下x、y、z)。模型为:

  2.2主程序运行流程图

  平面坐标转大地坐标、空间直角坐标转大地坐标在软件中采用迭代的方法进行计算。在空间直角坐标系下采用最小二乘法原理求得参数,然后利用多项式拟合进一步提高转换参数精度。

  程序主要代码如下:

  //最小二乘法

  struct Matrix

  {

  int row,col;//row为行数,col为列数

  double **pm;//指向矩阵二维数组的指针

  };

  //初始化矩阵mt,并置矩阵的行为row,列为col

  void InitMatrix(struct Matrix *mt,int row,int col)

  {

  int i;

  //指定矩阵的行和列

  mt->row=row;

  mt->col=col;

  //为矩阵分配内存

  mt->pm=new double *[row];

  下略.....

  //最小二乘法求解矩阵Ax=b

  int MinMul(Matrix A,Matrix b,double *x)

  {

  int i,j;

  if(b.col!=1) return 0;

  if(A.row!=b.row) return 0;

  Matrix TranA;//定义A的转置

  InitMatrix0(&TranA,A.col,A.row);

  MatrixTran(&A,&TranA);

  中间略

  int MinMul(double **A,double *b,int row,int col,double *x)

  {

  int r,i;

  Matrix Al,bl;

  Al.pm=new double *[row];

  Al.row=row;

  Al.col=col;

  InitMatrix(&bl,row,1);

  for(i=0;i

  {

  Al.pm[i]=A[i];

  bl.pm[i][0]=b[i];

  }

  r=MinMul(Al,bl,x);

  delete []Al.pm;

  DestroyMatrix(&bl);

  return r;

  }

  #endif

  3 程序界面及其效果

  4 总结

  北京54坐标系和西安80坐标系其实是一种椭球参数的转换,作为这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,其是两个不同的椭球基准。两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型。

  本程序在Android2.2环境下通过测试,应用在笔者所在城市第二次土地调查、土地利用规划、日常的内外业测绘工作中,经多次使用验证,转换结果精确使用方便,尤其野外不适合携带笔记本等计算工具的特殊环境下使用。

  参考文献:

  [1] 彭爱文 曹佩瑶 平面坐标转换方法探讨及转换软件的设计思路[J]. 测绘与空间地理信息, 2007, 30(3): 189-191.

  [2]武汉测绘科技大学《测量学》编写组编著(陆国胜修订).测量学(第三版).北京:测绘出版社,1991

责任编辑:中宾科技

标签云: 名人百科网,品牌百科网 辅导班开课通知家长群 美术培训班搬迁通知 少儿美术开课通知 艺术培训班开课通知范文 美术班复课通知 培训班开课通知话术 画室开课通知 美术培训班开课通知模板 培训机构上课温馨提示 奶茶店成功营销方案 美容院顾客裂变方法 老客户转介绍激励方案 转介绍的方案和思路 美容院如何快速裂变 美容院如何玩裂变 裂变客户的十种方法 小型餐饮业营销计划方案 餐饮全年营销方案计划表 餐饮行业营销策划的特点 我开早餐店的真实经历做早餐生意的窍门开早餐店的惨痛经历未来早 线下宣传推广策划方案 产品线下推广活动方案 完整的婚礼策划方案 地推的60种方法 电商平台促销活动方案 线上推广的渠道有哪些 推广品牌的策划方案 地推活动策划方案创意 旅游景区营销推广方案
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇关于ASP.NET的性能优化的.. 下一篇Geomagic软件三维建模研究

相关阅读:

相关栏目

安全提示

最新文章

热门信息

siteMap.txt