今天开始想分析一下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. ffplay 中filter的使用

    添加字幕:ffplay -vf drawtext="fontfile=arial.ttf: text='Test Text': x=100: y=300: \ fontsize=48: fo ...

  2. fastdfs-client-java工具类封装

    FastDFS是通过StorageClient来执行上传操作的 通过看源码我们知道,FastDFS有两个StorageClient工具类.

  3. Java Map各遍历方式的性能比较

    1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keySet拿到的 ...

  4. html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null

    html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null 解决方法:使用hidden 利用javascript赋值,传递到后台

  5. jsp页面变量作用域问题

    想实现一个注销的功能,在页面上有个注销按钮,我想一点它就注销,用了js给按钮加了onclick代码,如下 <%      session = request.getSession(true); ...

  6. git 使用(二)

    之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法. 一.push和fetch还需要输入用户名和密码? 解决办法:看看公玥是否添加 ...

  7. HDU 4630 No Pain No Game 树状数组+离线查询

    思路参考 这里. #include <cstdio> #include <cstring> #include <cstdlib> #include <algo ...

  8. Difference between Pragma and Cache-control headers?

    Pragma is the HTTP/1.0 implementation and cache-control is the HTTP/1.1 implementation of the same c ...

  9. oracle层次查询的陷阱

    今天开发组同事找到我,说一个简单的层次查询非常慢,业务就是有一个存设备表连接关系的表,从node1连入,从node2连出,现在要找出node2的连出顺序,sql类似于: SELECT LEVEL ID ...

  10. lumen 使用 redis缓存

    建议修改composer.json require 节点如下: "require": { "php": ">=5.5.9", &quo ...