在生产生活中,经常需要将南方CASS生成的断面数据修改成为我们所需要的文本格式。在没有现成的转换软件的情况下,又想减轻负担,是否可以自行编写一个数据转换软件,既有效提高工作效率,又保证准确率。有了这一想法便尝试去实现之。

目的

通过程序编写,实现一键式操作,将原本繁琐、重复的工作程序化。在保证准确性的基础上提高工作效率。

环境

Microsoft Visual Studio

界面

程序主要实现转换功能,需要输入和输出及处理控件。将所有功能都实现在菜单栏中,故而在窗体内放置一个菜单栏。

程序设计

1、打开文件

文件打开需要添加openFileDialog控件。在菜单栏双击写入代码的菜单,定义变量:

OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "(南方CASS断面格式)*.hdm|*.hdm";

在打开的同时对数据进行处理。输入文件为南方CASS导出的断面文件,其后缀为(.hdm).观察其数据排列格式,先是一个字符串“BEGIN”,紧接着桩号及序号,然后换行显示距中桩的平距及高程。一行横断面数据完毕后即为下一排横断面数据,数据间由逗号隔开。根据纵断面线前进方向区分平距正负,左侧为负,右侧为正。
读取文件并显示在窗体文本框内,需提前放置一个文本框,设置属性使其可多行显示且带有滚动条方便阅读。

textBox1.Text = File.ReadAllText(dlg.FileName);

通过逗号将每行数据拆分为左右两个数组,

  ShuJu[flag, 1] = line.Substring(0, line.IndexOf(','));ShuJu[flag, 2] = line.Substring(line.IndexOf(',') + 1);flag++;

2、导出

文件导出需要添加saveFileDialog控件。

 saveFileDialog1.Filter = "文本文件txt |*.txt";saveFileDialog1.FilterIndex = 2;saveFileDialog1.RestoreDirectory = true;

将转换后的数据写入,并保存为文本格式。

 myStream = new StreamWriter(saveFileDialog1.FileName);myStream.Write(m_show);//写入myStream.Close();//关闭流

3、数据处理

3.1 纵断面

纵断面仅需要桩号及高程。程序利用循环语句实现。桩号与字符串“BEGIN”同行,中桩的高程即为偏距为0的点位高程。桩号根据需要保留相应位数,桩号后面的序号不需要,舍去。

if (ShuJu[i, 1] == "0.000")
{AK[g] = ShuJu[i, 2];g++;
}
else if (ShuJu[i, 1] == "BEGIN")BK[g] = string.Format("{0:0.0}", Convert.ToDouble(ShuJu[i, 2].Substring(0, ShuJu[i, 2].IndexOf(':'))));

3.2 横断面

横断面的数据格式比较多样,可根据需要来编写程序。本文以其中一种格式为例,其格式为:
桩号,高程
(左侧)偏距,高程,偏距,高程,…
(右侧)偏距,高程,偏距,高程,…

其中,偏距左侧为负,右侧为正。距离值均由近及远。由于左侧数据为负,而导出的数据值由大到小排列,需要对其进行倒序。

DK[g, h] = ShuJu[i, 1] + "," + ShuJu[i, 2] + ",";
for (int k = 0; k<m[g]/2; k++)
{l = DK[j, k]; DK[j, k] = DK[j, m[g]-1-k];DK[j, m[g] - 1 - k] = l;
}

成果

纵、横断面数据输出如下图所示:

并附带相关的帮助文档:

