对应到对象 数据库驼峰_【GI的自主空间数据库】一种竞争力,叫技术引领;一种竞争力,叫时间沉淀...
引子:GI的自主空间数据库及GIS框架来自于求学时MAPGIS的引导,工作时ARCGIS的追随,读博时IBM和Microsoft2篇文献...。即使在大数据技术发展的今天,自主空间数据库存储仍然有其技术优势,近20年的时间沉淀,是GI平台区别于PETREL等行业基础软件平台、特有的数据集成核心技术。
GI的空间对象建模兼容OpenGIS的简单对象规范定义,但对部分空间对象的内涵和对象间的关系局部做了调整,以满足E&P复杂领域实体的描述以及考虑相关计算几何算法实现时的健壮性与性能考虑。如,复杂空间对象的定义,突破SFS中约定的同构对象复合约定,支持异构对象的复合,即一个空间对象可以由系列点,系列线甚至还包括系列面组成。另外,引进“空”几何对象的定义可以满足某些计算几何算法的计算结果的空对象需求,同时又不破坏整体空间对象在运行时的接口表现:空对象的接口表现就是什么都没有做而已。
GI的空间拓扑关系计算沿用OpenGIS简单对象规范介绍的DE-9IM(扩展9-Intersection Model)模型[4],定义拓扑关系计算涉及的类体系作为空间几何对象类体现的扩展:既不同的拓扑几何对象定义直接关联于空间对象。DE-9IM模型形式化地描述了离散空间对象的拓扑关系,基于DE-9IM模型可以定义空间数据库的一致性原则,并应用于数据库的更新,维护中。
传统关系数据库在管理空间数据时存在诸多缺陷:第一,传统RDBMS管理的是不连续、相关性比较小的数字或字符型数据,而空间数据的存储是连续而且具有很强的空间相关性;第二,传统RDBMS管理的实体类型少,并且它们之间通常只有简单的、固定的关系,而空间对象的坐标串长度不定,是变长记录;第三,传统RDBMS只能操作和查询数据和文本信息,而空间数据库中需要大量的空间操作和查询。
GI通过领域实体的持久化骨架模型定义,在领域实体与其对应的空间对象的建立强制1:1关联,形成完整的领域实体定义基础之上,对空间对象表进行进一步的库表结构设计,包括基于SQL92规范的空间坐标存储,高效索引存储和空间对象版本维护机制。GI借助于不同RDBMS管理下的空间对象的实体表、空间数据表、空间对象索引表和版本表开发空间数据访问引擎:一方面基于不同类型的空间关系计算完成空间数据的查询与分析,另一方面对空间数据的编辑形成有效的版本树管理。
GI针对此网格、四叉树等索引机制,尤其四叉树索引,为每个空间对象存储表的WKB编码字段(空间坐标存储字段)建立对应的空间索引表定义,并在此基础上基于空间对象的空间关系定义(如远离,相交等)建立典型的空间查询流程(得益于IBM DB2及Microsoft SQL Server空间数据库设计思路)。
GI的版本管理。传统RDBMS中采用“锁定-修改-释放”的策略以实现其对多用户并发操作数据库的控制,考虑到空间对象的编辑,有时需要几分钟,但大部分情况下是长时间(如几个月)编辑任务,因此传统事务处理模式不适合空间对象的编辑。GI在领域实体表、空间对象表和空间索引表的骨架表结构基础之上,定义了系列的增表与删表,以满足长时间空间对象编辑的“长事务处理”以及领域实体的时间维的增量信息存储的需求。
GI的持久化版本原型设计由基表和变更表组成:基表对应于领域实体表及其空间对象表,而变更表主要区分删除对象与修改对象的记录,既有对象的状态修改对应于原先记录的删除和修改后新对象的生成。由此可知,基表当前的记录与变更表中的记录在约定版本号下定义了当前版本所有领域实体记录。
相关文章:

TSM备份Windows数据
一、备份数据 1.使用备份勾当客户端,可以在原始文件出现损坏的时候,恢复备份版本。TSM提供备份和恢复文档的类型包括:FAT,NTFS和FAT32.2.合适备份和合适归档文件当备份-归档客户端备份或归档一个文件,他会发送一份文档的副本和它的…

