begin   ncol = 6   ;台风参数  nrow = 31  ;时次总数  nbin = 6   ;已知该该气旋共经历了6个等级的演变      ;读入台风资料  data = asciiread("NEPARTAK.txt",(/nrow,ncol/),"integer") ;/31,6/ 31行6列,integer整数类型    ;;数据读取函数总结,asciiread读取cav、txt文件,addfile读取nc、hdf、grib、shp文件,fbindrread读取bin、ctl、dat文件  amp = data(:,1)      ; 强度  lat = data(:,2)/10.  ; 纬度  lon = data(:,3)/10.  ; 经度    wks = gsn_open_wks("pdf","plot-typhoon")  gsn_define_colormap(wks, "rainbow")  cmap = read_colormap_file("rainbow") ;读取色板中的颜色    ncol = dimsizes(cmap(:,0))           ;色板的颜色总数      res             = True                        res@gsnFrame    = False  res@gsnDraw     = False  res@mpMinLatF    = 5                        res@mpMaxLatF    = 35  res@mpMinLonF    = 105  res@mpMaxLonF    = 150  res@mpOutlineOn  = True  res@pmTickMarkDisplayMode = "Always"  ;坐标轴上添加度符号    map = gsn_csm_map(wks,res)   ;绘制出地图底图          ;--添加任意折线,表示出台风路径  lnres                   = True                        lnres@gsLineColor       = "black"                     lnres@gsLineThicknessF  = 1.5                         lnres@gsLineDashPattern = 0   str = unique_string("string")                map@$str$ = gsn_add_polyline(wks,map,lon,lat,lnres)      ;绘制Nepartak  txres                = True  txres@txFontHeightF  = 0.01  str = unique_string("string")                             ;字符串形式  map@$str$ = gsn_add_text(wks,map,"1601Nepartak",135,22,txres)     ;添加标识,表示出每个时次的台风中心位置  mkres                    = True               mkres@gsMarkerSizeF      = 0.01  ;标识大小,在0~1范围内设置  mkres@gsMarkerIndex      = 3     ;标识形状  mkres@gsMarkerThicknessF = 1.5    do i = 0, nrow-1    mkres@gsMarkerColor =  toint(floor(ncol/nbin*amp(i)-1))    ;在整个色板中准等距离的挑选颜色    str = unique_string("string")                              ;字符串形式     map@$str$ = gsn_add_polymarker(wks,map,lon(i),lat(i),mkres);绘制台风中心位置标识  end do       ;在图形正下方添加等级图例  x_ndc = (/0.25,0.35,0.45,0.55,0.65,0.75/)   ;相对坐标x方向的位置     y_ndc = (/0.14,0.14,0.14,0.14,0.14,0.14/)   ;相对坐标y方向的位置  t_ndc = tostring(ispan(1,6,1))              ;假定已知等级为1-6  labels = (/"10.8-17.1m/s","17.2-24.4m/s","24.5-32.6m/s","32.7-41.4m/s","41.5-50.9m/s",">=51.0m/s"/)     mkres@gsMarkerSizeF      = 0.01    ;标识的大小,在 0~1范围内设置。同上  mkres@gsMarkerThicknessF = 1.5     ;标识的粗细。同上  do i = 0,5       ; 绘制每个等级的图例,它由标识和文本构成     mkres@gsMarkerColor  = toint(floor(ncol/nbin*(i+1)-1))    gsn_polymarker_ndc(wks,x_ndc(i),y_ndc(i),mkres)    gsn_text_ndc(wks,t_ndc(i),x_ndc(i)+0.02,y_ndc(i),txres) ;将文本向右边移动0.02   gsn_text_ndc(wks,labels(i),x_ndc(i),y_ndc(i)-0.02,txres);将文本向下边移动0.02  end do       ;根据经纬度位置绘制多边形  x_lonlat = 117    ;中心位置  y_lonlat = 25  box_lon = (/x_lonlat-6,x_lonlat+6,x_lonlat+6,x_lonlat-6,x_lonlat-6/)  box_lat = (/y_lonlat+5,y_lonlat+5,y_lonlat-5,y_lonlat-5,y_lonlat+5/)  gonres              = True    gonres@gsFillIndex  = 3     ;用形状填充,默认值是0表示颜色填充,3是阴影  gonres@gsFillColor  = "red"         dum = gsn_add_polygon(wks,map,box_lon,box_lat,gonres)     ;以下绘制第23时次(二次登陆前)的大致风圈范围:以其中心为圆心,以0.05长度为半径的圆形区域  xout_ndc = lon  yout_ndc = lat  datatondc(map,lon,lat,xout_ndc,yout_ndc) ;将经纬度数值转换威单位坐标系中的坐标值    degrad  = 0.017453292519943    ;Π/180=3.1415926/180  degrees = ispan(0,360,1)       ;创建361点  xcos    = cos(degrad*degrees)  ;各个角度的余弦值  xsin    = sin(degrad*degrees)  ;各个角度的正弦值  ;圆心点位置及半径  xcenter = xout_ndc(22)  ;第22时次中心所在x位置  ycenter = yout_ndc(22)  ;第22时次中心所在y位置  radius  = 0.05         ;计算出各个点在单位坐标系中的坐标位置  xc = xcenter + (radius * xcos)  yc = ycenter + (radius * xsin)   ;设置多边形的绘图参数,根据单位坐标系中的位置绘制多边形  lnres                  = True  lnres@gsFillColor      = 46  lnres@gsFillOpacityF   = 0.5     ;50%透明   lnres@gsFillLineThicknessF = 2.  ;多边形边框粗细     gsn_polygon_ndc(wks,xc,yc,lnres)       ;;添加汕头位置  lon_st = 116.7  lat_st = 23.5    mres                 = True  mres@gsMarkerColor   = "black"  mres@gsMarkerSizeF   = 0.02  mres@gsMarkerIndex   = 3  dum1 = gsn_add_polymarker(wks,map,lon_st,lat_st,mres)  ;添加SWATOW  txtres               = True  txtres@txFontHeightF = 0.005  txtres@txFontColor   = "black"  dum2 = gsn_add_text(wks,map,"SWATOW",lon_st,lat_st+1.5,txtres)    ngezlogo(wks)  draw(map)    frame(wks)end

