今天开始想分析一下sde的表结构,希望能够弄明白sde一个要素类的每个Feature是如何存储的。

弄ArcSDE的人都知道,ArcSDE内一个要素类在关系数据库(以MS SQL Server为例)中有一系列的表,

每个表的作用不同。

Sde的一个FeatureClass包含以下表:



B表(与要素类名称同名,用来存储属性数据结构),表结构如下:

字段名称

类型

说明



GeometryID

Int

要素唯一ID



SHAPE

Int

似乎与GeometryID值相同,备用字段?



…..

…..

其他用户定义字段

注:如果该要素类没有注册,B表有记录,如果该要素类已经注册,B表记录相应的转移到a表





F表(f+LayerID,用来存储图形坐标、外边界矩形等图形信息)




字段名称

类型

说明



fid

Int

要素唯一ID



numofpts

Int

坐标个数(岛、洞的坐标如何计数)



entity

smallInt

要素类型代码(点、线、面)



eminx

Float

边界矩形



eminy

Float

边界矩形



emaxx

Float

边界矩形



emaxy

Float

边界矩形



eminz

Float





emaxz

Float





min_measure

Float





max_measure

Float





area

Float

面积



len

Float

长度



points

image

坐标串(具体二进制内如何存储,如何提取)









S表(s+LayerID,用来存储地物空间索引,Sde采用正方形网格索引)



字段名称

类型

说明



sp_fid

Int

要素唯一ID



gx

Int

行号((网格左下点x坐标-图形区域最小x坐标)/网格大小)



gy



列号((网格左下点y坐标-图形区域最小y坐标)/网格大小)



eminx

Int

从名字看上去是要素的边界矩形坐标。但是我添加一个要素进去后,却发现不是直接存储的地物边界矩形坐标,边界矩形的坐标在f表已经存储了,这里不知道干什么用?




eminy

Int



emaxx

Int



emaxy

Int

















A表(a+LayerID_Register,当要素类注册版本以后,该表存储原b表的数据,并记录数据状态)



字段名称

类型

说明



GeometryID

Int

要素唯一ID



SHAPE

Int

似乎与GeometryID值相同,备用字段?



SDE_STATE_ID

Int

要素状态ID(没有仔细研究,似乎每个操作就会+1)



…..

…..

其他用户定义字段









D表(d+LayerID_Register,仅当要素类注册版本之后,该表存在,并记录当前被删除的地物)



字段名称

类型

说明



SDE_STATE_ID

Int

删除要素的StateID



SDE_DELETES_ROW_ID

Int

删除要素的id



DELETED_AT

Int

删除操作的StateID?



本来想自己先看一段时间再贴出来,后来觉得个人时间、精力、能力有限,或许可以一边学一边写,

又或许有做过这项工作和对此有兴趣的同行愿意了解他,能够一起探讨

要搞清楚ArcSDE的运行机制,除了要分析他的表结构之外,还要分析其坐标串如何存储、版本信息如何记录

还有他本身自带的很多存储过程

由于本人也刚开始了解,其中如果有错误之处请多包含,并请指正,勉我在以后的过程中走弯路,谢谢先
 
 
 

Sde表结构分析的更多相关文章

  1. 设置sde表空间为自动增长

    有的用户在测试数据时,希望在SDE表空间里面不受限制地导入数据,于是需要将SDE的表空间设置为自动增长. 过程描述 1.可以在创建sde表空间的时候,添加参数Autoextend on,修改后创建命令 ...

  2. SDE表空间不足解决办法(ORA-01653)

    一.问题描述       在往空间数据库拷贝数据的时候,发生了ORA-01653的错误,提示信息如下: 这主要是因为表空间不足引起的,出现这种表空间不足的问题一般有两种情况:一种是表空间的自动扩展功能 ...

  3. PHPCMS V9数据库表结构分析

    PHPCMS V9可以轻松承载百万级的访问数据,最大的功臣就是PHPCMS良好的数据库结构,在数据库的设计方面,一定是下足了功夫.   一般网站的信息量离这个级别相差甚远,但是了解学习一下PHPCMS ...

  4. 创建SDE表空间

    创建空间数据存储类型为ST_Geometry的要素类有2种方法:1)使用SDE创建要素类从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtu ...

  5. Grafana关键表结构分析

    Grafana默认使用SQLite存储数据表,默认数据库文件存储在/var/lib/grafana/grafana.db中,可以将文件拷贝到Widnows中,使用Navicat for SQLite进 ...

  6. WordPress数据库及各表结构分析

    默认WordPress一共有以下11个表.这里加上了默认的表前缀 wp_ . wp_commentmeta:存储评论的元数据wp_comments:存储评论wp_links:存储友情链接(Blogro ...

  7. 学习计划 mysql desc表结构分析

    在完成数据表建表后,我们需要知道我们的表结构是什么,有没有和构造表时差异的地方. -- 简单查看表结构 desc 表名 这里拿数据库的一张表中做示例 mysql> desc rental; +- ...

  8. activity工作流表结构分析

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository( ...

  9. R12客户表结构分析

    客户表/联系人/PARTY关联   HZ_PARTIES 客户账户表   HZ_CUST_ACCOUNTS 例子:    select hp.party_number --客户注册标识         ...

随机推荐

  1. 内存分析_.Net内存原理介绍

    内存原理介绍 1.       .Net应用程序中的内存 1.1.Net内存类型 Windows使用一个系统:虚拟寻址系统.这个系统的作用是将程序可用的内存地址映射到硬件内存中的实际地址上.其实际结果 ...

  2. [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题

    相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...

  3. ubuntu安装和配置SVN【转】

    ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2  libapache2-svn subversion ...

  4. ASP.NET26个性能优化方法

    1.数据库访问性能优化 (1)数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连 ...

  5. Eclipse 插件 —— SVN 的下载与安装

    介绍一下Eclipse 安装 SVN 插件的方法. 第一步:下载资源文件 打开网址 http://subclipse.tigris.org/ ,点击[Download and Install]标签页, ...

  6. Eclipse 下如何引用另一个项目的资源文件

    为什么要这么做?可参考:Eclipse 下如何引用另一个项目的Java文件 下面直接说下步骤:(项目A 引用 项目B的资源文件) 1.右键 项目A,点击菜单 Properties 2.在弹出的框中,点 ...

  7. 使用 httpkit 来替代 jetty

    Compojure 是一个基于 ring 的上层web开发框架.在 lein new compojure my-app 生成的项目中,默认是启用 jetty 服务器的,最近用到了 http-kit 中 ...

  8. 【ACM】魔方十一题

    0. 前言打了两年的百度之星,都没进决赛.我最大的感受就是还是太弱,总结起来就是:人弱就要多做题,人傻就要多做题.题目还是按照分类做可能效果比较好,因此,就有了做几个系列的计划.这是系列中的第一个,解 ...

  9. 【AStar】初赛第一场

    1. All X1.1 基本思路k和c的范围都不大,因此可以考虑迭代找循环节,然后求余数,判定是否相等.这题还是挺简单的.1.2 代码 /* 5690 */ #include <iostream ...

  10. Cocos2d-x 开发手记

    1.所有的源文件统一新建到Classes里,否则无法找到源文件,这样也便于跨平台编译   2.绘图坐标系,与opengl采用相同坐标系,左下角为原点 纹理坐标系,以左上角为原点   3.最近有在学习C ...