2023年12月7日发(作者:)

Shapefile和GeoDatabase的文件限制

1、Shapefile文件限制

(1)何时不能使用shapefile?

除以下列出的一些特例外,可以使用shapefile来存储简单的要素几何。不过,shapefile的属性存在严重问题。例如,它们无法存储空值,无

法向上舍入数字,对Unicode字符串的支持不足,字段名称最长只能为10个字符,且在同一字段中无法同时存储日期和时间。这些只是其中

的主要问题。此外,它们不支持在地理数据库中的某些功能,如:域和子类型。因此,除非是简单的属性且不需要使用地理数据库功能,否

则请不要使用shapefile。

(2)几何限制

任何shapefile组件文件都有大小为2GB的上限,可理解为可包含的点要素最多约为7000万个。shapefile中可存储的线或面要素的实际数量

取决于每个线或面中的折点数(一个折点相当于一个点)。

Shapefile也不包含类似于地理数据库要素类x、y容差的信息。两坐标系被视为同一坐标系之前,x、y容差就是它们之间的最小距离。当评估

相同要素类中各要素之间的关系或评估多个不同要素类之间的关系时,会使用此x、y容差。编辑要素时,也会经常使用它。若所要执行的任

意类型的操作涉及元素之间的比较(例如,使用叠加工具、裁剪工具、按位置选择图层工具或任何将两个或多个要素类作为输入的工具),

则应使用地理数据库要素类(包含x、y容差)而非shapefile。

由于形状压缩方法的不同,shapefile所占用的空间可能为文件地理数据库或SDE的三到五倍。

Shapefiles支持多面体,但不支持以下多面体的高级功能:纹理坐标、纹理及部分色带、光线法向量。

shapefile的空间索引不足以与地理数据库要素类的空间索引进行对比。这就意味着,同地理数据库要素类相比,空间查询(如,选择面内的

要素)耗时更长。当处理大量要素时,其唯一的明显不足之处就是效率低。

shapefile不支持通过参数定义的曲线(也称为圆弧曲线)。如创建曲线中所述,将通过编辑数据库要素类来创建参数曲线。圆弧曲线利用数

学公式绘制曲线。若您将含圆弧曲线的地理数据库要素类导出到shapefile中,就可将弯曲要素变换为简单线要素,并使空间上靠近的折点捕

捉到弯曲的形状。

(3)属性限制

与其他格式不同,shapefile以字符格式(而非二进制格式)存储数值型属性。对于实数(即,包含小数位的数字),这可能会导致舍入误

差。因此,此限制不适用于形状坐标,而仅适用于属性。

地理数据库数据类型dBASE字段类型dBASE字段宽度(字符数)

对象ID数值9

短整型数值4

长整型数值9

浮点型浮点型13

双精度浮点型13

文本字符254

DateDate8

下表列出了各属性数据类型的字段宽度。

dBASE文件标准仅支持其字段名称及字段值中存在ANSI字符。Esri已针对dBASE文件新增了广泛的Unicode支持,以存储Unicode字段名称

及字段值。但此附加支持仅适用于ArcGIS,在非Esri应用程序中不可能提供这些支持。对于Esri来说,对dBASE中Unicode的支持是一个持

续进行的过程,这就意味着,新问题将不断出现,也将被不断地加以解决。若您的字段名称或字段值需要支持Unicode,则强烈建议您使用

地理数据库,而非shapefile。

数据字段既支持日期也支持时间,但在同一字段中不能同时支持两者。

字段名称的长度不能超过10个字符。

属性的最大记录长度为4000字节。记录长度是用于定义全部字段的字节数,而非用于存储实际值的字节数。

最大字段数为255。若超出此上限,当转换为shapefile时只会转换前255个字段。

dBASE文件必须至少包含一个字段。当您创建新shapefile或新dBASE表时,默认会创建一个整数ID字段。

dBASE文件不支持类型blob、guid、全局ID、坐标ID或栅格字段类型。

dBASE文件不支持WHERE子句,也不支持SQL。

当您保存所做编辑时属性索引会被删除,因此必须重新创建属性索引。

shapefile不支持空值。如果将含有空值的要素类转换为shapefile或将数据库表转换为dBASE文件,则将按下表所述更改空值。

2、GeoDatabase

(1)FileGeoDatabase

FileGeoDatabase是在ArcGIS9.2中发布的新地理数据库类型,在文件系统中以文件夹形式存储,每个数据集都以文件形式保存,该文件大

小最多可扩展至1TB。文件地理数据库所使用的存储空间约为shapefile和个人地理数据库所必需的要素几何存储空间的三分之一。建议使用

文件地理数据库而不是个人地理数据库。FileGeoDatabase大小和名称限制限制:

文件地理数据库的大小:无限制

表或要素类的大小:1TB(默认值),4GB或256TB(使用关键字指定)

要素类和表的数目:2,147,483,647

要素类或表中的字段数:65,534

要素类或表中的行数:2,147,483,647

地理数据库名称的长度:操作系统所允许的文件夹名的字符数

要素类或表名的长度:160个字符

字段名的长度:64个字符

文本字段的宽度:2,147,483,647

(2)PersonalGeodatabase

PersonalGeodatabase最初在ArcGIS8.0版本中首次发布以来,ArcGIS中一直在使用个人地理数据库,该地理数据库使用

了MicrosoftAccess数据文件结构(mdb文件),支持的地理数据库的大小最大为2GB。不过,在数据库性能开始降低之前,有效的数据库大

小会较小(介于250和500MB之间)。Access限制:

General

ATTRIBUTEMAXIMUM

Total size for an Access 2010 database

2 gigabytes, minus the space needed

(.accdb), including all database objects

for system objects.

and data

Total number of objects in a database32,768

Number of modules (including forms

and reports that have1,000

theHasModule property set to True)

Number of characters in an object name64

Number of characters in a password14

Number of characters in a user name or

20

group name

Number of concurrent users255

Table

MAXIMUM

64

64

255

2,048 including linked tables and the

tables opened internally by Access

2 gigabyte minus the space needed for

the system objects

ATTRIBUTE

Number of characters in a table name

Number of characters in a field name

Number of fields in a table

Number of open tables

Table size

Number of characters in a Text field

Number of characters in a Memo field

255

65,535 when entering data through the

user interface; 1 gigabyte of character

storage when entering data

programmatically

Size of an OLE Object field1 gigabyte

Number of indexes in a table32 including indexes created internally

to maintain table relationships, single-

field and composite indexes.

Number of fields in an index or primary10

key

Number of characters in a validation255

Number of characters in a validation

message

Number of characters in a validation

rule including punctuations and

operators

Number of characters in a field or table

description

Number of characters in a record

(excluding Memo and OLE Object

fields) when

the UnicodeCompression property of

the fields is set to Yes

Number of characters in a field property

setting

255

2,048

255

4,000

255

(3)ArcSDEGeodatabase

使用Oracle、MicrosoftSQLServer、IBMDB2、IBMInformix或PostgreSQL存储于关系数据库中。这些多用户地理数据库需要使用ArcSDE,

在大小和用户数量方面没有限制。