如何用c#打开、读取txt文件,然后进行大地坐标转换空间直角坐标,并将结果保存成txt格式的文件

就是编一个窗体的程序,可以进行打开txt文件、坐标转换并将结果保存成txt格式文件。急急急急急急急急急急-----转换公式如下:X=(N+H)cosBcosL;Y=(N+... 就是编一个窗体的程序,可以进行打开txt文件、坐标转换并将结果保存成txt格式文件。
急急急急急急急急急急-----转换公式如下:
X=(N+H)cosBcosL;
Y=(N+H)cosBsinL;
Z=(N(1-e*e)+H)sinB;
N=6399596.652-(21565.045-(108.996-0.603cosB*cosB)cosB*cosB)cosB*cosB
展开
 我来答
皓皓皓然然然hQ
2012-05-10 · 超过34用户采纳过TA的回答
知道答主
回答量:84
采纳率:100%
帮助的人:50.6万
展开全部
文件中是大地坐标数据吧,存储格式是怎样的啊?如对齐、逗号分割、分号分割等;
读取文本数据进行转换就行了嘛。

不明白的话,你发一个txt的测试数据给我,我给你看看。
追问
点名:      B                        L                        H		
A001 41.275465122 112.612520983 813.8793
A002 40.894894222 112.566012974 600.3226
A003 40.530071363 112.476426074 156.1692
A004 40.173263039 112.350762427 458.2422
不会啊,数据比较多,我想弄成直接读到文件末尾,然后显示在窗体中,接着可以进行计算,显示计算结果,并把结果保存----
追答
private void Open(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
StreamReader sr = new StreamReader(fs);

List points = new List();

string line = "";
char[] spliter = new char[] { ' ' };
sr.ReadLine();//第一行不处理
while ((line = sr.ReadLine()) != null)
{
if (line.Trim() != "")
{
string[] words = line.Split(spliter, StringSplitOptions.RemoveEmptyEntries);

//4列
if (words.Length == 4)
{
double b, l, h;
if (double.TryParse(words[1].Trim(), out b))
{
//TODO: 错误处理
}

if (double.TryParse(words[2].Trim(), out l))
{
//TODO: 错误处理
}

if (double.TryParse(words[3].Trim(), out h))
{
//TODO: 错误处理
}
CoordPoint point = new CoordPoint();
point.Name = words[0].Trim();
point.B = b;
point.L = l;
point.H = h;
points.Add(point);
}
}
}
}

OpenFileDialog dlgOpen = new OpenFileDialog();
if (dlgOpen.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
//第一种:打开文件,直接解析数据的方式。
Open(dlgOpen.FileName);

//第二种:直接使用 RichTextBox 打开文本文件
//注:数据量大的时候最好不这样使用
richTextBox1.LoadFile(dlgOpen.FileName, RichTextBoxStreamType.PlainText);

string[] lines = richTextBox1.Lines;
//TODO:循环数组,讲每行解析出来,再进行转换就OK了。
}

/* Class CoordPoint*/

public class CoordPoint
{
public string Name { get; set; }
public double B { get; set; }
public double L { get; set; }
public double H { get; set; }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式