体验ArcGIS9.2的历史库功能

转自原文 体验ArcGIS9.2的历史库功能

ESRI公司于2006年11月9日全球同步发布了历史上重要的软件版本ArcGIS9.2,在该版本中,主要新增了以下四大功能(ESRI田昌莲):

  1. 第一大新功能:非版本编辑功能。多用户编辑可以在没有版本的情况下进行;
  2. 第二大新功能:版本数据复制功能。为分布式数据同步复制提供了便利;
  3. 第三大新功能:Oracle空间的SQL功能。对Oracle实现的geodatabase的空间sql接口完全支持;
  4. 第四大新功能:增强的Geodatabase。包括以下几点:

    (1)历史数据库功能

    (2)对大量的表面数据集有了很在的改变和提高

    (3)File-Based Geodatabase,突破了Access文件大小2G的限制,相当于增强的Personal Geodatabase。

上面这些新功能,说实话我都很喜欢,有时间真要一个个都体验一下啊。废话少说,我们现在就开始验一下ArcGIS9.2带来的历史库功能吧。

1、先装ArcGIS9.2 Desktop 。

注意,要安装9.2,必须先全部卸载掉以前版本的所有软件,包括Desktop,ArcGIS Engine,ArcGIS Server等。

2、安装SDE9.2。

之前的版本的SDE是不支持历史库功能的。

如果你有安装包,没有授权文件,请到这里:http://www.cnblogs.com/watsonyin/archive/2007/02/09/646031.html

3、准备数据。这里我导入一个很小的宗地层,用于测试,图层名称是sde.sde.zd。

4、注册版本。打开ArcCatalog,新建一个到默认版本的连接,然后选择该图层,点击右键,在弹出菜单中点击Register As Versioned,这一点与9.1版本中一样的,只有注册版本,才能进行下一步创“建历史库”

5、创建历史库。

在ArcCatalog中选择该图层,点击右键,发现其中比9.1多了一项Archiving,包含两个子菜单,Enable Archiving和Disable Archiving。点击Enable Archiving,这时系统会自动为该图层创建一个对应的历史图层,历史图层的名称为SDE.SDE.ZD_H。我们在ArcCatalog中并不能看到该图层,这是因为它作了过滤的缘故。如果用ArcGIS9.1软件其它机器连接该数据,可以看到该图层其实与普通图层没什么两样。

创建好的历史图层的数据是原图层的拷贝,但可以看到多了三个字段:GDB_FROM_DATE,GDB_TO_DATE,GDB_ARCHIVE_OID。看到这三个字段,马上就明白了其大致思路,前面两个字段际是指明了图形对象的存活时间,GDB_FROM_DATE即图形的创建时间,GDB_TO_DATE是图形的删除或修改时间。这与我以前用MO做历史库的思路如出一辙啊。图形的操作可分为增、删、改三种类型,修改又可以看成是先删除再新增一个图形对象,所以所有的操作又可归为增、删两种操作,这就是那两个字段的由来。至于GDB_ARCHIVE_OID,就不有解释了吧。

6、启用历史编辑选项

在ArcCatalog中,点击Tools菜单下的Options,在“选项”窗口中,切换到Geoprocessing页,选中Log geoprocessing operations to as historical model,如下图所示,这样我们在编辑图形时,编辑过程中产生的历史数据会自动记录到历史图层中。

7、编辑图形

下面我们可以进行编辑测试了。打开ArcMap,选择图层,断断续续的作一些编辑操作,以方便后面的体验。

8、新建一个到历史数据库的连接

在ArcCatalog或ArcMap的选择数据对话框中都可以完成。点击Add Spatail Database Connection,在新建连接窗口中点击Change按钮,会弹出如下窗口:

我们选择The connection refers to a historical version,并选择是连接到历史标记还是指定一个时间点。

9、历史数据浏览

这是我们体验过程的关键方旅~

连接建好了之后,在ArcMap我们用该连接打开数据sde.sde.zd。在ArcMap工具栏上点击右键,点击Geodabase History,会出现历史库工具条,如图

该工具条有三个按钮,分别是:

(1)Geodatabase History Viewer:即历史数据浏览工具。

(2)Add Historical Archive:即添加历史图层到地图上。

(3)Historical Marker Manager:即历史标记管理器。

下面分别介绍这三个工具:

9.1 Add Historical Archive

先在TOC中选中一个图层,再点击该工具按钮,会将选中图层对应的历史图层添加到地图窗口中。可以看到,历史图层包括了编辑过程中产生的所有数据。查看属性,可以看到它的数据源为sde.SDE.ZD_H,还可以到字段列表中查看新增的字段情况。这人工具的作用并不是很大,因为我们浏览历史数据,并不需要添加历史图层,直接对现状图层进行操作就可以了。当然,通过编程扩展,历史图层可以发挥很大的作用,例如,可以通过属性过滤,查看某个历史时段,而不是某个时点内的数据情况。

9.2 Historical Marker Manager

所谓历史标记,其实就是对某一历史时点的文字描述,这样比单纯的看历史时间,更加容易理解,从而更加方便历史数据的浏览。在例子里,我创建了三个历史标签,分别是“初始状态”,“新建AB”,“删除A移动B”,这样就会一目了然。

9.3 Geodatabase History Viewer

点击它,会出现以下界面。如果你是用是历史连接添加数据,这个界面会处于不可用的状态。

