坐标转换程序设计matlab资料下载.pdf

上传人:wj 文档编号:5968107 上传时间:2023-05-05 格式:PDF 页数:69 大小:1.07MB
下载 相关 举报
坐标转换程序设计matlab资料下载.pdf_第1页
第1页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第2页
第2页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第3页
第3页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第4页
第4页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第5页
第5页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第6页
第6页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第7页
第7页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第8页
第8页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第9页
第9页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第10页
第10页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第11页
第11页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第12页
第12页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第13页
第13页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第14页
第14页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第15页
第15页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第16页
第16页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第17页
第17页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第18页
第18页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第19页
第19页 / 共69页
坐标转换程序设计matlab资料下载.pdf_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

坐标转换程序设计matlab资料下载.pdf

《坐标转换程序设计matlab资料下载.pdf》由会员分享,可在线阅读,更多相关《坐标转换程序设计matlab资料下载.pdf(69页珍藏版)》请在冰点文库上搜索。

坐标转换程序设计matlab资料下载.pdf

关键词:

坐标转换,换带,参考椭球,MATLAB,图形用户界面AbstractThisarticleexpatiatesthedesignandimplementationofacomputingprogramforcoordinateconversion,operationofMATLAB.Withprogrammedlanguage,thearticledesignstheprogramofsolvingthecommoncoordinateconversionproblemsintheengineeringsurvey,whichregardsMATLABasanexploitationbasis.coordinateconversionisaprofessionalproblemwhichisdifficulttosolve,tosolvetheexistedproblems,theoperatingmodesofwindows,menusandwidgetsareadopted.Moreover,theWYSWYGhumanizedprogramdesignsarerealized.Theprogramdesignscomefromtwoaspects.Firstly,thepowerfuloperationfunctionoftheprogramisguaranteed.Secondly,thevisualizationisdesigned.Theprogramoperationmeetstheneedswhichengineeringsurveypersonnelneedtohavethecoordinateconversionoperationanddataanalysis.Meanwhile,theprogramdesignsthecoordinateconversionfunction,includingcoordinateconversionamongdifferentcoordinatesystemsandbetweentwoprojectionzones,realizingthecomputationof4parametersaswellas7parametersunderthecoordinatesamongdifferentcoordinatesystems.Aboveall,thearticleincludesthemeaningandcontentoftransformation,basicmodelselectionofcoordinatestransformation,calcu1ationoftransformationparameters,calculationmethodoftransformationandproblemsexistingintransformation.CalculationareresearchedanddiscussedinthispaperinordertomeasuretransformationcalculationofdifferentcoordinateinpracticeandtheoryKeywords:

Coordinateconversion,Stripeexchange,Referenceellipsoid,MATLAB,GUI3目目录录前言.11MATLAB程序设计基础.21.1MATLAB程序设计基础4.21.1.1MATLAB系统概述.21.1.2MATLAB程序设计的基本原则.21.1.3MATLAB中的变量和常量.21.1.4矩阵运算基本操作及操作技巧.31.1.5MATLAB的文件类型及常用函数.31.2数据文件的输入和输出.41.2.1文件的打开与关闭.41.2.2文件读写命令函数.41.3MATLAB图形用户界面设计.41.3.1菜单设计.41.3.2对话框设计.51.3.3图形用户界面设计工具.52坐标转换的基本理论.82.1坐标系的分类.82.1.1坐标系的分类.82.1.2常用的坐标系统.92.1.3地球椭球的基本几何参数及其相互关系.112.2高斯投影的基本概念.152.2.1基本概念.152.2.2高斯投影坐标正算.172.2.3高斯投影坐标反算.182.3地方独立平面坐标系.192.3.1工程测量中几种可能采用的直角坐标系.203坐标转换的数学模型.223.1坐标系变换.223.1.1空间直角坐标系与空间大地坐标系间的转换.223.1.2空间坐标系与平面直角坐标系间的转换.233.2基准转换.243.2.1七参数转换公式.243.2.2四参数转换公式13.263.3坐标转换基本模型在测量实践和理论中的应用及分析.273.3.1同一基准下坐标转换计算.273.3.2不同基准下坐标转换计算.274坐标转换程序设计.304.1程序整体设计.304.1.1参数设计.304.1.2坐标转换模块.314.1.3程序功能设计图.324.2利用MATLAB实现坐标转换的函数.324.2.1程序基本函数.324.2.2坐标转换类函数.324.2.3GUI程序代码.324.2.4基于GUI程序界面设计.33结论.40致谢.错误!

未定义书签。

错误!

参考文献.42附录.431前言随着现代测绘科学技术的发展,常规大地测量方法已逐渐被卫星大地测量方法所取代。

