GeoWave实现简单的时空范围查询(HBase数据库)

ops/2024/12/18 3:29:54/

前言

上一篇文章中利用GeoWave导入矢量数据到HBase/Accumulo数据库-CSDN博客,我介绍了如何利用GeoWave导入数据到HBase/Accumulo数据库中,本文,我将介绍如何使用GeoWave实现简单的时空范围查询。

代码

java"> HBaseRequiredOptions hBaseRequiredOptions = new HBaseRequiredOptions();hBaseRequiredOptions.setZookeeper("localhost:2181");HBaseDataStore hBaseDataStore = (HBaseDataStore) DataStoreFactory.createDataStore(hBaseRequiredOptions);System.out.println("connect hbase success!");SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");Date startTime = sdf.parse("2013-01-01T12:10:01");Date endTime = sdf.parse("2013-01-31T12:11:01");// 使用 format()方法格式化时间String startTimeFormatted = sdf.format(startTime);String endTimeFormatted = sdf.format(endTime);Long startTimeStamp = System.currentTimeMillis();VectorQueryBuilder queryBuilder = VectorQueryBuilder.newBuilder();queryBuilder.indexName("track_point_idx");queryBuilder.addTypeName("track_point");VectorQueryConstraintsFactory vectorQueryConstraintsFactory = queryBuilder.constraintsFactory();Query<SimpleFeature> queryOptions = queryBuilder.constraints(vectorQueryConstraintsFactory.cqlConstraints("BBOX(the_geom, 111.6, 21.31, 111.7, 21.41) " +" and " + "( timestamp >= " + startTimeFormatted + " and timestamp <= " + endTimeFormatted + ")")).build();List<SimpleFeature> simpleFeatures = new ArrayList<>();try (final CloseableIterator<SimpleFeature> iterator =hBaseDataStore.query(queryOptions)) {while (iterator.hasNext()) {SimpleFeature feature = iterator.next();simpleFeatures.add(feature);}System.out.println("size:" + simpleFeatures.size());}

参考资料

GeoWave Developer Guide


http://www.ppmy.cn/ops/142799.html

相关文章

HiveQL命令(一)- 数据库操作

文章目录 前言一、数据库操作1. 创建数据库1.1 语法及解释1.2 创建数据库示例 2. 查看数据库2.1 查看所有数据库2.2 查看数据库信息2.2.1 语法及解释2.2.2 查看数据库信息示例 3. 切换数据库3.1 语法3.2 示例 4. 修改数据库4.1 语法4.2 示例 5. 删除数据库5.1 语法及解释5.2 示…

网络安全与信息安全的区别

在平常中&#xff0c;很多同学和刚入门的红客们总是将网安和信安搞混淆&#xff0c;网络安全和信息安全是两个相关但不同的概念。在现代社会中&#xff0c;随着信息化程度的不断提升&#xff0c;二者的界限逐渐模糊&#xff0c;但它们依然有明确的区分。 1. 网络安全&#xff…

Ubuntu 18.04无有线图表且无法设置有线网络

问题背景&#xff1a; 今天在登陆自己的虚拟机Ubuntu系统的时候突然出现 有线连接无法连接的问题&#xff0c;有线连接的图标变为没有了&#xff0c;无法点击网络菜单的Setting模块选项。我的虚拟机有线网络连接方式是NAT方式。 没有如下有线连接图标 解决方法&#xff1a; …

Linux(网络协议和管理)

后面也会持续更新&#xff0c;学到新东西会在其中补充。 建议按顺序食用&#xff0c;欢迎批评或者交流&#xff01; 缺什么东西欢迎评论&#xff01;我都会及时修改的&#xff01; 在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频 王晓春老师的个人空间…

Elasticsearch 集群部署

Elasticsearch 是一个分布式的搜索和分析引擎&#xff0c;广泛应用于日志分析、全文搜索、实时数据分析等场景。它以其高性能、高可用性和易用性而著称。本文档将引导您完成一个基本的 Elasticsearch 集群配置&#xff0c;包括节点间的通信、客户端访问、安全设置等关键步骤。我…

#. 判断元素是否存在传统题1000ms256MiB

题目描述 有一个集合M是这样生成的&#xff1a; (1) 已知k是集合M的元素&#xff1b;(2) 如果y是M的元素&#xff0c;那么&#xff0c;2y1和3y1都是M的元素&#xff1b;(3) 除了上述二种情况外&#xff0c;没有别的数能够成为M的一个元素。 问题&#xff1a;任意给定kk和xx&…

【OJ题解】面试题三步问题

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 &#x1f4d8; 基础数据结构【C语言】 &#x1f4bb; C语言编程技巧【C】 &#x1f680; 进阶C【OJ题解】 &#x1f4dd; 题解精讲 目录 **题目链接****解题思路****1. 问题分析****2. 递归思路****3. 优化方案&a…

【深度学习项目】目标检测之YOLO系列-V5(三)

介绍 YOLOv5 是由 Ultralytics 公司开发的一个目标检测模型&#xff0c;它不是由原始 YOLO 系列的作者 Joseph Redmon 提出的。尽管如此&#xff0c;YOLOv5 在社区中非常受欢迎&#xff0c;并且由于其易于使用、快速迭代和良好的性能而被广泛采用。 主要特点 模型大小与速度的…