在Historical Date and Time中,可以选择一个历史标记,也可以选择一个具体的时间,点击Apply按钮,就可以查看该历史时点的数据了。其它的我想不用解释,看一下在不同历史时点的图形状况吧。

(时间:16:20:09 初始状态)

(时间:16:22:50 创建图形A、B)

(时间:16:26:06 删除图形A、移动B)

通过这种方式,就可以轻松浏览任一历史时间的数据了。通过编程,我们还可以进行扩展,例如不同历史时刻的数据对比浏览等。

时间: 2024-10-17 03:44:29

体验ArcGIS9.2的历史库功能的相关文章

我的要求很简单,有历史版本功能。协作我当用不上,没有人可以协作(快盘以前是金山的,2014年快盘被迅雷收购)

国空的网盘很多,如百度,360,115,Dbank,新浪V盘等等.这些网盘的确很大,都TB级别的,但是这些网盘并不适合我的要求.我的要求很简单,有历史版本功能.协作我当用不上,没有人可以协作. 方案一:快盘的同步目录选择也很简单,直接可以在设置账号中进行选择主要同步目录.另外目录或者文件上右击也可以选择同步某一文件夹或者文件.快盘还可以定时同步,并选择不同步的文件类型.相对来说很方便了.快盘的同步机制不太了解,但是只要文档一修改保存,快盘就会自动同步.这和Dropbox比较像,但是机制是否相同就

传统标签库功能

1 package cn.itcast.web.tag; 2 3 import javax.servlet.jsp.JspException; 4 import javax.servlet.jsp.tagext.IterationTag; 5 import javax.servlet.jsp.tagext.Tag; 6 import javax.servlet.jsp.tagext.TagSupport; 7 8 //控制表前提执行5次 9 public class TagDemo3 exten

简单标签库功能

1 package cn.itcast.web.tag; 2 3 import java.io.IOException; 4 import java.io.StringWriter; 5 6 import javax.servlet.jsp.JspException; 7 import javax.servlet.jsp.tagext.JspFragment; 8 import javax.servlet.jsp.tagext.SimpleTagSupport; 9 10 //控制标签体内容为大

如何在微信的自定义菜单上实现“历史消息”功能?

最近在开发微信的接口发现可以通过菜单实现微信的历史消息(历史消息是指订阅号或者服务号每次群发的消息),拿出来与大家分享,操作方法如下: 1.首先进入到您维护的微信订阅号或者服务号,点击帐号详情(右上的小人像). 2.进入帐号详情,找到“查看消息”并点击进入. 3.进入到历史消息页面后,点击右上角的“更多按钮”(三个竖排的点),找到复制链接,复制这个链接,这个链接就是我们要找的历史消息链接. 4.在微信中增加一个”历史消息“菜单,设置为视图类型,将菜单试图地址设置为刚才复制的链接,然后保存生效.

XMPP系列(四)---发送和接收文字消息,获取历史消息功能

今天开始做到最主要的功能发送和接收消息.获取本地历史数据. 先上到目前为止的效果图:              首先是要在XMPPFramework.h中引入数据存储模块: //聊天记录模块的导入 #import "XMPPMessageArchiving.h" #import "XMPPMessageArchivingCoreDataStorage.h" #import "XMPPMessageArchiving_Contact_CoreDataObje

论用户体验测试:牛逼的功能千篇一律,好的用户体验万里挑一

此文已由作者吴艳秋授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.什么是用户体验 用户体验,英文叫做user experience.一个较常见的定义是"指用户访问一个网站或者使用一个产品时的全部体验.他们的印象和感觉,是否成功,是否享受,是否还想再来使用.他们能够忍受的问题,疑惑和BUG的程度." 而在我看来,用户体验就是一种用户在使用产品时所建立起来的心理感受.心理感受是纯主观性的,也就带有一定的不确定因素,不过,在界定用户基本确定的情况下,其用户体验的

快速体验 Sentinel 集群限流功能,只需简单几步

? Pic by Alibaba Tech on Facebook 集群限流 可以限制某个资源调用在集群内的总 QPS,并且可以解决单机流量不均导致总的流控效果不佳的问题,是保障服务稳定性的利器. Sentinel 从 1.4.0 版本开始提供集群流控特性,但使用 Sentinel 集群限流需要对一系列的动态数据源进行相关配置,并且需要对开源控制台进行一些改造,有一定的使用成本.为了大家更好地理解集群流控并快速地使用,我们提供了云上版本的 Sentinel 集群限流控制台示例.只需要简单的几步即

关于APIcloud对应C#的 wcf框架作为后台,实现多库功能

首先,我是使用ajax原来的请求方式,并没有使用apicloud中封装的请求方式. 前端代码: function makeRequest() { //alert("inside makeRequest()"); var settings = { type: "GET", url: "http://192.168.0.105/Service1.svc/test", dataType: "JSON", error: functio

【自己定义标签开发】04-简单标签库功能具体解释

我们回想一下jsp的Tag自己定义标签技术 我们的SimpleTag接口能够实现左边3种接口的功能. 这个接口的默认实现类是SimpleSupport. 接口中的方法有: doTag()//标签開始和结束都是在这种方法中定义.标签体是setJspBody方法中的JspFragment对象. 能够抛出SkipPageException.就相当于返回了"SKIP_PAGE".余下的jsp内容就不再运行了. getParent()//得到父标签对象 setJspBody(JspFragmen