比较shapefile和geodatabase的差异,对应用带来的什么影响

比较shapefile和geodatabase的差异,对应用带来的什么影响,第1张

在弃用shp格式之后,一直都用Personal Geodatabase 类型的Geodatabase 存储GIS数据,对File Geodatabase 视而不见,一直以为Personal Geodatabase 效率远高于File Geodatabase,没想到弄错森卜清了,事实上正好相反。下面是对比,以后就用File Geodatabase算了。

一、存储方式

File Geodatabase 以一个资料夹方式储存,而Personal Geodatabase 则为一个MS-Access 的mdb 资料库档案。

二、储存限制

1. Personal Geodatabase:相同于MS Accesss 限制,资料库最大为2GB。

2. File Geodatabase:资料库无限制,每个表限制为1TB(1000GB)。

三、平台支援

1. Personal Geodatabase:仅可在Windows 上运行。

2. File Geodatabase:跨平台支援,可在Windows 及UNIX、linux上运行。

四、效能

File Geodatabase 相较于Personal Geodatabase 可快20%到10 倍,这部分随着资料量的增加,效能差异越大。

五、储存空间

同样的资料,在File Geodatabase 中比Personal Geodatabase 和Shapefile占用的硬碟空间更少,通常可以减少50%~70%,最多可减少到1/5。

File Geodatabase中的lock文件

与Personal GDB的单个.mdb文件表现形式不同,File GDB是以文件夹的形式存放在磁盘中的,进入File GDB的文件夹可以看到许多凭我们肉眼凡胎无法辨认的文件(你要是能认出来叫你犀利哥~),这向你传递一个信息,没事别到里面瞎逛。

当一个ArcGIS程序,比如ArcMap、ArcCatalog或者ArcGIS Server(将其中的数据发布成了服务),正在访问File GDB时,ArcGIS会给其中相应的数据加上(悲观)锁,表现出来就是在该File GDB的文件夹里多了若干.lock结尾的文件。当数据被锁定时,你是无法对其进行修改或删除的。比如ArcMap里加载了一个FeatureClass,这时你无法用弊埋ArcCatalog删除它;在ArcCatalog中预览一个FeatureClass,这时你无法用ArcMap编辑它。

除了正在使用的数据会肯定被锁以外,以下情况中还有其他数据也会被锁住:1、正在访问包含在DataSet中的某个FeatureClass时,这个DataSet内的其他FeatureClass也会被锁;2、单独的FeatureClass之间如果做了Relate,那么访问其中一个时其他的也会被锁。

9.3+sp1以后,每个.lock文件的文件名会至少带有以下两个信息:产生该锁的进程的ID号(任务管理器,查看,选择列,勾选PID可查看),以及该进程所在的机器名。当数据被锁定时,除了以上标志明显的.lock文件外,还会有一些系统锁文件。所以根据这些.lock文件的命名,你就能判断出是哪个进程占用了数据,从而做出正确的处理。

一般来说,.lock文件会在生成它的进程正常退出时被自动删除掉。但如果进程没有正常退出,比如崩溃后,由该进程生成的.lock文件则会继续存在,但已经没有任何作用。清除这些因意外状况遗留下的.lock文件的方法:1、重新开启该进程,则会清理上一次遗留的.lock文件;2、用Compact Database工具或ArcCatalog中的右键菜单;3、手动删除。推荐方法2,方法3慎用。除非你有备份,否则误删File GDB文件夹下一个哪怕0k的文件,都有极大的可能造成整个数据库损坏而无法修补。

如果此前非要用方法3,建议在命令行下用del *.lock命令删除;如果非要用资源管理器删,建议左手在按住ctrl或shift时,右手食指不要发抖。

六、压缩格式

File Geodatabase 支援一种新的压缩格式,在查询与显示方面均与未压缩格式相同,压缩比率可从2:1 到25:1。

.gdb格式的文件是GPS定位仪器所采集是定位数据通过仪器自动保存的文件,可利用MapSourse及GoogleEarth等软件打开此文件核拿,显示的是定位数据。

变化:

1、GDB可以理解线程的名字。

2、这个命令”线程名称”(指定一个名称)和“线程找到[REGEXP]”(匹配名称、目标ID,或者额外的信息)被添加。

3、Python脚本支持大大增强。

4、在c++的支持,异常处理是提高,模板参数放在范围在一个实例化时调试。

5、线程调试的核心转储在GNU / Linux成为可能。

扩展资料:

执行程序:

要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<;和>;)和shell通配符(*、?、[、])在内。

如果使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。

(gdb) file a.out //加载被调试的可执行程序文件。

(gdb)set args _b _x

(gdb) show args

(gdb)r //执判薯行程序

backtrace命令为堆栈提供向后跟踪功能。Backtrace 命令产生一张列表,包含着从最近的过程开始的所有有效过程和调改冲搭用这些过程的参数。

参考资料来源:百度百科-gdb

1、这是一个.gdb文件,直接打开文件基本看不出有什么内容。查看文件其实这是一个文件地理数据库,销绝需要专门的软件查看。

2、安装arcgis系列软件,找到catalog软件。

3、点击进入catalog软件,点击文件亏宏姿夹关联,连接到文件所在文件夹位置。

4、在catalog里我们可以看到.gdb以库的形式展现。

5、点击进入该库,可以看到有很多的图层,这就是该文件地理数据库中存放的东西。

6、点击预览,可以查绝扰看图层的可视化内容。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12302566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存