断面测量数据格式转换相关推荐

  1. 批量提取南方+纬地+鸿业断面数据,反推断面高程坐标、断面数据格式转换、批量绘制断面图、批量切断面 CAD/CASS断面插件合集(断面插件教程)

    插件下载: QTools for AutoCAD 下载(APPLOAD命令加载,DM命令打开) 视频教程: QTools for AutoCAD的主页 - QTools官方账号 - 抖音 (douyi ...

  2. 天宝数字水准仪数据格式转换

    天宝数字水准仪数据格式转换 利用C#语言和测量平差相关知识相结合,生成的格式转换软件可应用于测量相关的生产生活中.本文的主要内容是将天宝数字水准仪的数据格式转换为南方平差易相对应的数据格式.从仪器中导 ...

  3. R语言数据格式转换函数、数据类型判断函数(numeric、character、vector、matrix、data.frame、factor、logical)、R语言数据格式类型转换

    R语言数据格式转换函数.数据类型判断函数(numeric数值.character字符串.vector向量.matrix矩阵.data.frame数据表.factor因子.logical逻辑).R语言数 ...

  4. Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)

    Python读取多个excel文件(删除字段.数据格式转换.dataframe多表合并)并写入ElasticSearch实战(自动创建索引.写入ElasticSearch.探索性数据分析) 目录

  5. 目标检测中的数据格式转换工具Roboflow

    目标检测中的数据格式转换工具.Roboflow Roboflow提供了您需要的所有工具,将原始图像转换为定制的训练有素的计算机视觉模型,并部署它在您的应用程序中使用. Roboflow支持检测目标和分 ...

  6. ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换

    如上图所示,分别为: View1:MODIS hdf数据多波段 View2:MODIS NDVI波段 View3:ArcGIS10.8投影变换后的MODIS NDVI View4:ENVI5.4投影变 ...

  7. 【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

    由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:<ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换>,但是该文章中的做法只能一次性 ...

  8. 使用python开发json、csv数据格式转换工具

    使用python开发json.csv数据格式转换工具 json和xml是业界常用的数据格式,而游戏行业经常使用csv配表,包括本地化文本和数值.本文介绍csv和json序列化.逆序列化相关的pytho ...

  9. stp文件怎么变文件夹_PDPS教程之数模数据格式转换-stp文件怎么打开

    PD/PS软件模型数据支持JT格式的文件,一般情况下,资源文件.部件文件均使用包含有JT文件的cojt类型的文件夹来表示.特殊情况下,也可用Robcad的co类型文件.如果在PD/PS软件中使用co格 ...

  10. python结合ogr2ogr之地理数据格式转换-1

    前面写过一篇公众号文章,当时为了能将矢量CAD数据转换成kml,找到了一个开源的.net库netdxf,该库支持dxf文件直接读写,方便快捷: DXF转KML-1http://mp.weixin.qq ...

最新文章

  1. 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
  2. 设计模式 之 《组合模式》
  3. java 日历记事本_calendar 一个用java编写的日历记事本. 具有正常日历功能;也可以用于在不同日期记录下当日重要的事情 - 下载 - 搜珍网...
  4. python读取和存入json文件
  5. 少儿编程150讲轻松学Scratch(十一)-用Scratch巧解数学题——判定质数
  6. java分割汉字_Java分割中英文,并且中文不能分割一半?
  7. goroutine与panic不得不说的故事
  8. 河北科技大学计算机考研率,河北科技大学研究生,河北科技大学考研率!
  9. Python实现简单的人脸打卡系统
  10. oracle学习(1)--------windows环境下的安装和基本操作
  11. 计算机电源24针,ATX电源20针和24针接口定义
  12. uni-app(登录页面)
  13. Python 自动化测试实战
  14. 麻雀虽小五脏俱全----blender介绍
  15. 在线生成条形码(39码、EAN-13)
  16. 安装软件时出现解析包出现问题是什么原因
  17. 7代cpu能装虚拟xp系统吗_小米手机最新系统MIUI 11 推荐,附带小米刷机资源
  18. 使用Android Studio编写一个简单的音乐盒
  19. 基于Echarts实现可视化数据大屏大数据可视化
  20. 《深入理解计算机系统》课本第七章自学笔记——20135203齐岳

热门文章

  1. office和flash计算机课程,Powerpoint和Flash制作教学课件技巧
  2. 最后一波机会!!本周你最不能错过的互联网大会,VIP门票0元限时抢!
  3. 使用Docker部署MySQL
  4. 无线传感器网络中竞争性MAC协议
  5. w ndows模拟器,DS4Windows模拟器
  6. 怎么恢复佳能相机SD卡CF卡误删除格式化的MOV视频
  7. linux zip文件解压命令详解
  8. echarts柱状图铺满_echarts 柱状图多种样式设置
  9. Excel如何根据身份证号码提取出性别
  10. 迪士尼机器人芭蕾舞_这些年迪士尼造的酷萌机器人!