- 积分
- 13991
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
声明,地图资料我是在网上找到的,操纵地图的类是本人原创,采用C#编写,打开文件的方法如下:
using (OpenFileDialog open = new OpenFileDialog())
{
open.InitialDirectory = Application.StartupPath;
if (open.ShowDialog() == DialogResult.OK)
{
string str_FilePath = open.FileName;
mg.Addfile(str_FilePath);
minX = mg.XMin;
maxX = mg.XMax;
minY = mg.YMin;
maxY = mg.YMax;
minX = Convert.ToSingle((int)(minX));
maxX = Convert.ToSingle((int)(maxX + 1f));
minY = Convert.ToSingle((int)(minY));
maxY = Convert.ToSingle((int)(maxY + 1f));
txtlonmin.Text = minX.ToString("0");
txtlonmax.Text = maxX.ToString("0");
txtlatmin.Text = minY.ToString("0");
txtlatmax.Text = maxY.ToString("0");
label1.Text = mg.ToString();
}
}
绘制地图的程序如下:
#region 画地图部分
int delayx = (int)((maxX - minX) / 10f + 1);
int delayy = (int)((maxY - minY) / 10f + 1);
Pen p1=new Pen(Color.Black,1);
for (int i = 0; i < (int)(maxX - minX) / delayx+1; i++)
{
float x1 = minX + delayx * i;
int x =(int) ((x1 - minX) / dS);
}
for (int i = 0; i < (int)(maxY - minY) / delayy+1; i++)
{
float x1 = minY + delayy * i;
int x=(int) ((maxY-x1) / dS);
}
}
for (int i = 0; i < mg.Count; i++)
{
Curve cur = mg[i];
//x++;
//TextBox1.AppendText("第" + x.ToString() + cur.ToString() + "\r\n");
for (int j = 0; j < cur.VertexCount - 1; j++)
{
float x1 = cur.Items[j].X; float x2 = cur.Items[j + 1].X;
float y1 = cur.Items[j].Y; float y2 = cur.Items[j + 1].Y;
x1 = (x1 - minX) / dS;
y1 = (maxY - y1) / dS;
x2 = (x2 - minX) / dS;
y2 = (maxY - y2) / dS;
Pen p = new Pen(Color.Black, 1);
g.DrawLine(p, x1, y1, x2, y2);
p.Dispose();
}
#endregion
|
评分
-
查看全部评分
|