藉助于卫星大地测量可在一个三维地心坐标系中测定和表述地面点的空间位置,即可表示为三维空间直角坐标,也可表示为相应于某一椭球面的大地经纬度、大地高,因此空间大地直角坐标系及其各种转换关系在现代大地测量中具有现实意义。

我国近年来已有很多城市采用GPS技术来建立和改造平面控制网,由于过去都年来积累的成果成图资料数量巨大,并仍具有宝贵的利用价值,必须考虑数据资料的连续性和相对稳定性。

而且许多城市控制网质量较高,并采用的坐标系经过科学论证,设置合理,因此须将GPS测量数据归算到原有控制网的平面坐标中去,并用GPS技术来扩展和改善原有的地面控制网。

工程施工过程中,常常会遇到不同坐标系统间,坐标转换的问题。

施工坐标系与测量坐标系往往不一致,在计算测设数据时需要进行坐标换算。

坐标转换一直是专业性强且不易解决的问题,能够开发出一套既运算速度快又能保持高精度的坐标转换软件,将会给经济建设、科学技术和国防提供便利、高效的服务。

针对复杂的坐标转换计算过程,作者利用MTATLAB实现了不同坐标系统的转换,使用户能够简单、方便地实现不同坐标系统中单点、批量点的坐标转换,针对目前坐标转换软件功能单一、操作不方便等问题,采用窗口、菜单、控件的操作方式,实现了所见即所得的人性化界面设计。

本程序设计实现了不同参考椭球情况下七参数和四参数的计算过程、不同坐标系统的坐标转换和换带计算程序化。

不仅阐述了程序的坐标转换功能设计、可视化设计,还对坐标转换的理论基础进行了探讨,诠释了测量坐标转换的含义和内容,论述了坐标转换的数学模型及运算理论,针对坐标转换基本模型的选用、转换参数的解算、转换计算的方法、转换计算中值得注意的问题加以研究和探讨,以便实现在测量实践和理论中各类不同坐标之间的转换计算。

并叙述了程序的功能、实现方案及实现过程,给出了实现一些运算功能的流程及相应的部分重要语句和代码。

经过实例论证,程序的运行能够满足工程测量人员对坐标转换运算和坐标数据分析的需要。

基于MATLAB的坐标转换程序设计21MATLAB程序设计基础1.1MATLAB程序设计基础41.1.1MATLAB系统概述MATLAB是英文“矩阵实验室”MatrixLaborratory的缩写,全部用C语言编写。

其具有一下特点:

(1)以复数矩阵作为基本编程单元,矩阵运算如同其他高级语言中的变量操作一样方便,而且矩阵无需定义即可采用。

(2)语言书写简单。

(3)语句功能强大。

(4)有丰富的图形功能。

(5)提供了许多面向应用问题求解的工具箱函数。

(6)有丰富的外部程序接口,可以实现多种语言共享资源,在实践中可充分发挥各种语言的优越性。

1.1.2MATLAB程序设计的基本原则突破以往其他程序语言经常采用的循环思想,尽量用MATLAB矩阵式语言书写程序,使得程序简洁,执行效率高。

在程序设计中尽量避免重复的脚本代码,多用MATLAB提供的函数。

系统中的函数要比用一般代码编的函数执行效率高很多。

在编写比较大的程序时,应该对各个细节以函数或子过程方式处理,避免矩阵混淆。

在程序编制过程中,各个功能部分尽量封装在函数中,这样不但可以减少全局变量个数,而且对各个函数的修改要比对整个程序的修改方便得多。

1.1.3MATLAB中的变量和常量在MATLAB中,变量名可由字母A-Z、a-z、数字和下划线“_”组成,但第一个字符必须是字母。

注意:

MATLAB是区分大小写字母的,如矩阵a和A是不一样的。

在变量使用之前,用户不需要指定一个变量的数据类型,也不必声明变量。

MATLAB有许多不同的数据类型,这对决定变量地大小和形式是有价值的,特别适合于混合数据类型、矩阵、细胞矩阵、结构和对象。

3变量有局部变量和全局变量两种。

局部变量(local)是存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于函数本身。

全局变量(global)是在不同的工作空间以及基本工作空间中可以被共享的变量。

必须用global逐个对具体变量加以专门定义,没有global定义的函数和基本空间,将无权享用全局变量。

1.1.4矩阵运算基本操作及操作技巧

(1)矩阵的输入直接输入:

行元素间用空格或逗号(,)隔开;

行与行之间用分号(;

)或回车;

整个元素列表用括起。

(2)通过下标扩充矩阵;

拆分矩阵。

(3)矩阵元素的换位1.1.5MATLAB的文件类型及常用函数

