文章目录

  • 前言
  • 界面
  • 程序编写
  • 测试

前言

采用:MATLAB R2019a
功能:完成同一椭球下大地坐标与空间直角坐标互相转换,高斯正反算,单点和批量处理数据。

界面

程序编写

同一目录下,有实现坐标转换和高斯投影的.m文件函数,设计app时调用这些函数就行了。
下面是一些变量及回调函数代码:

 properties (Access = private)ellname % 椭球名称opt %决定坐标转换功能:bl=>xy或xy=>blbelt %带宽anformatendmethods (Access = private)        function func(app)switch app.DropDown.Valuecase 'CGCS2000'app.ellname = 'cgcs2000';case 'WGS-84'app.ellname = 'wgs84';case '1975国际椭球'app.ellname = 'int75';case '克拉索夫斯基椭球'app.ellname = 'kra';endswitch app.DropDown_2.Valuecase '坐标转换BL=>XY'app.opt = 'blh2xyz';case '坐标转换XY=>BL'app.opt = 'xyz2blh';               endswitch app.DropDown_4.Valuecase '6度带'app.belt = 6;case '3度带'app.belt = 3;end            switch app.DropDown_3.Valuecase 'DD.MMSS'app.anformat = 'DD.MMSS';case 'DD.DDDD'app.anformat = 'DD.DDDD';endendend% Callbacks that handle component eventsmethods (Access = private)% Button pushed function: Buttonfunction ButtonPushed(app, event)switch app.DropDown_2.Valuecase '坐标转换BL=>XY'func(app);a(2) = app.BEditField.Value;a(1) = app.LEditField.Value;a(3) = app.HEditField.Value;coordafter = coordtransfer(app.ellname,a,app.opt,app.anformat);app.XEditField.Value = coordafter(1);app.YEditField.Value = coordafter(2);app.ZEditField.Value = coordafter(3);case '坐标转换XY=>BL'func(app);a(1) = app.XEditField.Value;a(2) = app.YEditField.Value;a(3) = app.ZEditField.Value;coordafter = coordtransfer(app.ellname,a,'xyz2blh',app.anformat);app.BEditField.Value = coordafter(2);app.LEditField.Value = coordafter(1);app.HEditField.Value = coordafter(3);endend% Button pushed function: Button_2function Button_2Pushed(app, event)switch  app.DropDown_2.Valuecase '高斯正算'func(app);BL(1) = app.BEditField_2.Value;BL(2) = app.LEditField_2.Value;[x,y,L0,N]=gauss_bl2xy(app.ellname,BL,app.belt,app.anformat);app.xEditField.Value = x;app.yEditField.Value = y;app.EditField_3.Value = L0;app.EditField_2.Value = N;case '高斯反算'func(app);xy(1) = app.xEditField.Value;xy(2) = app.yEditField.Value;L0 = app.EditField_3.Value;[B,L]=gauss_xy2bl(app.ellname,xy,L0,app.anformat);app.BEditField_2.Value = B;app.LEditField_2.Value = L;endend% Button pushed function: Button_3function Button_3Pushed(app, event)switch  app.DropDown_2.Valuecase '坐标转换BL=>XY'func(app);[filename, path] = uigetfile('*.txt');          % 用户选择文件if isequal(filename,0)disp('User selected Cancel');endlbh = load([path,filename]); %载入数据coordafter = coordtransfer(app.ellname,lbh,app.opt,app.anformat);%生成文件fp=fopen('D:\XYZ.txt','w+');%'XYZ.txt'为文件名;'w+'为打开方式:若文件不存在则创建。如果存在则覆盖fprintf(fp,'%f  %f  %f\n',coordafter');%fp为文件句柄,指定要写入数据的文件。注意:%f后有空格。fclose(fp);%关闭文件。msgbox('转换成功!  生成文件D:XYZ.txt');case '坐标转换XY=>BL'func(app);[filename, path] = uigetfile('*.txt');if isequal(filename,0)disp('User selected Cancel');endXYZ = load([path,filename]); %载入数据coordafter = coordtransfer(app.ellname,XYZ,app.opt,app.anformat);fp=fopen('D:\lbhnew.txt','w+');fprintf(fp,'%f  %f  %f\n',coordafter');fclose(fp);msgbox('转换成功!  生成文件D:lbhnew.txt');case '高斯正算'func(app);[filename, path] = uigetfile('*.txt');if isequal(filename,0)disp('User selected Cancel');endbl = load([path,filename]); %载入数据B=bl(:,2);L=bl(:,1);BL=[B L];[x,y,L0,NN]= gauss_bl2xy(app.ellname,BL,app.belt,app.anformat);xyL0N = [x y L0 NN];fp=fopen('D:\xyL0N_gauss.txt','w+');fprintf(fp,'%f  %f  %f  %f\n',xyL0N');fclose(fp);msgbox('转换成功!  生成文件D:xyL0N_gauss.txt');case '高斯反算'func(app);[filename, path] = uigetfile('*.txt');if isequal(filename,0)disp('User selected Cancel');endxyL0N = load([path,filename]); %载入数据                   x = xyL0N(:,1);y = xyL0N(:,2);                   xy = [x y];L0 = xyL0N(:,3);                   [L,B] = gauss_xy2bl(app.ellname,xy,L0,app.anformat);LB = [L B];fp=fopen('D:\lb_gauss.txt','w+');fprintf(fp,'%f %f\n',LB');fclose(fp);msgbox('转换成功!  生成文件D:lb_gauss.txt');endendend

