注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

IDV isl产生scala代码1  

2014-09-07 12:30:20|  分类: IDV |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

脚本与运行时间
def contourfilled(
      procNm : String,shpFnm:String, eleNm : String, colorTabNm : String,
      interval : String,vmin:String,vmax:String,unit:String,
      outputMapDir:String,datatime:String) = {
     //为温度、相对湿度等值线分析 Temperature,Precip (Transparent)
     def contourLine(
        eleNm : String, solidcolor : String) = {
       s"""
      |<display type="planviewcontour" param="${eleNm}">
      |  <property name="id" value="display3"/>
      |  <property name="displayCategory" value="Solid"/>
      |  <property name="colorTableName" value="${solidcolor}"/>
      |  <property name="displayListTemplate" value=""/>
      |  <property name="contourInfo" value="interval=${interval};min=${vmin};max=${vmax};base=0;dashed=false;labels=true"/>
      |  <property name="SmoothingType" value="GWFS"/>
      |  <property name="SmoothingFactor" value="30"/>
      |</display>
      """
    }
    val contour =
      if (unit=="C") contourLine(eleNm,"Red") else
      if (unit=="%") contourLine(eleNm,"Blue") else
      if (unit=="hPa") contourLine(eleNm,"Blue")  else ""
    s"""
    |<procedure name="${procNm}">
    |  <display type="planviewcontourfilled" param="${eleNm}">
    |    <property name="id" value="display2"/>
    |    <property name="displayCategory" value="Basic"/>
    |    <property name="colorTableName" value="${colorTabNm}"/>
    |    <property name="colorScaleInfo" value="visible=true;orientation=vertical;placement=left"/>
    |    <property name="settingsDisplayUnit" value="${unit}"/>
    |    <property name="displayListTemplate" value="%timestamp%-%longname%"/>
    |    <property name="displayVisibility" value="true"/>
    |    <property name="contourInfo" value="interval=${interval};min=${vmin};max=${vmax};base=0;dashed=false;labels=false"/>
    |    <property name="range" value="${vmin}:${vmax}"/>
    |  </display>
    |  ${contour}
    |  <datasource url="${shpFnm}"/>
    |  <display type="shapefilecontrol" param="${shpFnm}">
    |    <property name="id" value="display1"/>
    |    <property name="lineWidth" value="3"/>
    |  </display>
    |  <pause/>
    |  <image file="${outputMapDir}/${datatime}.png"/>
    |  <removedisplays display="display2"/>
    |  <removedisplays display="display3"/>
    |  <removedisplays display="display1"/>
    |</procedure>
    """
  }
  def isl(
      ncFnm: String, shpFnm:String,
      outputMapDir:String,datatime:String) = {
    val mkH = contourfilled("mkH",shpFnm,"相对湿度","Relative humidity","10","0","100","%",outputMapDir+"/"+"相对湿度",datatime)
    val mkT = contourfilled("mkT",shpFnm,"气温","TEMPERATURE","4","-10","50","C",outputMapDir+"/"+"气温",datatime)
    val mkTmin = contourfilled("mkTmin",shpFnm,"最低气温","TEMPERATURE","4","-10","50","C",outputMapDir+"/"+"最低气温",datatime)
    val mkTmax = contourfilled("mkTmax",shpFnm,"最高气温","TEMPERATURE","4","-10","50","C",outputMapDir+"/"+"最高气温",datatime)
    val mkV = contourfilled("mkV",shpFnm,"能见度","BLUES","100","0","20000","m",outputMapDir+"/"+"能见度",datatime)
    val mkP = contourfilled("mkP",shpFnm,"本站气压","PressureMSL","10","400","1200","hPa",outputMapDir+"/"+"本站气压",datatime)
    val mkR24 = contourfilled("mkR24",shpFnm,"24小时降水","PRECIP","10","0","100","mm",outputMapDir+"/"+"24小时降水",datatime)
    val mkR12 = contourfilled("mkR12",shpFnm,"12小时降水","PRECIP","5","0","50","mm",outputMapDir+"/"+"12小时降水",datatime)
    val mkR6 = contourfilled("mkR6",shpFnm,"6小时降水","PRECIP","5","0","30","mm",outputMapDir+"/"+"6小时降水",datatime)
    val mkR1 = contourfilled("mkR1",shpFnm,"1小时降水","PRECIP","1","0","16","mm",outputMapDir+"/"+"1小时降水",datatime)
    val islStr =
    s"""<?xml version="1.0" encoding="UTF-8"?>
    |<isl debug="false" offscreen="true">
    |  ${mkT}
    |  ${mkTmin}
    |  ${mkTmax}
    |  ${mkH}
    |  ${mkV}
    |  ${mkP}
    |  ${mkR24}
    |  ${mkR12}
    |  ${mkR6}
    |  ${mkR1}
    |  <bundle file="${xidv_temp}" clear="false"  width="1920" height="1080">
    |    <setfiles datasource=".*" file="${ncFnm}"/>
    |  </bundle>
    |  <mkT />
    |  <mkTmin />
    |  <mkTmax />
    |  <mkH />
    |  <mkV />
    |  <mkP />
    |  <mkR24 />
    |  <mkR12 />
    |  <mkR6 />
    |  <mkR1 />
    |  <removeall/>
    |</isl>""".stripMargin
    // println(islStr)
    islStr
  }
  def islTest = {
    <isl debug="true" loop="1" offscreen="true" sleep="60.0minutes">
      <bundle clear="true" file="d:\hxf\idv\test.xidv" wait="true"/>
      <image file="d:\test.png"/>
    </isl>
  }
  评论这张
 
阅读(366)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017