(1)文件类型M文件:

用于存储函数过程;

Figure文件:

用于显示、存储图形;

Module文件:

用于进行仿真(Simulink)操作及存储;

GUI文件:

用于编辑,存储程序界面。

在MATLAB中,最常用的是M文件。

MATLAB是一种解释性语言,用户发出的指令需要送到MATLAB系统内解释,而M文件实际上就是记录指令的文本,用以统一将命令送入系统内解释。

M文件的语法与C语言的很相似,对一定变成基础的用户来说,掌握MATLAB的编程不是一件难事。

M文件有命令式(Script)和函数式(Function)两种形式。

命令式文件就是MATLAB内部命令的简单叠加,MATLAB会按顺序执行文件中的命令,这种方式常用来形成主函数。

函数式文件用以解决参数传递和函数调用的问题,每个具体的功能一般用此方式实现,它的第一句以Function语句为引导。

(2)MATLAB中的常用函数基于MATLAB的坐标转换程序设计4求逆函数inv(x),求和函数sum(x,dim),常用矩阵:

ones(M,N)、zeros(M,N)、eye(M,N)、rand(M,N)求矩阵的维数B=size(X,dim)判断矩阵是否为空isempty(X)改变矩阵大小reshape(X,M,N)寻找矩阵中的非零元素I,J=find(X)。

1.2数据文件的输入和输出1.2.1文件的打开与关闭

(1)fopen:

fid=(FILENAME,PERMISSION),PERMISSION常设的参数如下:

r为只读;

w为写文件(如果需要则创建新文件);

a为在文件后添加(如果需要则创建新文件);

r+为读写文件;

a+为读和添加文件(如果需要则创建新文件)。

在默认情况下,以上几种方式打开的二进制文件,如果要打开文本文件,需要在字符串中增加t,例如rt,wt等,以读方式打开一个文件时,如果在当前目录中找不到指定的文件,fopen会自动搜索路径中查找这个文件;

如果成功地打开了一个文件,则得到文件句柄(一个整型数),否则返回-1。

fid=1的文件是标准输出(standardoutput),fid=2的文件是标准出错(standarderror)。

(2)fclose:

ST=fclose(fid)。

关闭FID对应的文件,若成功,返回0,否则,返回-1。

其中如果fid=all,则关闭所有文件。

1.2.2文件读写命令函数

(1)fscanf:

从文件中读入格式化后的数据。

A,COUNT=fscanf(fid,FORMAT,SIZE)

(2)fprintf:

向文件中写入格式化数据。

COUNT=fprintf(fid,format,A)(3)feof:

判断是否到达文件尾。

(4)uigetfile:

打开文件的标准文件对话框。

FILENAME,PATHNAME,FILTERINDEX=uigetfile(FILTERSPEC,TITLE)1.3MATLAB图形用户界面设计1.3.1菜单设计建立用户菜单:

要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。

5建立一级菜单项的函数调用格式为:

一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)建立子菜单项的函数调用格式为:

子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,)菜单对象常用属性:

菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。

1.3.2对话框设计

(1)对话框的控件在对话框上有各种各样的控件,利用这些控件可以实现有关控制。

按钮(PushButton)、双位按钮(ToggleButton)、单选按钮(RadioButton)、复选框(CheckBox)、列表框(ListBox)、弹出框(PopupMenu)、编辑框(EditBox)、滑动条(Slider)、静态文本(StaticText)、边框(Frame)。

(2)对话框的设计1建立控件对象MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:

对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。

2控件对象的属性MATLAB得10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。

除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。

1.3.3图形用户界面设计工具

(1)GUI设计模板在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。

MATLAB为GUI设计一共准备了4种模板,分别是BlankGUI(默认)、GUIwith基于MATLAB的坐标转换程序设计6Uicontrols(带控件对象的GUI模板)、GUIwithAxesandMenu(带坐标轴与菜单的GUI模板)与ModalQuestionDialog(带模式问话对话框的GUI模板)。

当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。

(2)GUI设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。

选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。

GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。

GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。

(3)GUI设计窗口的基本操作在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。

例如,创建一个PushButton对象,并设计该对象的属性值。

对象属性查看器利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,从GUI设计窗口工具栏上选择PropertyInspector命令按钮,或者选择View菜单下的PropertyInspector子菜单,就可以打开对象属性查看器。

另外,在MATLAB命令窗口的命令行上输入inspect,也可以看到对象属性查看器。

在选中某个对象后,可以通过对象属性查看器,查看该对象的属性值,也可以方便地修改对象属性的属性值。

(4)菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。

从GUI设计窗口的工具栏上选择MenuEditor命令按钮,或者选择Tools菜单下的MenuEditor子菜单,就可以打开菜单编辑器。