GM Tech 2 works with Hummer Yes or No
This is about GM Tech 2 scan tool for Hummer troubleshooting and programming. Can I have a cheap Tech 2 for Hummer? Yep. Both the original and HQ clone can work for your car. Where can I get a working clone at a good price? https://www.obd2tool.com/goods…
程序的编译和链接过程
一.虚拟机、linux简介简单介绍一下虚拟机还有就是各种操作系统,比如centos,Ubuntu操作系统:linux(centos、Ubuntu、redhat),Android,Windows(xp、win8、win10)进程&#…

Nosql网络阅读
#1 Node.jsmongodb 开源项目 https://github.com/DoubleSpout/wujb 作者博客:http://snoopyxdy.blog.163.com/blog/static/60117440201261844125973/ #1 关系数据库还是NoSQL数据库 NoSQL的分类 NoSQL仅仅是一个概念,NoSQL数据库根据数据的存储模型和特点分为很多…

python 文案自动生成_Python自动化测试如何自动生成测试用例?
原文作者:陈安妮annie1原出处:简书上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰,我们将立即处理。传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断是否和预…

Linux下图解minicom安装
Linux下图解minicom安装 minicom是一个串口通信工具,就像Windows下的HyperTerminal。可用来与串口设备通信,如调试交换机和Modem等。它的Ubuntu软件包的名称就叫minicom,用apt-get install minicom即可安装。全文见附件pdf

【C#技术】一篇文章搞掂:Infragistics组件库
工具栏 // 按钮不可按 tool.SharedProps.Enabled false; Grid // Grid中记录时间 // 建议SQL Server中使用字符字段(没有深入测试,只是字符字段可行),然后设置Grid的属性中,列的Style属性为Time或TimeWithSpin// 使用…

移动端开发小结
1. viewport viewport:除去所有工具栏、状态栏、滚动条等之后用于查看网页的区域,打个比方,现在有一张报纸摆在你面前,但是这张报纸被一本书压住了,所以你只能看到报纸的一部分,这部分可以查看到的区域就是…
vim编辑文章后不能修改
我们在使用vim打开一个文件的时候,经常会弹出下面的界面 为什么会出现这个界面呢 用vim编辑文件(如这里的test.txt)时,系统会自动产生一个文件叫.test.txt.swp.如果正常退出,此文件会被自动删去.如果上次非正常退出,如果再编辑它,系统会首先查.test.txt.swp 是否存…

echart x轴标签偏移_移动端H5页面滑动手势X轴实例
话不多少,上代码。let touchX 0 // 默认初始值// 两行注释伪代码,绑定 touchstart 与 touchend 事件// dom.addEvenetListener(touchstart, touchStart)// dom.addEvenetListener(touchend, touchEnd)function touchStart(e) { // 手指触碰时候…

读书笔记(2) OpenLayers中的图层
OpenLayers有多个不同的图层类,每一个都可以连接到不同的地图服务器。例如通过Layer.WMS类可以连接到WMS地图服务器,通过Layer.Google类可以连接到谷歌地图服务器。OpenLayers中的每个图层都是独立的,对一个的操作不会影响到另外一个。 不管地…

自定义WPF窗体形状
介绍 你好WPF爱好者。 随着WPF等统一API语言的发明,丰富用户界面变得非常容易。 创建丰富的用户界面只是一个想法。 您需要拥有的是创造性思维和最新技术融合。 WPF和Expression Blend在制作丰富的UI应用程序,清晰的图形和非常好的动画方面非常有用。 背…

与jQuery的感情碰撞——由浅入深学jQuery
原来的时候自己看过jQuery,但是对于什么是jQuery,除了知道jQuery是一种javascript类库外,除了会用几个网页特效外,其他的我这真的是不知道啊。眼看自己就要找工作了,所以自己需要好好学习一下,系统的了解一…

线程互斥和同步-- 互斥锁
一. 线程分离我们一般创建的线程是可结合的,这个时候如果我们调用pthread_jion()去等待的话,这种等待的方式是阻塞式等待,如果主线程一直等待,主线程就无法做其他的事情了,所以应该使用线程分离,让子线程由…

calipso是什么意思_眰恦是什么意思?
展开全部眰恦作为一个不常见到的词,其实出自一本同名小说的书名。眰恦读作zh shng ,在书中62616964757a686964616fe59b9ee7ad9431333433656665的意思就是,目光所至,心之所向,皆是你。眰,单字意思是视&#…

