|
MapXtreme for Java支持数据绑定,可以将和地图相关的数据信息保存在数据库中,通过数据绑定将数据库内的数据在地图上可视化。
数据绑定需要使用DataProvider:com.mapinfo.dp.databinding。 数据绑定的步骤: 1为每个表创建TableDescHelper 2创建DataBindingTableDescHelper,需要第一步中创建的TableDescHelper为参数,还需要关联两个表的字段(未必同名)。 3为每个表创建DataProviderHelper 4创建DataBindingDataProviderHelper,需要用到上一步的DataProvider 5使用DataBindingDataProviderHelper创建DataProviderRef 6向Layers中添加Layer 另外,也可以通过图层控制Bean将数据绑定的图层添加到VisualMapJ。 数据绑定示例: TABDataProviderHelper tabDPH = new TABDataProviderHelper(directory); JDBCDataProviderHelper jdbcDPH = new JDBCDataProviderHelper("jdbc:oracle:thin:@localhost:1521:sid", user, pass,"oracle.jdbc.driver.OracleDriver"); DataBindingDataProviderHelper dbDPH = new DataBindingDataProviderHelper(tabDPH, jdbcDPH); String tabCols = {"State"}; String jdbcCols = {"STATEABBREVIATION"}; TABTableDescHelper tabDesc = new TABTableDescHelper("states.tab"); JDBCTableDescHelper jdbcDesc = new JDBCTableDescHelper("STATES", null, false); DataBindingTableDescHelper dbDesc = new DataBindingTableDescHelper(tabDesc, jdbcDesc, tabCols,jdbcCols); DataProviderRef dpRef = new MapXtremeDataProviderRef(dbDPH, mapXtremeURL); Layer lyr = mapj.getLayers().add(dpRef, dbDesc,"DataBinding"); 下面介绍数据聚合的概念:(com.mapinfo.dp.databinding.Aggregation) 这个类决定数据绑定时,如果处理相关的多条记录。 如: dbDesc.addAggregation(Aggregation.SUM); 数据聚合有如下几种类型: 1) sum求和 2) count求个数 3) average求平均 4) minimum求最小值 5) maximum求最大值 可以为每个字段定义聚合,但各个字段必须相同。 聚合的所有操作都属于DataBindingTableDescHelper.
|