本文介紹時空軌跡功能的使用示例。
1、示例下載
下載解壓后進入lindorm-sample目錄。
mvn install -Dmaven.test.skip=true -s ../settings.xml
編譯成功后,在target目錄下生成 lindorm-mod-sample-1.0.0.jar。
2、使用示例
進入lindorm-sample目錄。
java -jar target/lindorm-mod-sample-1.0.0.jar src/main/resources/template/mod_template.json
通過JSON文件指定操作和參數,JSON文件可參照示例mod_template.json。
2.1 寫入數據
在mod_template.json中,設置寫入參數。該示例指定AIS軌跡點數據集目錄,讀取數據并以分段二級索引模型存儲軌跡,以ID為主索引,xz2t為二級索引創建表 "traj"并寫入數據。分段策略為每50個點劃分一段(目前支持BY_DURATION、BY_DISTANCE、BY_ANGLE、BY_COUNT四種分段策略,可以通過修改MOD.java中的SplitConfigs設置,使用其它分段策略)。
{
"operation" : "WRITE",
"zk_address" : "your_zk_address",
"catalog" : "example",
"schema" : "traj",
"enable_secondary_index" : "true",
"print_info": "false",
"enabled_indices" : "id,xz2t",
"primary_index" : "id",
"thread_num": 8,
"input_dir": "path_to_repository/lindorm-sample/src/main/resources/data/traj",
}
"enabled_indices" 指定需要創建的索引(索引類型參見創建索引表),注意需要設置"enable_secondary_index" 為true才能使用二級索引,并設置"primary_index"指定其中的主索引。"thread_num"設置寫入數據時的并行線程數,默認為1。
然后執行sample寫入。
java -jar target/lindorm-mod-sample-1.0.0.jar src/main/resources/template/mod_template.json
2.2 查詢數據
在mod_template.json中設置查詢參數,使用示例代碼默認的查詢范圍。
{
"operation" : "QUERY",
"zk_address" : "your_zk_address",
"catalog" : "example",
"schema" : "traj",
"predicate" : "INTERSECTS(geom, POLYGON ((-76 28, -74 28, -74 30, -76 30, -76 28))) and traj_start_time >= 1549510271 AND traj_start_time <= 1549583941",
"return_complete_trajectory" : "false",
"print_results" : "true"
}
"predicate"設置查詢語句,"return_complete_trajectory" 指定是否返回完整軌跡(分段存儲的軌跡在查詢時默認返回符合查詢條件的軌跡段,需設定該參數為true才會返回完整軌跡)。
執行sample查詢。
java -jar target/lindorm-mod-sample-1.0.0.jar src/main/resources/template/mod_template.json
可以看到返回顯示的查詢結果。
文檔內容是否對您有幫助?