InformixUniversalServerSpatialWareDataBlade
DB2SpatialWareExtender
JDBCcompatibletablescontaininglongitudeandlatitudecolumns
GeoTIFFandMIGridRaster
ESRIShapefiles
DataBinding:可以将两种数据源的数据绑定在一起,在一个图层显示信息
Annotation:信息不是实际的数据表,信息存在内存中
MapXtreme读取不同数据的:
下面介绍如何描述DataProvider:
nTableDescHelpers
TableDescHelpers描述要读取哪些数据,对于不同数据源有相应的TableDescHelpers,TableDescHelpers用几个参数描述数据。
如:访问MapInfoTable需要使用TABTableDescHelper,需要table名字参数。对于Oracle8i数据需要使用OraSoTableDescHelper,需要表名或SQL语句参数。后面的相关部分有示例代码。
nDataProviderHelpers
DataProviderHelpers定义数据源。mapxtreme对于MapInfoTable来说,使用TABDataProviderHelper描述Table的数据源,源就是.tab文件所在的目录。Oracle8i的数据使用OraSoDataProviderHelper描述数据源,需要主机名、用户名、密码等。
nDataProviderRef
有两种方式获取数据:一种是直接方式,如MapJ通过JDBC连接取得数据,需要使用LocalDataProviderRef;另一种是间接方式,通过MapXtremeServlet获取数据,需要使用MapXtremeDataProviderRef。
直接方式示意:
间接方式示意:
在这个中MapJ处于客户端(Client),有一个名为stub的DataProvider,真正描述数据的DataProvider由MapXtremeServlet创建。所有访问数据的组件可以放在中间层MapXtremeServlet处,这样客户端就不必都安装JDBC驱动。这是一个典型的三次应用:应用,数据处理逻辑,数据存储。
注意:何时读取数据?
定义获创建Layer后,并不立即读取数据。只有有数据请求时,才真正到数据源读取数据,如:使用Layer的getTableInfo,使用search或响应render请求。
2.添加Layer
添加图层分几步:
创建TableDescHelpers
创建DataProviderHelpers
创建DataProviderRef
使用Layers.add添加图层到最后一层或使用Layers.insert插入到某一个位置
下表总结了连接不同数据源时使用的DataProviderHelpers和TableDescHelper:
DataSource
TableDescHelper
DataProvider
MapInfoTables
TABTableDescHelper
TABDataProviderHelper
Oracle8iwithSpatialOption
OraSoTableDescHelper
OraSoDataProviderHelper
InformixUniversalServerSpatialWareDataBlade
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-15.html
特别棒咯
雷达探测精度和灵敏度
美妞