- 积分
- 4182
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 孤蓝et 于 2011-11-25 12:15 编辑
使用meteoinfo自带脚本demo_rainmap.py,我只修改了其中的经纬度范围信息,发现执行后没有经纬度网格信息。
而后我删除脚本中的循环读取micaps数据部分,继续测试,可以得到经纬度网格,然后鼠标左键点击绘图窗体,经纬度网格消失?
不知道这个是什么原因?貌似其他脚本也有这个问题?还是由于我用的meteoinfo版本不对啊?
具体代码和图形结果如下 :
- # This Python file uses the following encoding: GB2312
- #---- 引入类库
- 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 *
- #---- 创建MIApp类的对象
- myApp = MIApp()
- #---- 添加图层
- myApp.OpenLayer("..\\Map\\bou2_4p.shp")
- #---- 设置图层渲染
- myApp.SetLegendBreak("bou2_4p.shp",0,Color.Yellow,Color.Gray,1,True,False,True)
- #myApp.OpenLayer("..\\Map\\bou1_4l.shp")
- #myApp.SetLegendBreak("bou1_4l.shp",0,Color.Blue)
- myApp.OpenLayer("..\\Map\\china.shp")
- myApp.SetLayerVisible("china.shp", False)
- myApp.OpenLayer("..\\Map\\res1_4m.shp")
- myApp.SetLegendBreak("res1_4m.shp",0,5,Color.Red,Color.Black,True,True,True)
- #---- 获取矢量图层对象,并设置标注
- aLayer = myApp.GetVectorLayer("res1_4m.shp")
- aLayer.LabelSet.FieldName = "NAME";
- aLayer.LabelSet.LabelFont = Font("楷体", 10);
- aLayer.LabelSet.Offset = 15;
- aLayer.AddLabels();
- #---- Lambert投影
- myApp.ProjectLayers("+proj=lcc+lat_1=25+lat_2=47+lon_0=84")
- #---- 按照经纬度范围缩放地图
- myApp.ZoomLonLat(76,94,35,50)
- #---- 设置屏蔽图层(只绘制中国境内图形)
- myApp.SetMaskout("china.shp")
- #---- 设置绘图类型为shaded
- myApp.SetDrawType("shaded")
- #---- 站点数据插值为格点数据的设置
- myApp.SetInterpolation(60,140,-20,60,160,160,"IDW_Radius",1,1)
- #---- 设置图例文件
- myApp.SetLegendScheme("..\\Legend\\aws.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 = 30
- 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 = 575
- myApp.MapLayout.DefaultLegend.Top = 150
- #---- 显示程序窗体(只是为了看效果,自动运行时不需要)
- Application.Run(myApp)
复制代码
使用上述脚本运行后,弹出的绘图窗体显示如下:
而后,在窗体上点击鼠标左键,经纬度网格消失。
使用我自己的数据文件,获得如下图形。么有经纬度网格啊。貌似自带的其他脚本也有这个问题?
|
|