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

相关推荐
jzy37112 分钟前
Ambari 统信 UOS 适配征途:国产化环境下的集群管理破壁与实践总结
大数据
二进制小甜豆10 分钟前
Spring MVC
java·后端·spring·mvc
Yvonne97817 分钟前
定时任务:springboot集成xxl-job-core(一)
java·spring boot·xxl-job
泰勒疯狂展开28 分钟前
Java研学-MongoDB(一)
java·开发语言·mongodb
大数据魔法师28 分钟前
MongoDB(七) - MongoDB副本集安装与配置
数据库·mongodb
red_redemption32 分钟前
JSP、HTML和Tomcat
java·tomcat·html
李斯维36 分钟前
循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例
android·java·android studio
weixin_4723394638 分钟前
StarRocks的几种表模型
java·服务器·前端
无名之逆39 分钟前
[特殊字符]Build High-Performance Web Services with Hyperlane
java·前端·java-ee·eclipse·tomcat·maven·visual studio
天天摸鱼的java工程师44 分钟前
Nginx 配置实战:从摸鱼到部署,手把手教你搞定生产级配置
java·后端·nginx