菜单编辑器左上角的第一个按钮用于创建一级菜单项。

第二个按钮用于创建一级菜单的子菜单。

菜单编辑器的左下角有两个按钮,选择第一个按钮,可以创建下拉式菜单。

选择第二个按钮,可以创建ContextMenu菜单。

选择它后,菜单编辑器左上角的第三个按钮就会变成可用,单击它就可以创建ContextMenu主菜单。

在选中已经创建的ContextMenu主菜单后,可以单击第二个按钮创建选中的ContextMenu主菜单的子菜单。

与下7拉式菜单一样,选中创建的某个ContextMenu菜单,菜单编辑器的右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。

菜单编辑器左上角的第四个与第五个按钮用于对选中的菜单进行左移与右移,第六与第七个按钮用于对选中的菜单进行上移与下移,最右边的按钮用于删除选中的菜单。

(5)位置调整工具利用位置调整工具,可以对GUI对象设计区内的多个对象的位置进行调整。

从GUI设计窗口的工具栏上选择AlignObjects命令按钮,或者选择Tools菜单下的AlignObjects菜单项,就可以打开对象位置调整器。

对象位置调整器中的第一栏是垂直方向的位置调整。

对象位置调整器中的第二栏是水平方向的位置调整。

在选中多个对象后,可以方便的通过对象位置调整器调整对象间的对齐方式和距离。

(6)对象浏览器利用对象浏览器,可以查看当前设计阶段的各个句柄图形对象。

从GUI设计窗口的工具栏上选择ObjectBrowser命令按钮,或者选择View菜单下的ObjectBrowser子菜单,就可以打开对象浏览器。

例如,在对象设计区内创建了3个对象,它们分别是EditText、PushButton、ListBox对象,此时单击ObjectBrowser按钮,可以看到对象浏览器。

在对象浏览器中,可以看到已经创建的3个对象以及图形窗口对象figure。

用鼠标双击图中的任何一个对象,可以进入对象的属性查看器界面。

(7)Tab顺序编辑器利用Tab顺序编辑器(TabOrderEditor),可以设置用户按键盘上的Tab键时,对象被选中的先后顺序。

选择Tools菜单下的TabOrderEditor菜单项,就可以打开Tab顺序编辑器。

例如,若在GUI设计窗口中创建了3个对象,与它们相对应的Tab顺序编辑器。

基于MATLAB的坐标转换程序设计82坐标转换的基本理论一个完整的坐标系统是由坐标系和基准两方面要素所构成的。

坐标系指的是描述空间位置的表达形式,而基准指的是为描述空间位置而定义的一系列点、线、面。

在大地测量中的基准一般是指为确定点在空间中的位置,而采用的地球椭球或参考椭球的几何参数和物理参数,及其在空间的定位、定向方式,以及在描述空间位置时所采用的单位长度的定义。

2.1坐标系的分类2.1.1坐标系的分类所谓坐标系指的是描述空间位置的表达形式,即采用什么方法来表示空间位置。

人们为了描述空间位置,采用了多种方法,从而也产生了不同的坐标系,如直角坐标系、极坐标系等。

在测量中,常用的坐标系有以下几种:

(1)空间直角坐标系空间直角坐标系的坐标系原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向起始子午面与赤道的交点,Y轴位于赤道面上,且按右手系与X轴呈90夹角。

某点在空间中的坐标可用该点在此坐标系的各个坐标轴上的投影来表示。

(见图2.1)zyxA(X,Y,Z)ZYXO图2.1空间直角坐标系

(2)空间大地坐标系空间大地坐标系是采用大地经、纬度和大地高来描述空间位置的。

纬度是空间的点与参考椭球面的法线与赤道面的夹角,经度是空间中的点与参考椭球的自转轴所在的面与参考椭球的起始子午面的夹角,大地高是空间点沿参考椭球的法线方向到参考椭球面的距离。

9A(B,L,H)BLH0起始子午面赤道图2.2空间大地坐标系(3)平面直角坐标系平面直角坐标系是利用投影变换,将空间坐标(空间直角坐标或空间大地坐标)通过某种数学变换映射到平面上,这种变换又称为投影变换。

投影变换的方法有很多,如UTM投影、Lambuda投影等,在我国采用的是高斯-克吕格投影,也称为高斯投影。

2.1.2常用的坐标系统

(1)WGS-84坐标系WGS-84坐标系是目前GPS所采用的坐标系统,GPS所发布的星历参数就是基于此坐标系统的。

WGS-84坐标系统的全称是WorldGeodicalSystem-84(世界大地坐标系-84),它是一个地

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2