下载:界址坐标格式转换器安装包-C#文档类资源-CSDN下载
因工作原因,常常需要对界址坐标数据进行处理后格式转换输出,而完成这一目的,需要用到ArcGis、AutoCad、Excel、Notepad++等专业软件进行一系列操作方能实现,为减少这些繁琐的操作,特采用C#编写了这个工具。
一、程序功能:
1、读取.shp、.dwg、.txt坐标格式文件;
2、导出.shp、.dwg、.txt、.kml坐标格式文件;
3、计算几何面要素的面积、周长、质心坐标;
4、查看地块拐点坐标;修改坐标带号、坐标整体偏移;
5、属性表数据编辑(创建、删除、修改、复制、粘贴)、导出表数据到Excel;
6、表数据排序(字段排序,图形排序);
7、表数据统计分析;
8、投影变换、查看投影定义;
9、导出图斑图形图片;
二、运行环境:windows平台,.net Framework 4(请确保电脑安装了.net Framework 4或以上版本,如未安装请前往https://www.microsoft.com/zh-CN/download/details.aspx?id=17851下载进行安装),Teigha4.0类库(已附程序目录,用于读写cad的dwg格式文件)。
三、操作说明
(一)程序安装:1、下载程序安装包 “界址坐标转换器setup”, 2、双击 “界址坐标转换器setup”安装程序,3、运行程序,如果提示错误,则需要安装.net Framework 4
(二)坐标的数据导入
1、.shp格式文件导入,[note:支持属性表*.dbf字符编码为GB2312和UTF-8,支持打开只有一个.*shp文件(缺失*.dbf、*.shx等文件不影响坐标文件的读取,导出将重新生成,可以修复这种情况下的shpfile在ArcGis中打开)]。具体操作有如下三种方式:
①按住鼠标左键拖放.shp文件到【界址坐标转换器.exe】上方释放。
②双击运行【界址坐标转换器.exe】,按住鼠标左键拖放.shp文件到【Shape数据转换】窗口上方释放。
③双击运行【界址坐标转换器.exe】,【Shape数据转换】窗口点击按钮【从Shapefile转换】,在文件选择对话框中选择.shp文件。
2、.dwg格式文件导入,只对具有闭合属性的多线段进行shape面的转换(在多线段特性中设置闭合)。具体操作与1、同样。
3、.txt格式坐标文件导入,[note:支持GB2312(简体中文)、utf-8两种字符编码的txt文件,文本格式应符合附录《勘测定界界址点坐标交换格式》(Y坐标为带号坐标),所有txt格式文件存放到一个目录(文件夹),亦可放置在该目录下的子目录,程序将会遍历该目录下(包含子目录)所有txt坐标文件]。具体操作与1、同样(拖放、打开选择的是文件夹)。
(三)数据导出
1、转.shp文件,主窗口中点击按钮 [转ShpFile(S)],进行相应设置,确定。
2、转.dwg文件,主窗口中点击按钮 [转.DwgFile(D)],进行相应设置,确定。
保存后的文件,在AutoCad中打开时会提示“此DWG文件由非Autodesk开发或许可的应用程序保存。希望执行什么操作?” →继续打开DWG文件
3、转.txt坐标文件,主窗口点击按钮[转TxtFile(T)]->转界址坐标格式 (J)
txt输出功能基于模板,可以自由定义文本输入格式,方括号表示字段或图形属性数据,如果数据不存在则输出为空,相关字段属性说明可以点击对话框右上角“说明”按钮进行查看:
聚合输出:所有图斑输出到一个单独的txt文件
地块输出:每个图斑按命名规则生成Txt文件。
文本编码:utf-8、带Bom的utf-8、GB2312
单击“预览”按钮可以查看生成文件的部分图斑内容
Txt模板编辑,作者精力有限没有写模板编辑功能,在这里大概说一下如何编辑模板,编辑模板最好备份,以便出错后可以恢复。
①用txt文件编辑类软件打开安装目录下的TxtTemplate.config文件
②修改<template>标签内容
1 <template name="转界址坐标格式(&J)" single="true" encoding="utf-8"> 2 <property mark="[属性描述]"> 3 格式版本号= 4 数据产生单位= 5 数据产生日期=[Date] 6 坐标系=2000国家大地坐标系 7 几度分带=3 8 投影类型=高斯克吕格 9 计量单位=米 10 带号= 11 精度= 12 转换参数=,,,,,, 13 </property> 14 <fields mark="[地块坐标]"> 15 [*PointsCount],[DKMJ],[DKBH],[DKMC],[Shape*],[TFH],[DKYT],[DLBM],@ 16 </fields> 17 <points round="3"> 18 J[Point_NO],[Ring_NO],[x],[y] 19 </points> 20 <filesNameRule>[*行序]_[DKMC]</filesNameRule> 21 <descript> 22 [*行序]=对应左侧属性表行头的行序号 23 [FID*]=Shape的图斑序号,对应属性表中[FID*]列 24 [Shape*]=地块类型(点、线、面…)对应属性表中[Shape*]列 25 [*PointsCount]=地块总点数 26 [DKMJ]=地块面积 27 [DKBH]=地块编号 28 [DKMC]=地块名称 29 [TFH]=图幅号 30 [DKYT]=地块用途 31 [DLBM]=地块编码 32 [Point_NO]=点序号 33 [Ring_NO]=点圈号 34 [x]=纵坐标 35 [y]=横坐标(包括度带) 36 </descript> 37 </template>
<template name="转界址坐标格式(&J)" single="true" encoding="utf-8">,name="转界址坐标格式(&J)" 对应主窗口的菜单项,(&J)为Alt+J快捷键。single="true"表示为默认为聚合输出, encoding="utf-8"表示默认文件字符编码为utf-8
<property mark="[属性描述]">①=③,②=④
<fields mark="[地块坐标]">①=③,②=④
<points round="3">①=③,②=④
<filesNameRule>
<descript>
4、转.kml文件(在Google Earth等地图软件中使用),主窗口中点击按钮 [转KmlFiel(K)]
(四)数据编辑
1、投影变换、坐标偏移, 主窗口中点击按钮 [投影变换]
①投影变换,目前只支持WGS1984、CGCS2000(坐标包含度带信息,如未包含,可点击按钮[坐标整体平移到度带]进行设置)之间的投影变换。
②坐标整体偏移,设置xy的增量进行整体偏移。
③查看投影定义,查看当前投影定义在EPSG的具体范围。
2、行序、列序调整。
行序,鼠标左键按住行头拖动可以调整当前行的行序。
列序,鼠标左键按住列头拖动可以调整当前列的列序。
3、添加字段
4、查看、修改字段设置,列头上右键。
5、排序。单击列头,选中列后右键,选择菜单项 升序排序/降序排序
6、计算几何。点击按钮
进入编辑状态,单击列头,选中列后右键,选择菜单项 计算几何
7、删除字段。单击列头,选中列后右键,选择菜单项 删除字段。
8、表数据复制。拖选单元格后,CTRL + C或鼠标右键选择菜单项“复制”。
9、表数据剪切、粘贴、删除。点击按钮
进入编辑状态,参考操作8(可以粘贴来自Excel表格复制的数据)。
10、复制所选行数据,行头上右键
11、查看当前图斑坐标,单击行头,选中行,右键选择"查看此图斑坐标"
12、全选/全不选。单击按钮[行序]
13、行多选,按住Ctrl键,鼠标单击行头
14、删除行(图斑),行头右键,选择菜单项[删除行]
15、缩放到行(图斑),双击行头或单击行头右键选择项[缩放到此行]。
16、高级排序,可以进行主次列排序,图斑位置排序
17、数据统计
18、导出数据
未完待续...
四、程序注册: 程序编写不容易,如果你觉得程序功能很赞请支持作者,点击【关于】,进入关于窗口。 注册程序,点击【注册】,进入注册窗口,复制申请码,添加作者为好友,索取注册码,感谢支持。(注册功能写的比较弱鸡,但还请各位User高抬贵手,多多支持我这个编程爱好者,拜谢!)