1、 RDBMS 客户库网 络用户接口应用逻辑C-API,数据访问 网络数据传输空间类型模拟空间数据检索DBMS 交 互数据存储SQL 处理0.000.501.001.501.381.251.171.111.06816326496空间要素类型空间要素类型 FeaturesFeaturesLayersLayersDatasetDataset数据集数据集数据层数据层要要 素素A TableA Table空间要素表S TableS TableF TableF TableFID Coordinates3632Shape(FID)直 径 长 度36321247.58FID Grid Coordinate36
2、32FIDDate Entity.EnvelopeNumofptsBLOB 读取一个要素至少需要三次磁盘动作读取一个要素至少需要三次磁盘动作123数据集数据集数据的运算数据的运算布尔运算布尔运算EqualsTouches数据的运算(数据的运算(2)布尔运算布尔运算WithinContains(与与Within反之反之)数据的运算(数据的运算(3)布尔运算布尔运算CrossesOverlaps(同维数椐间同维数椐间)数据的运算(数据的运算(4)布尔运算布尔运算Disjoint数据的运算(数据的运算(5)叠加运算叠加运算Intersect数据的运算(数据的运算(6)叠加运算叠加运算Differen
3、ce数据的运算(数据的运算(7)叠加运算叠加运算异异 或或数据的运算(数据的运算(8)叠加运算叠加运算Union数据的运算(数据的运算(9)Clip数据访问模型数据访问模型属性或图形属性或图形定义查询定义查询查询的数据源查询的数据源:layers,DBMS tables,可定义基于可定义基于属性、空间、或两者的查询属性、空间、或两者的查询定义属性查询定义属性查询用标准的用标准的SQL语句语句 Select taxes.parcel_id,owners.name,taxes.taxes from taxes,owners where taxes 500 and taxes.parcel_id=o
4、wner.parcel_id OWNERS TAXESparcel_id name parcel_id year taxes 1000 Joe 1000 94 500 1000 Bob 1000 95 600 2000 Tom 1000 93 700 4000 Tim 4000 Joe 查询中增加空间限制条件查询中增加空间限制条件空间限制条件空间限制条件由一组空间过滤器(由一组空间过滤器(spacial filters)实现)实现只有通过过滤器的只有通过过滤器的shape才被加到结果集中才被加到结果集中候选候选shapes查询查询shapes过滤器:过滤器:SM_SC(全包含)(全包含)结果结
5、果 shapes空间索引表空间索引表FeatureIDGridID每一个要素落在某一级、某一个Grid中例:邻近分析 FeatureIDFeatureIDGridIDGridIDFeatureIDGrid IDFeatureIDs比较Envelope比较坐标得到结果A TableA TableSDE的数据层的数据层 空间要素表S TableS TableF TableF Table拓扑关系计算拓扑关系计算i 公共点公共点 i 公共边公共边i 重重 合合i 相相 交交i 包包 含含i 穿穿 越越空间分析空间分析 Client/Server体系体系 Client发出请求,不必等待结果而是发出请求,
6、不必等待结果而是可以继续发出请求或读出以前某次请可以继续发出请求或读出以前某次请求的结果求的结果 Server不必找到全部结果再返回不必找到全部结果再返回,而而是先把部分结果返回,再继续查找是先把部分结果返回,再继续查找 与RDBMS的权限控制机制一致长事务处理长事务处理事务处理:逻辑上的一组工作事务处理:逻辑上的一组工作避免冲突的方法避免冲突的方法:锁锁 定定 READ LOCK 悲观锁定悲观锁定:AREA LOCK WRITE LOCK乐观锁定乐观锁定:乐观锁定乐观锁定Versioning(版本管理)(版本管理)DefaultversionA1versionB1versionC1versionB2versionA2version!