一、GeoMesa命令行

查看classpath

执行“classpath”命令,将会返回当前命令行工具的所有classpath信息。

bin/geomesa-hbase classpath

创建表

执行“create-schema”命令创建表,创建表时至少要指定目录名称与表名称,以及表规格。

bin/geomesa-hbase create-schema -c geomesa -f test -s Who:String,What:java.lang.Long,When:Date,*Where:Point:srid=4326,Why:String

描述表

执行“describe-schema”命令获取表描述信息,描述表信息时必须要指定目录名称与表名称。

bin/geomesa-hbase describe-schema -c geomesa -f test

批量导入数据

执行“ingest”命令批量导入数据,导入时需要指定目录名称,表名称,表规格,以及相应的数据转换器等。

数据(车牌号,车辆颜色,经度,维度,时间):data.csv,并将数据表放在data文件夹中。

AAA,red,113.918417,22.505892,2017-04-09 18:03:46
BBB,white,113.960719,22.556511,2017-04-24 07:38:47
CCC,blue,114.088333,22.637222,2017-04-23 15:07:54
DDD,yellow,114.195456,22.596103,2017-04-21 21:27:06
EEE,black,113.897614,22.551331,2017-04-09 09:34:48

表结构定义:myschema.sft,并将myschema.sft放在geomesa命令行工具的conf文件夹中。

geomesa.sfts.cars = {
attributes = [
{ name = "carid", type = "String", index = true }
{ name = "color", type = "String", index = false }
{ name = "time", type = "Date", index = false }
{ name = "geom", type = "Point", index = true,srid = 4326,default = true }
]
}

执行命令导入数据:

bin/geomesa-hbase ingest -c geomesa -C conf/myconvertor.convert -s conf/myschema.sft data/data.csv

解释查询

执行“explain”命令获取指定查询语句执行计划的解释说明,解释语句时必须指定目录名称和表名称,以及给定查询语句。

bin/geomesa-hbase explain -c geomesa -f cars -q "carid = 'BBB'"

统计分析

执行“stats-analyze”命令对数据表进行统计分析,同时还可以进一步执行“stats-bounds”,“stats-count”,“stats-histogram”,“stats-top-k”命令对数据表做更详细的统计。

bin/geomesa-hbase stats-analyze -c geomesa -f cars
bin/geomesa-hbase stats-bounds -c geomesa -f cars
bin/geomesa-hbase stats-count -c geomesa -f cars
bin/geomesa-hbase stats-histogram -c geomesa -f cars
bin/geomesa-hbase stats-top-k -c geomesa -f cars

导出feature

执行“export”命令导出feature,导出时必须指定目录名称和表名称,同时还可以根据指定的查询语句进行导出。

bin/geomesa-hbase export -c geomesa -f cars -q "carid = 'BBB'"

删除feature

执行“delete-features”命令删除feature,删除时必须指定目录名称和表名称,同时还可以根据指定的查询语句进行删除。

bin/geomesa-hbase delete-features -c geomesa -f cars -q "carid = 'BBB'"

获取目录中的全部表的名称

执行“get-type-names”命令获取指定目录中的表名称。

bin/geomesa-hbase get-type-names -c geomesa

删除表

执行“remove-schema”命令删除表,删除表示至少要指定表所在的目录与表名称。

bin/geomesa-hbase remove-schema -c geomesa -f test
bin/geomesa-hbase remove-schema -c geomesa -f cars

删除目录

执行“delete-catalog”命令删除指定的目录。

bin/geomesa-hbase delete-catalog -c geomesa

二、GeoMesa 索引

GeoMesa将为给定的SimpleFeatureType模式创建各种索引。这允许我们以优化的方式回答各种查询。GeoMesa将尽最大努力确定用于索引的属性。要使用的属性也可以指定为SimpleFeatureType。

索引概述

Z2 [ z2] - Z2索引使用二维Z阶曲线来索引点数据的纬度和经度。如果要素类型具有几何类型,则将创建此索引 Point。这用于有效地回答具有空间组件但没有时间组件的查询。

Z3 [ z3] - Z3索引使用三维Z阶曲线来索引点数据的纬度,经度和时间。如果要素类型具有几何类型Point且具有时间属性,则将创建此索引。这用于有效地回答具有空间和时间组件的查询。

XZ2 [ xz2] - XZ2索引使用XZ-ordering [1]的二维实现来索引非点数据的纬度和经度。XZ排序是Z-排序的扩展,设计用于空间扩展对象(即非点几何,如线串或多边形)。如果要素类型具有非Point几何图形,则将创建此索引。这用于有效地回答具有空间组件但没有时间组件的查询。

XZ3 [ xz3] - XZ3索引使用XZ-ordering [1]的三维实现来索引非点数据的纬度,经度和时间。如果要素类型具有非Point几何并且具有时间属性,则将创建此索引。这用于有效地回答具有空间和时间组件的查询。

Record / ID [ id] - 记录索引使用功能ID作为主键。它用于ID的任何查询。此外,某些属性查询可能最终从记录索引中检索数据。

Attribute [ attr] - 属性索引使用属性值作为主索引键。这允许在没有时空组件的情况下快速检索查询。属性索引包括辅助时空密钥,其可以改进具有多个谓词的查询。

空间指数(Z2 / XZ2)

