`
netxdiy
  • 浏览: 679276 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

加载地图数据

 
阅读更多

加载地图数据

可以打开GeoSet( *.gst)或MapDefinition( *.mdf )文件加载地图数据。MapXtreme没有默认的地图数据,所以必须人工加载地图数据。

1,加载GeoSet

myMap.loadGeoset(geosetName, dataDir, servletURL);

其中:

geosetName:geoset的完整文件名(包括路径);

dataDir:geoset中引用的tab地图文件的位置;

servletURL:mapxtremeservlet的路径,如果MapJ使用LocalDataProviderRef,servletURL可以为NULL。

示例:

myMap.loadGeoset("c://mapxtreme//maps//world.gst",

"c://mapxtreme//maps",

"http://localhost:8080/mapxtreme40/servlet/mapxtreme";);

2,加载 Map Definition

可以加载保存在文件中的地图定义(*.mdf)或者数据库中的地图定义记录(record)。首先要创建MapDefContainer,有两种情况:

《1》 地图定义在文件中:

MapDefContainer mdc = new FileMapDefContainer(dir)

示例:

【一】 MapDefContainer mdc = new FileMapDefContainer("c://mapxtreme/maps")//.mdf文件所在目录 myMap.loadMapDefinition(mdc, name)//name 是mdf文件的名字 【二】 String mapPath="E://workspace//BI_change//fz.mdf";//这个 myMap.loadMapDefinition(mapPath); 《2》 地图定义在数据库中:

MapDefContainer mdc = new JDBCMapDefContainer(driver,url, user,password)

其中,driver,url,user,password都是数据库连接的参数。

下面的示例是使用Oracle Spatial MapRefContainer,地图定义保存在数据库的表中:

OraSoMapDefContainer mdc =

new OraSoMapDefContainer("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@machinename:1521:dbSid",

"username", "password", "tableName", "Name",

"Map_Definition");

tableName:存储在数据库中的mdf表名

Name:mdf表中文件名(对应于表里的一列名)

Map_Definition:mdf表中实际存储地图数据列名

例子: OraSoMapDefContainer mdc =

new OraSoMapDefContainer("oracle.jdbc.driver.OracleDriver",

"jdbc:oracle:thin:@ 219.245.117.110:1521:myoracle",

"mapinfo", "mapinfo", "clob_content",

"file_name","clob_column");

myMap.loadMapDefinition(mdc, "xian");

然后加载地图定义:

myMap.loadMapDefinition(mapDefContainer, name) name 是 地图定义的名字,如: myMap.loadMapDefinition(mdc, "Asia");

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics