SDE表结构分析 转自:http://www.zhumx.com/showtopic-140.aspx SDE数据库中表的说明1、B表:属性表2、F表:要素表3、S表:索引表4、A表:新增表5、D表:删除表6、Layers表:记录B表、F表、S表的关系7、Table_Registry表:记录F表、S表、A表、D表的关系8、Server_Config表:记录giomgr.defs文件的系统配置参数9、dbtune表:记录dbtune.sde文件的存储方案参数元数据表(meta-data tables),用于空间数据的描述和管理。VERSION表 —— 记录ArcSDE服务器的版本号。ArcSDE I/O管理器靠检查该表以确定版本的兼容性。LAYERS表 —— 记录数据库中的各个层,每个记录对应一个层。GEOMETRY_COLUMNS表 —— 管理几何或矢量特征列。RASTER_COLUMNS表 —— 管理栅格列。TABLE_REGISTRY表 —— 管理已注册的LAYERS和multiversion表。SPATIAL_REFERENCES表——记录数据库的坐标系、伪原点、ID码等。STATES表 —— 记录状态。VERSIONS表——记录数据版本。*MVTABLES_MODIFIED表 —— 记录数据多版本信息。SDE_LOGFILE表 —— 管理ArcSDE的logfiles。在ArcSDE 8之前,logfile是以系统文件方式存储的。SDE_LOGFILE_DATA表 —— 管理ArcSDE的logfiles。SDE数据库中表的分析ArcSDE内一个要素类在关系数据库(以MS SQL Server为例)中有一系列的表, 每个表的作用不同。Sde的一个FeatureClass包含以下表:B表(与要素类名称同名,用来存储属性数据结构),表结构如下: 字段名称 类型 说明GeometryID Int 要素唯一ID SHAPE Int 与GeometryID值对应,备用字段?……其他用户定义字段注:如果该要素类没有注册,B表有记录,如果该要素类已经注册,B表记录相应的转移到A表。F表(F+LayerID,用来存储图形坐标、外边界矩形等图形信息) 字段名称 类型 说明FID Int 要素唯一IDNUMOFPTS Int 坐标个数(岛、洞的坐标如何计数)Entity SmallInt 要素类型代码(点、线、面)EMINX Float 边界矩形EMINY Float 边界矩形EMAXX Float 边界矩形EMAXY Float 边界矩形EMINZ FloatEMAXZ FloatMIN_MEASURE FloatMAX_MEASURE FloatAREA Float 面积 LEN Float 长度 POINTS Image 坐标串(具体二进制内如何存储,如何提取)S表(S+LayerID,用来存储地物空间索引,Sde采用正方形网格索引)字段名称 类型 说明 SP_FID Int 要素唯一IDGX Int 行号((网格左下点x坐标-图形区域最小x坐标)/网格大小) GY Int 列号((网格左下点y坐标-图形区域最小y坐标)/网格大小)EMINX Int 从名字看上去是要素的边界矩形坐标。但是添加一个要素进去后,却发现不是直接存储的地物边界矩形坐标,边界矩形的坐标在F表已经存储了,这里不知道干什么用? EMINY IntEMAXX Int EMAXY IntA表(A+LayerID_Register,当要素类注册版本以后,该表存储原B表的数据,并记录数据状态)字段名称 类型 说明 GeometryID Int 要素唯一IDSHAPE Int 似乎与GeometryID值相同,备用字段?SDE_STATE_ID Int 要素状态ID(每个操作就会+1)……其他用户定义字段D表(D+LayerID_Register,仅当要素类注册版本之后,该表存在,并记录当前被删除的地物)字段名称 类型 说明SDE_STATE_ID Int 删除要素的StateID SDE_DELETES_ROW_ID Int 删除要素的IDDELETED_AT Int 删除操作的StateID