Sde表结构分析
今天开始想分析一下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表结构分析的更多相关文章
- 设置sde表空间为自动增长
有的用户在测试数据时,希望在SDE表空间里面不受限制地导入数据,于是需要将SDE的表空间设置为自动增长. 过程描述 1.可以在创建sde表空间的时候,添加参数Autoextend on,修改后创建命令 ...
- SDE表空间不足解决办法(ORA-01653)
一.问题描述 在往空间数据库拷贝数据的时候,发生了ORA-01653的错误,提示信息如下: 这主要是因为表空间不足引起的,出现这种表空间不足的问题一般有两种情况:一种是表空间的自动扩展功能 ...
- PHPCMS V9数据库表结构分析
PHPCMS V9可以轻松承载百万级的访问数据,最大的功臣就是PHPCMS良好的数据库结构,在数据库的设计方面,一定是下足了功夫. 一般网站的信息量离这个级别相差甚远,但是了解学习一下PHPCMS ...
- 创建SDE表空间
创建空间数据存储类型为ST_Geometry的要素类有2种方法:1)使用SDE创建要素类从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtu ...
- Grafana关键表结构分析
Grafana默认使用SQLite存储数据表,默认数据库文件存储在/var/lib/grafana/grafana.db中,可以将文件拷贝到Widnows中,使用Navicat for SQLite进 ...
- WordPress数据库及各表结构分析
默认WordPress一共有以下11个表.这里加上了默认的表前缀 wp_ . wp_commentmeta:存储评论的元数据wp_comments:存储评论wp_links:存储友情链接(Blogro ...
- 学习计划 mysql desc表结构分析
在完成数据表建表后,我们需要知道我们的表结构是什么,有没有和构造表时差异的地方. -- 简单查看表结构 desc 表名 这里拿数据库的一张表中做示例 mysql> desc rental; +- ...
- activity工作流表结构分析
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository( ...
- R12客户表结构分析
客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS 例子: select hp.party_number --客户注册标识 ...
随机推荐
- ffplay 中filter的使用
添加字幕:ffplay -vf drawtext="fontfile=arial.ttf: text='Test Text': x=100: y=300: \ fontsize=48: fo ...
- fastdfs-client-java工具类封装
FastDFS是通过StorageClient来执行上传操作的 通过看源码我们知道,FastDFS有两个StorageClient工具类.
- Java Map各遍历方式的性能比较
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keySet拿到的 ...
- html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null
html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null 解决方法:使用hidden 利用javascript赋值,传递到后台
- jsp页面变量作用域问题
想实现一个注销的功能,在页面上有个注销按钮,我想一点它就注销,用了js给按钮加了onclick代码,如下 <% session = request.getSession(true); ...
- git 使用(二)
之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法. 一.push和fetch还需要输入用户名和密码? 解决办法:看看公玥是否添加 ...
- HDU 4630 No Pain No Game 树状数组+离线查询
思路参考 这里. #include <cstdio> #include <cstring> #include <cstdlib> #include <algo ...
- 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 ...
- oracle层次查询的陷阱
今天开发组同事找到我,说一个简单的层次查询非常慢,业务就是有一个存设备表连接关系的表,从node1连入,从node2连出,现在要找出node2的连出顺序,sql类似于: SELECT LEVEL ID ...
- lumen 使用 redis缓存
建议修改composer.json require 节点如下: "require": { "php": ">=5.5.9", &quo ...