前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >GeoWave实现简单的时空范围查询(HBase数据库)

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

原创
作者头像
GIS小甲鱼
发布2024-12-13 15:34:58
发布2024-12-13 15:34:58
7200
代码可运行
举报
运行总次数:0
代码可运行

前言

上一篇文章中https://cloud.tencent.com/developer/article/2476406,我介绍了如何利用GeoWave导入数据到HBase/Accumulo数据库中,本文,我将介绍如何使用GeoWave实现简单的时空范围查询。

代码

代码语言:javascript
代码运行次数:0
复制
 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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 代码
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档