1. import java.math.BigDecimal;
  2. private static final String JD="jd";
  3. private static final String WD="wd";
  4.  
  5. public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException{
  6. if(first) {
  7. first = false;
  8. }
  9. Object[] r = getRow();
  10. if (r == null) {
  11. setOutputDone();
  12. return false;
  13. }
  14.  
  15. //维度
  16. String wdstr = get(Fields.In, WD).getString(r);
  17. //经度
  18. String jdstr = get(Fields.In, JD).getString(r);
  19. if(!isArray(wdstr)||!isArray(jdstr)){
  20. return true;
  21. }
  22. get(Fields.Out, WD).setValue(r, getCovNewVlaue(wdstr));
  23. get(Fields.Out, JD).setValue(r, getCovNewVlaue(jdstr));
  24.  
  25. putRow(data.outputRowMeta, r);
  26. return true;
  27. }
  28.  
  29. private double getCovNewVlaue(String dustr) {
  30. String replace = dustr.replace("N", "").replace("E", "");
  31. String[] duArray = replace.split(" ");
  32. double duValue = Double.parseDouble(duArray[]);
  33. double minuteValue = Double.parseDouble(duArray[]);
  34. double secondValue = Double.parseDouble(duArray[]);
  35.  
  36. BigDecimal minute = BigDecimal.valueOf(minuteValue).divide(BigDecimal.valueOf(), ,
  37. BigDecimal.ROUND_HALF_DOWN);
  38. BigDecimal second = BigDecimal.valueOf(secondValue).divide(BigDecimal.valueOf(), ,
  39. BigDecimal.ROUND_HALF_DOWN);
  40. BigDecimal newVlaue = BigDecimal.valueOf(duValue).add(minute).add(second);
  41. return newVlaue.doubleValue();
  42. }
  43.  
  44. private boolean isArray(String dustr){
  45. return dustr.split(" ").length==?false:true;
  46. }

Kettle 使用Json输入的更多相关文章

  1. Kettle解析JSON错误,We MUST have the same number of values for all paths,We can not find and data with path [$.

    最近公司要从聚石塔上抽取数据,其中有JSON格式数据,所以学习一下Kettle解析JSON,碰到小小问题,记录一下: (1) 2015/07/15 15:22:48 - trade_detail.0 ...

  2. jquery ashx交互 返回list 循环json输入信息

    html代码:触发按钮 <input type="button" id="search" value="查询" /> ashx代 ...

  3. Kettle根据表输入的SQL脚本返回创建表的SQL脚本

    其中[物料分组]节点就是表输入,里面可以构建SQL查询.那么怎么把生成的数据插入到目标表中?并且构建目标表的结构呢? 目标表结构就在[表输出]栏位 点击[SQL],就可以看见生成目标表结构的脚本

  4. 解决npm ERR!Unexpected end of JSON input while paring near (解析附近时JSON输入意外结束)'...."^2.0.0-rc.0","glob"'等npm install错误

    摘要 最近更新了一次node,但是更新后npm的命令总是会报 npm WARN deprecated fsevents@2.0.6: Please update: there are crash fi ...

  5. kettle 利用 HTTP Client 获取猫眼电影API近期上映相关信息,并解析json

    前言 Kettle 除了常规的数据处理之外,还可以模拟发送HTTP client/post ,REST client. 实验背景 这周二老师布置了一项实验: 建立一个转换,实现一个猫眼API热映电影的 ...

  6. kettle学习笔记(四)——kettle输入步骤

    一.输入步骤概述 输入步骤主要分为以下几类: • 生成记录/自定义常量 • 获取系统信息 • 表输入 • 文本文件输入 • XML 文件输入 • Json输入 • 其他输入步骤 二.生成记录和自定义常 ...

  7. 利用Kettle转储接口数据

    1.     项目背景 1.1.  项目背景 数据接口 API:应用程序接口(Application Program Interface)的简称,是实现计算机软件之间数据通信的工具.同时API也是一种 ...

  8. 使用httperrequest,模拟发送及接收Json请求

    使用httpreques\Json-Handle\tcpdump\wireshark工具进行,抓取手机访问网络的包,分析request及response请求,通过httprequester来实现模拟发 ...

  9. 【SqlServer系列】JSON数据

    1   概述 本文将结合MSDN简要概述JSON数据. 2   具体内容 JSON 是一种流行的数据格式,用于在现代 Web 和移动应用程序中交换数据. JSON 还可用于在 Microsoft Az ...

随机推荐

  1. Capabilities & ChromeOptions

    https://sites.google.com/a/chromium.org/chromedriver/capabilities http://stackoverflow.com/questions ...

  2. Mac os安装golang开发环境

    为了能够愉快地进行golang编程,我们需要安装以下几样东西: 包管理Homebrew 语言环境golang 版本管理git 虚拟器docker 编译器Goland 我将按照这个顺序叙述整个安装过程 ...

  3. 20155203 实验三《敏捷开发与XP实践》实验报告

    20155203 实验三<敏捷开发与XP实践>实验报告 一.实验内容 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找 ...

  4. 20155216 2016-2017-2 《Java程序设计》第二周学习总结

    教材学习内容总结 类型 short占2字节 int占4字节 long占8字节 byte占1字节,可表示-128~127的整数 char占2字节 boolean不考虑占字节 float占4字节 doub ...

  5. 安装虚拟机及学习linux系统 20155222卢梓杰

    安装虚拟机及学习linux系统 20155222卢梓杰 首先按照要求下载virtualbox,没有遇到问题. 接下来新建一个虚拟机,按照要求应当安装乌班图64,这里只有32位的.在网上搜寻了许久,终于 ...

  6. 《Java程序设计》课堂实践内容总结

    <Java程序设计>课堂实践内容总结 实践一 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的 ...

  7. WPF ControllTemplate Triggers小记 - 简书

    原文:WPF ControllTemplate Triggers小记 - 简书 WPF中,样式模板中如果定义EventTrigger事件方式实现动画.那么需要注意两点: 1.对于绑定的属性的Event ...

  8. 深入浅出之-route命令实战使用指南

    本博文的视频讲解已发布:http://oldboy.blog.51cto.com/2561410/1119453 缘起:本文为老男孩linux培训第七次课前考试题及参考答案,有朋友在看完http:// ...

  9. rpmforge

    Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error was : PYCUR ...

  10. SimpleDateFormat,Calendar 线程非安全的问题

    SimpleDateFormat是Java中非常常见的一个类,用来解析和格式化日期字符串.但是SimpleDateFormat在多线程的环境并不是安全的,这个是很容易犯错的部分,接下来讲一下这个问题出 ...