背景
根据海岸信息数据程序(cdip),他们正在为http://cdip.ucsd.edu/?nav=recent&sub=observed&units=metric&tz=UTC&pub=public&map_stati=1,2,3&stn=100&stream=p1&xitem=dir_spectrum的波浪涌浪生成一个光谱热/强度图。
这是由包含能量密度、持续时间(以秒为单位)和方向(以度为单位,180度表示南)的数据动态生成的。
数据样本
以下是对数据的解释:http://cdip.ucsd.edu/data_access/MEM_2dspectra.cdip
这是浮标100的数据样本(与热量/强度/光谱图中所示的浮标相同:http://cdip.ucsd.edu/data_access/MEM_2dspectra.cdip?100
问题
如何获取这个二维数据并创建一个热量/强度图,确保它覆盖在极坐标图上(并且是适当的比例),就像每个cdip站点的示例url一样?
最后,我需要用ruby来完成这项工作,最好使用ruby gd或rmagick,但我也非常感谢任何不可知语言的解决方案。
最佳答案
我真的很赶时间,所以现在还不能完成,但是由于还没有人回答,这里是第一个方法:
Mathematica中的代码(抱歉,我刚才说没时间了):
a = Import["http://cdip.ucsd.edu/data_access/MEM_2dspectra.cdip?100",
"Table"];
Graphics@Flatten[Table[
(*colors, dont mind*)
{ColorData["CMYKColors"][(a[[r, t]] - .000007)/(.0003 - 0.000007)],
(*point size, dont mind*)
PointSize[1/Sqrt[r]/10],
(*Coordinates for your points "a" is your data matrix *)
Point[
{(rr =Log[.025 + (.58 - .25)/64 r]) Cos@(tt = t 5 Degree),
rr Sin@tt}]
}
(*values for the iteration*)
, {r, 7, 64}, {t, 1, 72}], 1]
(*Rotation, dont mind*)
/. gg : Graphics[___] :> Rotate[gg, Pi/2]
我还是找不到合适的色阶:
关于ruby - 使用Ruby从CDIP数据创建光谱热图或强度图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5161814/