背景
根据海岸信息数据程序(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/

10-12 22:57