如果SimpleFeatureType有Geometry型属性(Point,LineString,Polygon等),GeoMesa将创建在该属性的空间索引。如果有多个Geometry-type属性,则使用默认属性。默认几何体通常*在SimpleFeatureType字符串中使用前缀指定,并且是返回的前缀 SimpleFeatureType.getGeometryDescriptor。

时空指数(Z3 / XZ3)

如果SimpleFeatureType同时具有Geometry-type属性和Date属性,GeoMesa将在这些属性上创建时空索引。使用的Geometry-type属性与上面的空间索引相同。Date选择的属性将是声明的第一个属性,或者可以显式设置。

ID索引

GeoMesa将始终创建ID索引SimpleFeature.getID()。

属性索引

有些查询使用默认索引很难回答。例如,对于Twitter数据,您可能希望返回给定用户的所有推文。要加速此类查询,可以单独索引简单要素类型中的任何属性。

三、拓扑关系——九交模型

空间关系 中文名称 OGC标准 解释
Equal 相等 两个几何图形具有相同的边界和内部
Disjoint 分离 两个几何图形的边界和内部不相交
Intersects 相交 两个几何图形没有分离
Crosses 交叉 一个几何图形的内部和另一个几何图形的边界和内部相交,但是它们的边界不想交
Within 包含于 一个几何图形的内部和边界完全在另一个几何图形的内部
Contains 包含 一个几何图形的内部完全包含了另一个几何图形的内部和边界
Overlaps 重叠 两个几何图形的边界和内部相交

GeoMesa命令行,索引概述的更多相关文章

  1. mongodb_命令行

    一.打开命令行 cmd --> cd C:\Program Files\MongoDB\Server\3.0\bin\ --> mongo.exe   二.连接远程机器命令行工具 1.连接 ...

  2. VBoxManage 命令行使用

    原文地址:http://cnjun939.blog.163.com/blog/static/78144538201251474311135/ 由于最近需研究virtualbox,看好看到上面的网址有, ...

  3. Mac命令行

    参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...

  4. UE4命令行使用,解释

    命令行在外部 从命令行运行编辑项目 1 导航到您的[LauncherInstall][VersionNumber]\Engine\Binaries\Win64 目录中. 2 右键单击上 UE4Edit ...

  5. kafka工作流程| 命令行操作

    1.  概述 数据层:结构化数据+非结构化数据+日志信息(大部分为结构化) 传输层:flume(采集日志--->存储性框架(如HDFS.kafka.Hive.Hbase))+sqoop(关系型数 ...

  6. <JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  7. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...

  8. mysql 命令行还原备份数据库

    通常数据库还原备份可以通过navicat等数据库管理工具进行,只需要简单的导出导入就行了,但遇到有索引外键的数据库,数据库管理工具运行.sql文件会报错,这时候可以尝试命令行导入,亲测可以成功 MyS ...

  9. MongoDB学习笔记~客户端命令行的使用

    回到目录 当我们从MongoDB网站下载安装包之后,它会伴随有一系列的工具,服务器程序mongod是我们耳熟能详的了,客户端mongo和性能检测mongostat我们可能就没有用过了,今天主要是介绍一 ...

随机推荐

  1. 数据湖框架选型很纠结?一文了解Apache Hudi核心优势

    英文原文:https://hudi.apache.org/blog/hudi-indexing-mechanisms/ Apache Hudi使用索引来定位更删操作所在的文件组.对于Copy-On-W ...

  2. hashmap的简易实现,基本实现PUT GET

    p.p1 { margin: 0; font: 12px Menlo; color: rgba(79, 118, 203, 1) } /*简易版的HASHMAP包括基本的GET  PUT思想 * 从数 ...

  3. v-on以及v-show、v-if的一些小杂碎

    v-on的参数问题: 当通过methods中定义方法,以供@click调用时,需要注意参数问题: 情况一:如果该方法不需要额外参数,那么方法后的()可以不添加.但是注意:如果方法本身中有一个参数,那么 ...

  4. eclipse下的jetty远程调试设置

    在windows下的jetty远程调试设置1.首先说明的是windows下的jetty是通过命令java  -jar start.jar来启动的,因此要想设置成远程调试模式,则要改用命令java -X ...

  5. TurtleBot3使用课程-第三节b(北京智能佳)

    目录 1.使用TurtleBot3机械手运行SLAM 2 1.1 roscore运行 2 1.2 准备行动 3 1.3 运行SLAM节点 3 1.4 运行turtlebot3_teleop_key节点 ...

  6. Beta冲刺——第五天

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  7. java集合并发操作异常解决方法:CopyOnWriteArrayList

    一.我们知道ArrayList是线程不安全的,请编写一个不安全的案例并给出解决方案 HashSet与ArrayList一致 HashMap HashSet底层是一个HashMap,存储的值放在Hash ...

  8. notapai++ 使用小技巧

    alt+鼠标右键 建 实现整体添加字符 例: 25001510153394032 25001510153394034 25001510153393963 25001510153392080 25001 ...

  9. 风炫安全Web安全学习第十六节课 高权限sql注入getshell

    风炫安全Web安全学习第十六节课 高权限sql注入getshell sql高权限getshell 前提条件: 需要知道目标网站绝对路径 目录具有写的权限 需要当前数据库用户开启了secure_file ...

  10. fastjsion反序列化漏洞渗透测试笔记

    本文原创地址:https://www.cnblogs.com/yunmuq/p/14268028.html 一.背景 fastjsion是阿里的开源Java工具:https://github.com/ ...