爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8136|回复: 2

[经验总结] 全国地图分省存放含操作地图类

[复制链接]
发表于 2014-8-5 09:29:14 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

打开或者存储GrADs地图文件类.txt

5.66 KB, 下载次数: 4, 下载积分: 金钱 -5

售价: 2 贡献  [记录]

分省全国地图.rar

1.65 MB, 下载次数: 36, 下载积分: 金钱 -5

售价: 1 贡献  [记录]

评分

参与人数 2金钱 +25 贡献 +11 收起 理由
kongfeng0824 + 10 + 6
mofangbao + 15 + 5

查看全部评分

密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2014-8-5 13:20:32 | 显示全部楼层
多谢分享啦 不错的资料
密码修改失败请联系微信:mofangbao
发表于 2016-3-3 22:26:56 | 显示全部楼层
谢谢分享,请问这个地图是灰色的吗
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表