一个mongosee例子
var express require(express),mongoose require(mongoose); //引入mongoose模块 //连接mongodb数据库 nodejs为数据库名称 mongoose.connect(mongodb://localhost/nodejs);//获取Schema 以及 ObjectId 对象 var Schema mongoose.Schema,ObjectId Schema.ObjectId;//创建一…

mongoDB入门
**使用了不存在的对象,即创建该对象use db 使用db数据库 show dbs 查看当前服务器中写在磁盘上的数据库 show tables 查看数据库中的collection db 查看当前使用的数据库1.增删改查: 增:db.collection.insert({数据}) 自动生成 _id : ObjectI…

哈希--直接定值法和除留取余法
1. 哈希是一种算法,哈希表是用哈希算法构造出来的一种数据结构2. 哈希算方法的几种方法直接定值法 这里有一个例题,就是我们想判断某一字符串中,某一个字符出现的个数,我们可以使用哈希的思想,就是可以遍历一遍字符串&…

两条波浪线符号_四年级数学上册第二单元“线的认识”作业单(附带答案)
“线的认识”作业单一、线段、射线和直线。1.“线段、射线和直线”之间的联系与区别。名称形状长度端点关系2.表示方法:分别画出一条线段、射线和直线,并用字母进行表示。3.概念: (1) (2) (3) 二、相交与垂直1.概念:(1) (2)表示方…

CTime类小结1
参考:http://www.cnblogs.com/chuncn/archive/2009/03/12/1409261.html CTime类1.构造和初始化CTime类对象CTime类有下列构造函数:CTime( );CTime( const CTime& timeSrc );CTime࿰…

oracle数据库动态与静态注册
oracle数据库动态与静态注册 动态注册:1.服务名来自于参数文件中的service_names或者是db_name与db_domain的组合;2.实例名来自与参数文件中的instance_name;3.动态注册不需要listener.ora监听文件支持;4.实例状态为READY或BLOCKED;静态注册:1.服务名来自于监听文件中的GLOBAL_…

如何实现流畅观影体验?视频类应用内存和CPU大调查
如果把手机内存和CPU想象成固定面积的田地,单个应用对内存和CPU的占用则可比喻为个人的一亩三分地儿。当应用内存和CPU占用过高时,便过多占用了整个田地资源,挤压了邻家应用的面积,那么手机能够同时运行的应用的数量就会相应减少。…

dmol3给定关键字不在字典中_python中的数据结构与算法(2):字典与集合
1. 字典是什么字典是便于信息检索的一种数据结构,鉴于信息检索在程序中无处不在,字典的使用场景也非常广泛,包括许多 python 内部机制的实现,也依赖字典结构,比如命名空间的管理等。检索一般是根据关键字查找与它关联的…
HTTP项目1.0 -- HTTP协议基础知识
一. HTTP之URL篇首先来看一下,我们一般在上网的时候,地址栏中经常会显示的信息,这里就举一些简单的例子https://www.baidu.comhttps://113.2.7.58.25/a/b/c.html从上面的简单的例子我们把url分成了以后的几个部分,请看下图第一个协…

SQL Server 远程无法连接
1. 查看默认1433端口是否已经开启。转载于:https://www.cnblogs.com/jiajinyi/archive/2013/05/21/3091091.html

WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。...
WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。让我们来看看形成这一问题的历史原因,并提出几个补救措施。 在.NET中,资源管理的基础就是IDisposable和Using语句块。除…

关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究...
背景介绍 随着业务的发展、需求的变化,促使我们追求使用不同类型的数据库,充分发挥其各自特性。如果决定采用新类型的数据库,就需要将既有的数据迁移到新的数据库中。在这类需求中,将SQL Server中的数据导入到MongoDB 中显得尤为突…

语音计算矩形面积_LeetCode85-最大矩形
今天在制作书签的时候突然想到了一个问题如果要送给未来的女朋友一个书签上面该写些什么话哈哈哈哈哈哈哈哈哈The Spring is coming!想了一会儿,觉得这句话最合适To xxx:天使的笑,灿烂的心!!!哎,还是先找个…

模板的分离编译
模板不支持分离编译我们来分析一下模板为什么不支持分离编译呢,所谓的分离编译就是我们在编写程序的时候可能会出现如下的一种情况就是,(我下面就是举具体的例子了)代码//*****************template.h***********// #include<i…

什么是壳 - 脱壳篇01
什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的作用。不仅保护,而且美观。 同…