程序主要构建在官方的tutorials中,简化了源程序中的一些内容。
Geome搭建过程以及GeoSever的安装,整理为:https://blog.csdn.net/qq_42245531/article/details/105639727
主要分成TaxiTest、TaxiForHbase和TaxiData(实现给定的TutorialData接口)
taxiTest.java
程序的主要流程部分。
public class TaxiTest {
public static void main(String[] args) {
Map<String, String> params = new HashMap<>();
TaxiData data = new TaxiData();
params.put("hbase.catalog", "111111");//配置hbase数据库表名
params.put("hbase.zookeeper", "localhost");//配置zookeeper地址
TaxiForHbase taxiForHbase = new TaxiForHbase();
try {
//DataStore datastore = createDataStore(params);//替换为下面简单的方式(不使用createDataStore函数),先建立元数据存储集合
DataStore dataStore = DataStoreFinder.getDataStore(params);
SimpleFeatureType sft = taxiForHbase.getSimpleFeatureType(data);//2、从TaxiData中获取sft,sft理解为类型:类似于TaxiId:String,TriggerEvent:Integer,Status:Integer,dtg:Date,*geom:Point:srid=4326,GPSSpeed:Integer,GPSDirection:Integer,GPSStatus:Boolean
taxiForHbase.createSchema(dataStore, sft);//3、在datastore上创建当前simplefeaturetype的schema
List<SimpleFeature> features = TaxiForHbase.getTestFeatures(data);//获取要存入数据
TaxiForHbase.writeFeatures(dataStore, sft, features);//向Hbase数据库中写入数据
} catch (Exception e) {
e.printStackTrace();
}
}
}
TaxiForHbase
public class TaxiForHbase {
public DataStore createDataStore(Map<String, String> params) throws IOException {
System.out.println("Loading datastore");
// use geotools service loading to ge