Skip to content

2024年测绘程序设计比赛准备的资料,包括通知文件、赛题说明、日程安排、参考资料、参考例程、测试数据、我写的练习程序、写程序步骤总结、C#-WinForm语法、常见问题

LiZhengXiao99/Geomatics-Program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2024测绘程序设计比赛资料

Static Badge Static Badge Static Badge 访问量统计
2024赛前日程安排(点击展开)

赛前日程安排

2024年测绘程序设计比赛选题及说明(点击展开)

2024年程序设计比赛选题及说明


相关资料


国赛六个题

  1. 空间数据探索性分析:计算标准误差椭圆、空间权重矩阵、常用空间自相关指数。

    参考例程:暂无

  2. 遥感图像空间前方交会计算:计算立体像对的投影系数、像空间辅助坐标系坐标及地面摄影测量坐标系坐标。

    参考例程:书上的例程有错,可以参考矿大罗宏昆的 C# 程序

  3. GNSS空间大气改正计算:常用电离层改正模型、对流层改正模型计算。

    参考例程:书上给的例程。

  4. 纵横断面计算:道路纵断面、横断面的相关点位计算,以及断面面积计算。

    参考例程:22年国赛题,书上例程是 VB 的而且读文件的时候有 BUG(有个换行符写错了),可以参考矿大罗宏昆的 C# 程序我的22年国赛程序

  5. 大地线长度计算:根据地球椭球参数和椭球面上的大地经纬度坐标,计算两点之间的大地线长度。

    参考例程:书上给的例程,也可以参考大地主题正反算例程,因为大地线长度计算是大地主题反算的一部分。

  6. 曲线拟合:利用五点光滑法进行曲线拟合。

    参考例程:书上给的例程。


如何准备测绘程序设计比赛

  1. 学C#基础语法

    • 如果有编程基础,就无需系统的学 C# 语法,看看C#语言介绍,直接看代码,也可以看看我总结的常用 C#&WinForm 语法;
    • 没有语法基础,找一套视频教程学,跟着敲代码,学点基础,建议找 20 小时以内的教程;
    • 不懂的语法,问 AI,查微软 MSDN 官方文档,不要看 CSDN 之类的论坛上乱七八糟的文章。
  2. 学WinForm

  3. 先把一套题学懂

    • 看懂题目和数据文件

    • 运行例程,导入数据,计算,记住程序操作逻辑,确认程序能正确运行;

    • 看懂例程:①先看例程的界面设计,用到了哪些控件;②类型定义;③程序初始化,也就是主窗体的构造函数;④文件读取,理清数据文件中的数据与变量的对应关系;⑤对着公式看数据处理的代码,看看与公式符不符合;⑥看结果展示、输出计算报告的代码。

    • 模仿例程写一遍:①自己新建一个项目,②设计界面,③定义用到的类型,④写数据读取代码,⑤写代码展示读取到的数据,⑥照着题目公式敲数据处理代码,⑦写代码展示计算结果,⑧写代码输出计算报告TXT文件。

    • 脱离例程写一遍:按自己的理解来写,写的时候可以看题目,不要看例程,写完之后再跟例程的结果做对照。

  4. 总结一套编程模板,比赛的时候按套路来写程序

    • 设计思想:花尽量少的时间,尽可能的让程序更有条理、更模块化、更易扩展。

    • 界面设计:保证在五分钟之内能实现;能在属性栏进行的控件配置就在属性栏做,不要写代码。

      6bed8c898685fb89513327654ea263b3
    • 命名风格:字段和变量小写字母开头,类、函数大写字母开头。

    • 类型定义:主要就写三个类,创建对应的三个文件,所有字段和方法都写成 Public:

      • DataCenter:一个数据存储类存所有数据,包括,
      • Calculate
      • FileHelperReadFile() 函数实现读取文件、SaveFile() 函数实现导出计算报告。
    • 全局变量:写在 public partial class Form1 : Form 下面,也就是用 Form1 的字段来实现类似于全局变量的效果。

      • DataCenter dataCente = new DataCenter();:存所有数据;
      • :存生成的计算报告字段;
      • :标识系统执行状态。
    • 面向过程:一万行以上的程序才值得好好的进行面向对象设计;程序在三个地方执行:

      • 主窗体构造函数:点开程序的时候就会执行,可以放一些初始化的代码,。
      • 读取文件按钮的点击事件:创建 FileHelper 类对象,调用其 ReadFile() 函数导入数据到 dataCenter,显示读到的数据到的数据到窗体控件上。
      • 数据处理按钮的点击事件
  5. 有闲工夫可以按自己整理的编程模板套路把几个题都练一遍

  6. 装一个离线版MSDN,除了这个比赛我从来不用C#,语法不一定记得住,比赛时候忘了可以查一下。

  7. 配置VS2017快捷键


常见问题(欢迎提Issue补充)

  • 下载例程了之后,如何在VS2017中打开?

    • 确保 VS 中安装了 C# 语言和 .NET 环境;

    • 双击 .sln 是打开解决方案,双击 .csproj 是打开项目,一个解决方案可以包含多个项目;

    • 如果双击没反应,尝试去设置打开方式,选择 VS 打开。

  • 打开解决方案或项目报错:未能成功构建其中一个或多个项目。

    • 可能是程序文件夹没解压,Win11 中压缩文件夹可以直接在资源管理器中点开,看着和普通文件很像,很容易就忘了解压;
    • .sln 打开程序失败,可以试试直接点 .csproj 打开项目。
  • 更改到目标框架

    • 安照提示点确认,一般就可以了。

About

2024年测绘程序设计比赛准备的资料,包括通知文件、赛题说明、日程安排、参考资料、参考例程、测试数据、我写的练习程序、写程序步骤总结、C#-WinForm语法、常见问题

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published