- 积分
- 1819
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-8-24
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2014-10-21 14:45:06
|
显示全部楼层
- 设置
- interpSet = InterpolationSetting(60,140,-20,60,160,160,"IDW_Radius",2,1)
-
- #---- 设置图例
- ls = LegendScheme(ShapeTypes.Polygon)
- #ls.ImportFromXMLFile(LegendDir + "rain1.lgs")
- ls.ImportFromXMLFile(homedir + "preci.lgs")
- #ls = LegendManage.CreateLegendSchemeFromGridData(press,LegendType.UniqueValue, ShapeTypes.Polyline, ref hasUndefData)
- #print ls
-
- #---- 设置MeteoDataInfo
- mid = MeteoDataInfo()
-
- #---- 循环
- while sTime <= eTime:
- inFile = sTime.ToString("yyMMddHH") + ".000"
- print inFile
- #---- 打开MICAPS数据文件
- mid.OpenMICAPSData(DataDir + inFile)
- #---- 获取6小时降水量站点数据
- stData = mid.GetStationData("WindSpeed")
- #---- 将站点数据差值为格点数据
- gData = DrawMeteoData.InterpolateData(stData, interpSet)
- #ls = LegendManage.CreateLegendSchemeFromGridData(gData, LegendType.GraduatedColor,ShapeTypes.Polygon)
- #---- 生成6小时降水量图层
- rainLayer = DrawMeteoData.CreateContourLayer(gData, ls, "WindSpeed", "Wind")
- rainLayer.IsMaskout = True
- #---- 添加图层
- mapFrame.AddLayer(rainLayer)
- print "Display finished"
- #---- 调整图层顺序(以避免压盖)
- mapFrame.MoveLayerToBottom(rainLayer)
- #---- 设置标题名称
- title = " 全国降水量实况图\n6小时降水量 (" + sTime.ToString("yyyy-MM-dd HH:00") + ")"
- aText.SetLabelText(title)
- #---- 设置图例名称
- aLegend.Title = "降水量(毫米)"
- #---- 绘制图形
- mapLayout.PaintGraphics()
- #---- 输出图形为文件
- outFile = "Prec_" + sTime.ToString("yyyyMMddHH") + ".png"
- print outFile
- #mapLayout.ExportToPicture("E:\\Temp\" + outFile)
- #---- 删除6小时降水量图层
- if sTime < eTime:
- mapFrame.RemoveLayer(rainLayer)
- #---- 时间加6小时
- sTime = sTime.AddHours(6)
-
- #---- 显示程序窗体(只是为了看效果,自动运行时不需要)
- #Application.Run(myApp)
- myApp.Show()
复制代码 |
|