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 | 
| Date | Date | 8 | 
下表列出了各属性数据类型的字段宽度。
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
| ATTRIBUTE | MAXIMUM | 
| Total size for an Access 2010 database (.accdb), including all database objects and data | 2 gigabytes, minus the space needed for system objects. | 
| Total number of objects in a database | 32,768 | 
| Number of modules (including forms and reports that have theHasModule property set to True) | 1,000 | 
| Number of characters in an object name | 64 | 
| Number of characters in a password | 14 | 
| Number of characters in a user name or group name | 20 | 
| Number of concurrent users | 255 | 
Table
| ATTRIBUTE | MAXIMUM | 
| Number of characters in a table name | 64 | 
| Number of characters in a field name | 64 | 
| Number of fields in a table | 255 | 
| Number of open tables | 2,048 including linked tables and the tables opened internally by Access | 
| Table size | 2 gigabyte minus the space needed for the system objects | 
| Number of characters in a Text field | 255 | 
| Number of characters in a Memo field | 65,535 when entering data through the user interface; 1 gigabyte of character storage when entering data programmatically | 
| Size of an OLE Object field | 1 gigabyte | 
| Number of indexes in a table | 32 including indexes created internally to maintain table relationships, single-field and composite indexes. | 
| Number of fields in an index or primary key | 10 | 
| Number of characters in a validation message | 255 | 
| Number of characters in a validation rule including punctuations and operators | 2,048 | 
| Number of characters in a field or table description | 255 | 
| Number of characters in a record (excluding Memo and OLE Object fields) when the UnicodeCompression property of the fields is set to Yes | 4,000 | 
| Number of characters in a field property setting | 255 | 
(3)ArcSDEGeodatabase
使用Oracle、MicrosoftSQLServer、IBMDB2、IBMInformix或PostgreSQL存储于关系数据库中。这些多用户地理数据库需要使用ArcSDE,在大小和用户数量方面没有限制。
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号