测试

左边的是输入文件,右边的是输出文件。

大地坐标转换为直角坐标

直角坐标转换为大地坐标:

高斯正算:

高斯反算:

MATLAB APP设计相关推荐

  1. MATLAB APP 设计实践(一)UART通信(上篇)

    引言 UART通信属于异步串行通信,通信速率比较低,在一些速度要求不高的场合常用来作为多设备之间的控制与被控制方式.例如以UART串口通信作为上位机侧与运行设备之间的通信形式,实现上位机对设备的操控以 ...

  2. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

  3. matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门

    1.1数学建模与MATLAB–MATLAB入门 关注本专栏,继续分享数学建模与MATLAB知识 一.MATLAB是什么? MATLAB 是目前在国际上被广泛接受和使用的科学与工程计算软件.虽然 Cle ...

  4. MATLAB App Designer 计算器的设计

    作者初涉App设计,看到有前人写了guide版的计算器,所以萌生想法,想用App Designer来设计一个计算器. 有纰漏请指出,转载请说明. 学习交流请发邮件 1280253714@qq.com ...

  5. 基于Matlab App Designer的语音信号分析与处理(二):IIR和FIR滤波器的设计,语音信号的滤波

    接上文:https://blog.csdn.net/weixin_53877178/article/details/122470759 目录 一.课题的任务 二.内容.步骤和要求 (1)语音信号的采集 ...

  6. Matlab:使用 App 设计工具创建并运行简单 App

    Matlab:使用 App 设计工具创建并运行简单 App 运行教程 用于创建 App 的教程步骤 步骤 1:创建坐标区组件 步骤 2:创建滑块组件 步骤 3:更新滑块标签 步骤 4:导航到代码视图 ...

  7. Matlab学习——滑块曲线生成APP设计

    Matlab学习--滑块曲线生成APP设计 因为在以后的版本中将会删除GUIDE, 在删除GUIDE后,App可以继续运行, 但不能在GUIDE中对其进行编辑.所 以本文使用App设计工具创建新App ...

  8. 用MATLAB app designer设计人机交互界面——二阶线性动态电路可视化分析的研究

    用MATLAB app designer设计人机交互界面--二阶线性动态电路可视化分析的研究 这是我第一次尝试写博客,我试着给出电路课上要求的电路实验编程.但是电路的类型有点儿多,所以我只以二阶动态电 ...

  9. 【matlab专题】APP设计(一):APP的作用与开发

    前言 众所周知,Matlab中的app是可以自己进行开发的,一个好的app会使我们在工作上更有效的进行办公,所以好多公司都会做一个简单的app进行工作辅助,今天就来给大家讲一下,app的使用与开发,这 ...

最新文章

  1. java旅游网站毕业论文,基于JAVA技术的旅游网站的开发.doc
  2. Linux如何实现镜像端口
  3. Django连接mysql数据库浅析
  4. 真心酸,程序员工作了十年,衣服和电脑包破了都没钱买新的
  5. python发送json数据_在Websockets上发送JSON
  6. php pdo输出数据库,PHP中PDO对像及PDOStatement::fetch()的用法数据库查询,结果输出处理...
  7. python调用系统命令_linux里面python调用系统命令问题
  8. 2017.3.4 wyd测试
  9. D类IP地址和组播传输
  10. Springboot集成RabbitMQ一个完整案例
  11. 如何查看单元测试的结果 以及异常处理
  12. webstorm简单介绍,webstrom基本使用
  13. 基于切比雪夫多项式的简单GCN网络
  14. Weak Pointer
  15. 最小二乘法的对偶形式(CVX)
  16. PS第一课--基本操作
  17. vue里input根据value改变背景色
  18. 使用TypeScript开发微信小程序的方法
  19. 计算机网络-谢希仁-第7版 第6章 应用层
  20. 【分布族谱】正态分布和二项分布的关系

热门文章

  1. 路由器OpenWrt如何脱机(离线)下载BT文件
  2. 清除Chrome浏览器下默认浅黄色背景(保存密码时出现)
  3. 计算机毕业设计springboot交通事故档案管理平台ryug8源码+系统+程序+lw文档+部署
  4. pip安装tensorflow报错:could not find a version that satisfies the requirement grpcio=1.8.6
  5. 哪些原因会导致TFT LCD显示屏偏色?
  6. android listview嵌套progreesbar更新进度 ftp
  7. 如何进行git ssh文件的配置
  8. win7怎么不能无线连接网络连接服务器,win7网络连接不上|windows7无线网络连接不上怎么办?...
  9. python——函数
  10. python halcon_HALCON高级篇:常用分类器及其特点