批量生产潍坊1:500和1000元数据控制台程序
来源:互联网 发布:2016网络射击游戏大全 编辑:程序博客网 时间:2024/04/29 12:14
class Program
{
static void Main(string[] args)
{
Console.Out.WriteLine("欢迎使用批量生产潍坊1:1000元数据控制台程序");
Console.Out.WriteLine("请准备好对应的元数据模板‘SGGT-DLG-4078.5-503.5dlg1000.xml’和‘dlg1000列表.txt’");
Console.ReadLine();
//读取xml
XmlElement root = null;
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("SGGT-DLG-4078.5-503.5dlg1000.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmldoc.NameTable);
nsmgr.AddNamespace("smmd", "http://data.sbsm.gov.cn/smmd/2007");
root = xmldoc.DocumentElement;
//读取文本文件逐行
StreamReader sr = new StreamReader("dlg1000列表.txt");
int i = 0;
while (!sr.EndOfStream)
{
string zongzuobiaoX, hengzuobiaoY;
double zongzuobiaoXdoubleKM, hengzuobiaoYdoubleKM, zongzuobiaoXdoubleM, hengzuobiaoYdoubleM;
string[] line = sr.ReadLine().Split('-');
zongzuobiaoXdoubleKM = Convert.ToDouble(line[0]);
hengzuobiaoYdoubleKM = Convert.ToDouble(line[1]);
zongzuobiaoXdoubleM = zongzuobiaoXdoubleKM * 1000;
hengzuobiaoYdoubleM = hengzuobiaoYdoubleKM * 1000;
zongzuobiaoX = zongzuobiaoXdoubleKM.ToString("0.0");
hengzuobiaoY = hengzuobiaoYdoubleKM.ToString("0.0");
//Console.Out.WriteLine("第"+i+"行要素的纵坐标公里数是" + zongzuobiaoX);
//Console.Out.WriteLine("第" + i + "行要素的横坐标公里数是" + hengzuobiaoY);
//Console.Out.WriteLine("第" + i + "行要素的纵坐标米数是" + zongzuobiaoXdoubleM);
//Console.Out.WriteLine("第" + i + "行要素的横坐标米数是" + hengzuobiaoYdoubleM);
//开始修改xml数据
Console.Out.Write("开始修改第" + i + "行数据,");
//修改smmd:mdFileID>
XmlNodeList noddddlistmdFileID = root.SelectNodes("smmd:mdFileID", nsmgr);
noddddlistmdFileID[0].InnerText = "WFGTJ-DLG-" + zongzuobiaoX + "-" + hengzuobiaoY;
//修改smmd:resTitle图幅编号
XmlNodeList noddddlistresTitle = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:idCitation/smmd:resTitle", nsmgr);
noddddlistresTitle[0].InnerText = zongzuobiaoX + "-" + hengzuobiaoY;
//修改smmd:WSCoordX西南X
XmlNodeList noddddlistWSCoordX = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:WSCoordX", nsmgr);
noddddlistWSCoordX[0].InnerText = zongzuobiaoXdoubleM.ToString("0.00");
//修改smmd:WSCoordY西南Y
XmlNodeList noddddlistWSCoordY = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:WSCoordY", nsmgr);
noddddlistWSCoordY[0].InnerText = hengzuobiaoYdoubleM.ToString("0.00");
//修改smmd:WNCoordX西北X
XmlNodeList noddddlistWNCoordX = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:WNCoordX", nsmgr);
noddddlistWNCoordX[0].InnerText = (zongzuobiaoXdoubleM + 500).ToString("0.00");
//修改smmd:WNCoordY西北Y
XmlNodeList noddddlistWNCoordY = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:WNCoordY", nsmgr);
noddddlistWNCoordY[0].InnerText = hengzuobiaoYdoubleM.ToString("0.00");
//修改smmd:ENCoordX东北X
XmlNodeList noddddlistENCoordX = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:ENCoordX", nsmgr);
noddddlistENCoordX[0].InnerText = (zongzuobiaoXdoubleM + 500).ToString("0.00");
//修改smmd:ENCoordY东北Y
XmlNodeList noddddlistENCoordY = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:ENCoordY", nsmgr);
noddddlistENCoordY[0].InnerText = (hengzuobiaoYdoubleM + 500).ToString("0.00");
//修改smmd:ESCoordX东南X
XmlNodeList noddddlistESCoordX = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:ESCoordX", nsmgr);
noddddlistESCoordX[0].InnerText = zongzuobiaoXdoubleM.ToString("0.00");
//修改smmd:ESCoordY东南Y
XmlNodeList noddddlistESCoordY = root.SelectNodes("smmd:dataIdInfo/smmd:DataIdent/smmd:dataExt/smmd:geoEle/smmd:BndCoord/smmd:ESCoordY", nsmgr);
noddddlistESCoordY[0].InnerText = (hengzuobiaoYdoubleM + 500).ToString("0.00");
Console.Out.WriteLine("第" + i + "行数据修改完毕");
//保存xml元数据
i++;
xmldoc.Save("F:/大比例尺相关资料/元数据/1000比例尺元数据/" + zongzuobiaoX.ToString() + "-" + hengzuobiaoY.ToString() + ".xml");
}
Console.Out.WriteLine(" ");
Console.Out.WriteLine("数据输出完毕!谢谢使用");
Console.Out.WriteLine("");
Console.ReadLine();
- 批量生产潍坊1:500和1000元数据控制台程序
- 控制台和控制台程序
- Landsat元数据批量下载工具
- 控制台程序和窗口程序
- Kafka2.10<使用JavaAPI 批量发送生产数据>
- 属性和元数据
- 数据仓库和元数据
- 元数据和反射
- 元数据和事务
- Linux批量生产用户
- 批量删除生产订单
- 轻松转换win程序和控制台程序
- 如何区分控制台程序和MFC程序
- 属性和元数据 -- zt
- 认识元数据和IL
- 关于元数据中的#和$
- .net框架的程序集(元数据)
- SQL Server大负载的生产环境下的性能优化:初识元数据优化
- 【调研】关于Entity Linking(实体链接)的材料收集
- oracle启动的四个状态
- Vim配置、NERDTree插件安装
- 函数索引--DETERMINISTIC
- 用VS编译QT工程,启动公共语言支持后,QT的drag和drop失常解决方法
- 批量生产潍坊1:500和1000元数据控制台程序
- 简单自定义View的实现(电子钟表)
- iOS开发 之 不要告诉我你真的懂isEqual与hash!
- docker安装
- 第13章 更多的结构化命令
- 烘焙
- spring mvc 异常处理
- ContextUtils.java
- express + node.js 入门(2)