1.1
DDL
数据定义语言(Data Definition Language)定义了时空数据表结构,表结构的信息存储在JUST-DB中。
1.1.1
表操作
1.1.1.1 创建表
在JUST当中,表的类型分为两种,通用表和插件表:
通用表(Common表)
插件表
在创建表之前,请务必确认以下三点:
1. 数据类型
2. 应用场景:
3.
时空字段注意点如下:经纬度,使用Point,而不使用String;时间字段使用Timestamp,而不使用String
1.1.1.1.1
插件表
在创建插件表时,JUST会根据表中包含的对象类型,自动创建对应表的所有默认索引,如创建时空点表时,JUST则会为该表创建Z2、Z3、Z2T、attr(attr+z3)、id共五种索引。
1.1.1.1.1.1
非SD插件类型表
语法:
1.
2.
3.
4.
5.
6.
时空静态插件类型(SS):sspoint\ssline\ssregion
¡ 默认字段(保留字): oid String, geom Point\Polygon\LineString,均不允许为空
¡ 自定义字段:必填,自定义属性, 如LineString的长度
¡ 默认主键:oid
¡ 示例:
1.
时空动态插件类型(DD):ddpoint\ddline\ddregion
¡ 默认字段(保留字): oid String, geom Point\Polygon\LineString, time Timestamp,均不允许为空
¡
¡ 默认主键: oid+time的联合主键
¡
1. create ddline_table as ddline(length Double)
¡
1.
1.1.1.1.1.2
SD插件类型表
语法
1.
2.
3.
4.
5.
6.
7.
8.
9.
空间静态时间动态插件类型(SD):sdpoint\sdregion\sdline
¡ 默认字段
¡ 自定义字段:
n
n
¡
¡
1. create sdregion_table as sdregion(meta1 String, meta2 Double)(reading1 Integer, reading2 Float)
1.1.1.1.2 特定业务应用表
路网插件类型(roadnetwork)
¡
字段 |
类型 |
解释 |
oid |
String |
对象的id |
geom |
Linestring |
点组成的线 |
start_id |
Integer |
路段起始id |
end_id |
Integer |
路段结束id |
direction |
Integer |
路段方向 |
level |
Integer |
路段等级 |
speed_limit |
Double |
路段限速,km/h |
length |
Double |
路段长,km |
¡
¡ 语法:
1.
2.
3.
4.
5.
¡
1.
轨迹插件类型(trajectory)
¡ 是继承了ddline的特殊插件类型,基于ddline的meta预留字段及对应的字段类型如下:
字段 |
类型 |
解释 |
oid |
String |
对象的id |
geom |
Linestring |
点组成的线 |
time |
Timestamp |
路段起始id |
end_time |
Timestamp |
路段结束id |
tid |
String |
轨迹id |
st_series |
Stseries |
组成轨迹的所有时间戳序列 |
start_position |
Point |
轨迹起始点 |
end_position |
Point |
轨迹结束点 |
point_number |
Integer |
轨迹中的Point点数量 |
speed |
Double |
平均速度,km/h |
length |
Double |
轨迹长度,km |
¡
¡
¡
1.
2.
3.
4.
5.
6.
7.
8.
¡
1.
RouteOfTrajectory插件类型(routeoftrajectory)
¡
字段 |
类型 |
解释 |
oid |
String |
对象的id |
geom |
Linestring |
点组成的线 |
time |
Timestamp |
路段起始id |
end_time |
Timestamp |
路段结束id |
tid |
String |
轨迹id |
start_position |
Point |
轨迹起始点 |
end_position |
Point |
轨迹结束点 |
routes |
Array |
匹配后的路段线 |
¡ 用户还可以基于routeoftrajectory继续扩展自定义字段,比如长度、平均速度等
¡ 语法
1.
2.
3.
4.
5.
¡
1.
1.1.1.1.3
TS时序表
¡ 默认字段(保留字):time Timestamp
¡ 自定义字段:
§
§
¡
语法:
1. -- 创建时序表 ts
2. create table <tsTableName> as ts
3. (
4. -- 标签tags,选填,例:city String
5. )
6. (
7. -- 值values/域fields,必填,例:PM25 Double
8. )
9. [userdata {"key":"value","key":"value"}]
示例:
1. create table tableName as ts
2. (
3. Occupancy int
4. )
5. (
6. Temperature
double,
7. Humidity
double
8. )
1.1.1.1.4 通用类型表
语法:
1.
2.
3.
4.
5.
6.
示例:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
1.1.1.1.5
表语句解释与示例
1.
字段名 |
解释 |
primary key |
定义该字段为主键,不填则不为主键(主键数量至多为一) |
not null |
定义该字段不允许为空,不填则可以为空(主键无需指定非空属性) |
default |
定义该字段的默认值,不填则默认为空(主键不能指定默认属性) |
dtg |
dtg=[true/false],定义该字段为时间字段,不填则默认为false |
srid |
定义该字段的坐标系,默认为4326(若该字段不为空间字段则会报错) |
index=true |
定义该字段添加索引,默认不添加(写成"Index=False"会报错,默认不添加索引;主键无需指定索引属性) |
compress |
compress=[ZIP/GZIP],定义该字段的压缩方式,仅支持String类型的字段,其他类型字段会报错(此外,主键和索引字段不能压缩) |
comment |
定义该字段的注释,支持中英文 |
2.
关键字Key |
值Value |
geomesa.indices.enabled |
声明该表允许使用的索引,没有在此声明的索引,则不会被创建。如果不指定,则根据表中字段,自动创建相关类型的索引,默认使用z2,z3,xz2,xz3,建议使用z2t代替z3,xz2t代替xz3,效率更高 |
geomesa.z3.interval |
涉及时间相关索引时,如z3,xz3,z2t,xz2t, attr:timerange,最小的时间分区单位,默认为'week'可,可选项有:'day'/'week'/'month'/'year' |
geomesa.xz.precision |
xz系列索引精度(xz2,xz3,xz2t),默认为12,最大为18 |
geomesa.attr.type |
属性索引的二级索引:属性索引是由属性+二级索引组成,其中二级索引包括 z2,z3,xz,xz3,xz2t,xz3等 |
1.1.1.2 删除表
1.
1.1.1.3 显示表
1.
1.1.1.4 查询表内字段
1.
1.1.1.5 查询某表的创表语句
1.
1.1.1.6 清空表
1.