附数据文件:可以直接复制,保存为NEPARTAK.txt

2016070212 1  82 1453 1000      152016070218 1  85 1452 1000      152016070300 2  88 1450  998      182016070306 2  92 1448  998      182016070312 2  99 1442  995      202016070318 2 109 1435  995      202016070400 2 118 1423  995      202016070406 2 128 1410  992      232016070412 3 135 1396  990      252016070418 3 145 1383  985      282016070500 4 153 1366  975      332016070506 4 163 1351  960      402016070512 6 171 1336  940      522016070518 6 180 1319  915      622016070600 6 187 1302  905      682016070606 6 195 1285  895      722016070612 6 201 1270  895      722016070618 6 207 1256  895      722016070700 6 213 1244  895      722016070706 6 216 1234  895      722016070712 6 219 1227  895      722016070718 6 224 1218  915      622016070800 5 226 1207  950      452016070806 4 232 1201  965      382016070812 4 231 1198  975      332016070818 3 233 1196  985      252016070900 2 243 1191  990      232016070906 2 247 1187  992      202016070912 2 251 1181  995      182016070918 1 258 1169  996      152016071000 1 264 1165  998      13

cesium 经纬度绘制点_NCL绘制2016年1号台风(Nepartak)相关推荐

  1. cesium态势标绘 ( 绘制矩形)

    cesium态势标绘 ( 绘制矩形)标绘与编辑 vue + cesium矩形标绘与编辑,采用es6模块化写法逻辑清晰,会有明显的标注说明,使代码容易读懂,理解和学习 1.新建DrawRectangle ...

  2. Cesium|xt3d gltf标绘绘制编辑

    Cesium|xt3d gltf标绘绘制编辑 效果 代码 预览地址 效果 代码 <!DOCTYPE html> <html lang="zh-CN">< ...

  3. python turtle绘制柱状图_python绘制图形(Turtle模块)

    用python的Turtle模块可以绘制很多精美的图形,下面简单介绍一下使用方法. 需要用到的工具有python,python 的安装这里就不再细说.自行搜索. from turtle import ...

  4. vue 项目使用 openlayers根据半径绘制圆形、绘制多边形

    vue 项目使用 openlayers根据半径绘制圆形.绘制多边形 这个地方我就简单点写吧,因为一些东西比较乱,有的包啥的就按照官网API开发文档根据报错提示自己添加就可以了,我这个地方就不重复写了. ...

  5. 利用matlab绘制统计图,matlab绘制折线统计图

    matlab做曲线图参考资料_理学_高等教育_教育专区.一. 二维数据曲线图 1.1 绘制单根二维曲线 plot函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量...... MA ...

  6. 【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )

    文章目录 一.绘制单个点 二.绘制多个点 三.相关资源 在上一篇博客 [OpenGL]十.OpenGL 绘制点 ( 初始化 OpenGL 矩阵 | 设置投影矩阵 | 设置模型视图矩阵 | 绘制点 | ...

  7. html5 绘制图形,HTML5绘制几何图形

    绘制几何图形 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext(" ...

  8. OPenGL实例化绘制、普通绘制说明

    OpenGL 实例化(Instancing)是一种只调用一次渲染函数就能绘制出不少物体的技术,能够实现将数据一次性而不是多次发送给 GPU ,告诉 OpenGL使用一个绘制函数,将这些数据绘制成多个物 ...

  9. ue4 unreal4 自定义网格 绘制自定义网格 绘制面 (Plus)

    额四月份写了 CustomMeshComponent 用于创建自定义网格 ue4 unreal4 自定义网格 绘制自定义网格 绘制面_ljason1993的博客-CSDN博客 当时想着找时间写个 Pr ...

最新文章

  1. linux内核地址映射,Linux内核设备驱动地址映射笔记整理
  2. Android中Intent的显示和隐式使用
  3. 05_Grafana的安装和Influxdb数据源配置
  4. 了解 Diffing 算法
  5. 创建 tomcat 服务的镜像
  6. Python实现交通标志牌(GTSRB数据集)解析处理
  7. 树莓派人脸识别源代码
  8. 银行业会计人员技能训练系统(含文字录入、小键盘、点钞)
  9. 国际电话号码标准格式
  10. 关于职业规划最好最全面的一篇文章
  11. 从零开始,把Raspberry Pi打造成双栈11n无线路由器,支持教育网原生IPv6
  12. QQ空间的花花快速成长所需的东东(转)
  13. 【Hibernate步步为营】--映射合集汇总
  14. 哈啰A80青春版体验:避繁就简,享受智慧骑行带来的乐趣
  15. tecplot有效数字位数
  16. imx8mq-evk快速启动-方案讨论,准备工作
  17. 造车新势力3月成绩单:分化只会越来越严重
  18. c语言优秀教案,C语言优秀教案.doc
  19. 51单片机复位按钮不灵敏的问题
  20. Flex工具下载链接

热门文章

  1. 目标检测第1步:如何在Windows 10下安装MiniConda?
  2. 猫和老鼠 蓝桥杯/手速/暴力练习赛(暴力搜索)
  3. react同步请求_React中setState同步更新策略
  4. python裁剪图片并保存_python – 如何从图像中剪切轮廓并将其保存到新文件中
  5. 提出离职后怎么定last day_不管你因为什么离职,用正规的离职方式是你最正确的选择!...
  6. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
  7. TensorFlow构建二维数据拟合模型(1)
  8. 如何编写一个shell脚本
  9. 4-什么是Image和container
  10. datastage 使用小结