http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> MapInfo >> 正文

MapX应用教程(8)-如何和大型数据库关联|空间数据库

作者:未知    文章来源:网络    点击数:    更新时间:2006-12-25
摘要:
八、如何和大型数据库关联 
 
 
系统是混合结构:对地图的访问使用的是文件访问方式,对属性数据的访问使用的是大型
数据库形式使用ID关联:在TAB表和数据库中有ID字段,两个字段作为唯一值关联字段。(
一对一的关系)。示例: 
 
Lyr.KeyField=ID 
Set Ftr=Ftrs.Item(J) 
 
SQL语句查找对应的属性信息 
SampleAdo.RecordSource =Select a.id as id,b.name as name from Table1 a, Tabl

e2 b WHERE (a.id=b.id) AND ( a.id LIKE % +Ftr.KeyValue+%)

 

九、空间数据库 
 
’空间数据库中的索引技术用的是R_Tree技术,而不是原来一般意义上的B_Tree索引
技术。 
’空间数据在Spatial中以地理属性信息形式存放。 
’在Oracle的版本中有如下需要注意事项: 
a) Oracle 8.1.5这个版本中,首次引入Spatial组件。使用上非常不好:图形的样式非常
单一,且为黑白的而非彩色,上载地图数据时,数据丢失非常严重。存取数据时非常慢。
Spatial中自动创建prinx字段作为地图索引主关键字段 
b) Oracle 8.1.6版本:图形为彩色的,增加了样式的支持,但不支持同一图层下的多样式
(主要指点对象)。创建地图数据时,地图的坐标常发生偏移。属性数据更新时,需要两
次刷新才能完整提交;地图数据数据提交时,其坐标发生偏移:向原点偏移,需要认为地
单独将其移动到其初始创建位置。存取速度上还是比较慢,离实用尚有一定距离。在Spat
ial中自动创建mi_prinx字段作为地图索引主关键字段 
² Oracle 8.1.7版本:支持多样式,数据上载丢失非常小(只有文本对象存在丢失的
记录)。在地图数据存取不是很大的时候,速度上可以被用户接受。 
² 如何将MapInfo TAB表内容上传到Oracle 中? 
a) 免费工具:easyloader6.7Oracle 8.1.7),下载地址:www.mapinfo.com.cn 
b) 如何上载?注意:上载之前对Tab表进行紧缩。 
c) 在程序中如何使用空间数据库中的地图数据? 
d) 添加地图时,必须指定字段mi_prinx的明确值,且该值不能为表中已存在的值。写入地
图数据时,应将其全部NOT NULL 字段值赋给,否则保存失败。 
e) 示例:Tab+空间数据表 的数据分布形式。 

Tags:MapX应用教程  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图