- 积分
- 6782
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-9-2
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看了论坛中关于《文本格式站点数据绘制等值线图》的帖子后,自己亲自实验了一下,结果不成功,求助原作者以及各位朋友!
现在将我的脚本和数据贴出,请求帮忙
#---- 引入类库
import clr
clr.AddReferenceByPartialName("System")
clr.AddReferenceByPartialName("System.Windows.Forms")
clr.AddReferenceByPartialName("System.Drawing")
from System import *
from System.Windows.Forms import *
from System.Drawing import *
clr.AddReference("MeteoInfoC.dll")
from MeteoInfoC import *
from MeteoInfoC.Layout import *
from MeteoInfoC.Data import *
#---- 创建MIApp类的对象
myApp = MIApp()
myApp.ProjectLayers("+proj=lcc+lat_1=25+lat_2=47+lon_0=105")
#---- 按照经纬度范围缩放地图
myApp.ZoomLonLat(102,104,24,27)
#---- 站点数据插值为格点数据的设置
#IDW_Radius插值
myApp.SetInterpolation(60,140,-20,60,160,160,"IDW_Radius",1,1)
#---- 设置图例文件
myApp.SetLegendScheme(".\\Legend\\24hrain.lgs")
#---- 设置DefalutLayoutMap(图层显示)
myApp.MapLayout.DefaultLayoutMap.DrawGridLine = False
myApp.MapLayout.DefaultLayoutMap.DrawNeatLine = False
myApp.MapLayout.DefaultLayoutMap.Left = 10
myApp.MapLayout.DefaultLayoutMap.Top = 10
myApp.MapLayout.DefaultLayoutMap.Width = 620
myApp.MapLayout.DefaultLayoutMap.Height = 450
#---- 设置DefaultTitle(图形标题)
myApp.MapLayout.DefaultTitle.SetFont("黑体", 12)
myApp.MapLayout.DefaultTitle.Top = 40
myApp.MapLayout.DefaultTitle.Left = 80
#---- 设置DefaultLegend(图例)
myApp.MapLayout.DefaultLegend.LegendStyle = LegendStyleEnum.Normal
myApp.MapLayout.DefaultLegend.DrawNeatLine = False
myApp.MapLayout.DefaultLegend.Title = "降水量(毫米)"
myApp.MapLayout.DefaultLegend.BackColor = Color.White
myApp.MapLayout.DefaultLegend.Font = Font("Arial", 8)
myApp.MapLayout.DefaultLegend.Left = 480
myApp.MapLayout.DefaultLegend.Top = 150
#---- 打开latlon数据文件
#myApp.RemoveDataLayers()
inFile = "r2324.csv"
print inFile
myApp.OpenLonLatData("e:\\24\\data\\"+inFile)
#---- 生成6小时降水量图层
stData = myApp.GetStationData("P")
myApp.Display(stData)
print "Display finished"
#---- 设置图例名称
myApp.MapLayout.DefaultLegend.Title = "降水量(毫米)"
#---- 绘制图形
myApp.MapLayout.PaintGraphics()
#---- 输出图形为文件
#outFile = "Prec_" + sTime.ToString("yyyyMMddHH") + ".gif"
#print outFile
#myApp.SaveFigure("f:\\" + outFile)
#---- 显示程序窗体(只是为了看效果,自动运行时不需要)
Application.Run(myApp)
|
|