爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 炜麦

[其他] c++ surfer 画等值线。

[复制链接]

新浪微博达人勋

发表于 2016-11-29 11:38:53 | 显示全部楼层
学习了,都是大神!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-30 15:16:13 | 显示全部楼层
chengxf 发表于 2013-2-21 15:55
对不起,C++我不懂。帮不到你了,pascal 中不用的参数可以不写,这我知道。C++中如果每一个参数都要写的 ...

老师你好,请问用lvl2文件如何表示区间范围呢,如<-10,>35
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-30 15:57:53 | 显示全部楼层
meteochen 发表于 2016-11-30 15:16
老师你好,请问用lvl2文件如何表示区间范围呢,如35

参考这个帖子:
Surfer 的色谱文件和层级文件
http://bbs.06climate.com/forum.p ... 9&fromuid=14052
(出处: 气象家园)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-30 19:16:29 | 显示全部楼层
学习学习....
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-12-1 15:34:09 | 显示全部楼层
chengxf 发表于 2016-11-30 15:57
参考这个帖子:
Surfer 的色谱文件和层级文件
http://bbs.06climate.com/forum.php?mod=viewthread&tid ...

老师,看了这篇贴子后我明白了层级文件和色谱文件的区别,也知道自己的图需要选择lvl2的方案,可是依然困惑怎么去表达色柱两端范围的level值,如气温<-10的显示一种颜色,想实现C:\Users\Administrator\Desktop\r.png这种效果
r.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-1 15:52:08 | 显示全部楼层
chengxf 发表于 2016-11-30 15:57
参考这个帖子:
Surfer 的色谱文件和层级文件
http://bbs.06climate.com/forum.php?mod=viewthread&tid ...

您好,程老师。看了贴子让我对lvl和clr文件有了清晰的认识,恕我愚钝吧,当我使用层级文件lvl2时,不知道怎么去表达层级的一个区间范围,比如文件内容如下:
LVL2
'Level Flags LColor LStyle LWidth FFGColor FBGColor FPattern FMode FScale FType
-10 0 "White" "None" 0 "R81 G54 B255" "R12 G12 B12" "Solid" 2 1 1
-5 0 "White" "None" 0 "R44 G30 B255" "R12 G12 B12" "Solid" 2 1 1
0 0 "White" "None" 0 "R8 G5 B255" "R12 G12 B12" "Solid" 2 1 1
5 0 "White" "None" 0 "R0 G109 B146" "R12 G12 B12" "Solid" 2 1 1
10 0 "White" "None" 0 "R0 G169 B86" "R12 G12 B12" "Solid" 2 1 1
20 0 "White" "None" 0 "R36 G255 B0" "R12 G12 B12" "Solid" 2 1 1
25 0 "White" "None" 0 "R218 G255 B0" "R12 G12 B12" "Solid" 2 1 1
30 0 "White" "None" 0 "R255 G132 B0" "R12 G12 B12" "Solid" 2 1 1
35 0 "White" "None" 0 "R255 G25 B0" "R12 G12 B12" "Solid" 2 1 1
该怎么去表达<-10,>35的呢,谢谢老师了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-1 17:29:51 | 显示全部楼层
meteochen 发表于 2016-12-1 15:52
您好,程老师。看了贴子让我对lvl和clr文件有了清晰的认识,恕我愚钝吧,当我使用层级文件lvl2时,不知道 ...

你要理解一点:层级文件包含了等值线的分层层次、线条的特性、填充的颜色、标注出现的频率以及刻线的相关信息。它是一个固定的分层方案。分几层、每层的范围(上下限)都是固定的,或者说是绝对的,不像色谱文件是按照百分比来分层填充颜色,这是一种相对的。不管你 Z 值的最大值是100还是1000,比如它决定30%的地方是红色,那么当 Z 值的最大值是100时,它在30的地方是红色,而当 Z 值的最大值为1000时,它要 Z 值等于300时才是红色。所以说它是相对的。而层级文件,它决定的是分层方案,尤其重要的是前面一句话“等值线的分层层次”,它给你分好了,不管 Z 的极大值是多少,在30的地方就是红色,Z 值并不影响分层的结果。
你的要求,只需要在 -10 的前面和 35 的后面各加上一条记录。使它们的绝对值足够大即可,例如:
-40 0 "White" "None" 0 "Rxxx Gxxx Bxxx" "Rxxx Gxxx Bxxx" "Solid" 2 1 1
………………
………………
75 0 "White" "None" 0 "Rxxx Gxxx Bxxx" "Rxxx Gxxx Bxxx" "Solid" 2 1 1
这里,-40 和 70 或许根本不会出现。不要管它了。
下面是我的例子:
层级文件的第一行和最后一行是后加的,调入以后获得的层级色标如图,供你参考:
2016-12-01_17-30-13.jpg


2016-12-01_17-29-40.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-1 21:40:31 | 显示全部楼层
chengxf 发表于 2016-12-1 17:29
你要理解一点:层级文件包含了等值线的分层层次、线条的特性、填充的颜色、标注出现的频率以及刻线的相关 ...

对,老师,就是这张图上的效果,想要的结果就是第一行的层级level值不显示。按照你所给的参考格式,试验了下,没有达到理想效果,这能通过lvl来解决吗,望老师再指点下,感激不尽
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-2 08:47:39 | 显示全部楼层
本帖最后由 chengxf 于 2016-12-2 08:56 编辑
meteochen 发表于 2016-12-1 21:40
对,老师,就是这张图上的效果,想要的结果就是第一行的层级level值不显示。按照你所给的参考格式,试验 ...

要第一行的层级level值不显示,是在下面图上说的地方修改属性:
2016-12-02_8-45-26.jpg


修改 .lvl 文件的 Flags(标志) 值为 0,应该没有标注出现,但是好像不起作用。不知道为什么。

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-2 12:54:17 | 显示全部楼层
本帖最后由 meteochen 于 2016-12-2 13:04 编辑
chengxf 发表于 2016-12-2 08:47
要第一行的层级level值不显示,是在下面图上说的地方修改属性:

嗯,奇怪的很,谢谢老师了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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