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

前言

上一篇文章中利用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

相关推荐
谢亮_vipxieliang9 分钟前
Java 8/11/17/21/25 怎么选?一篇讲清 LTS 升级路线
java·开发语言
夜雪一千10 分钟前
MySQL 触发器有哪些应用场景?从入门场景到避坑实战
数据库·mysql
hunteritself15 分钟前
卷卷卷!GPT-6 Sol、Luna 正式发布,OpenAI 开始卷价格了
大数据·前端·人工智能·深度学习·transformer
Cindy_cd18 分钟前
IDEA2021 配置 JDK+Maven
java·开发语言·maven
lusklusklusk25 分钟前
Oracle数据库基础之6_外部表临时表分区表_物化视图_约束的介绍
数据库·oracle
Q264336502337 分钟前
【有源码】基于XGBoost的安卓应用市场数据分析与评分预测系统-面向应用市场的安卓App评分回归预测方法研究
大数据·hadoop·数据挖掘·数据分析·回归·spark·毕业设计
我要神龙摆尾41 分钟前
IDEA 阅读插件
java·ide·intellij-idea·idea-plugs·plugs
智商偏低41 分钟前
【无标题】
服务器·数据库·oracle
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的培训机构信息分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·mysql·数据挖掘·数据分析·spark·课程设计
千舟软件1 小时前
【宿舍管理·产品功能】宿舍水电账单自动算
大数据·运维·科技·安全·业界资讯