当前位置: 代码迷 >> 综合 >> Shapefile 的局限性
  详细解决方案

Shapefile 的局限性

热度:63   发布时间:2024-01-14 06:20:03.0

文章转载自:  http://blog.csdn.net/kikitaMoon/article/details/20035919


     Shapefile 是一种开放的非拓扑的简单几何数据类型,深受数据处理人员的喜爱。Shapefile 利用 dBASE 文件格式(.dbf 文件)来存储属性,dBase这种上世纪80年代的数据格式,现在基本淡出舞台。虽然Shapefile有万般好,但是,今天还是要来说说shapefile的局限性,也就是使用限制有什么,以便合理的选择使用Shapefile数据。

 

1. 文件容量限制:

Shapefile 每个子文件都有大小最大不能超过 2 GB ,以点要素为例,最多约能存储 7000 万个。


2. 不支持高级对象:

Shapefile不支持注记要素类、关系类、拓扑关系、属性域和子类、坐标精度和分辨率等。

Shapefile不支持通过参数定义的曲线(也称为圆弧曲线)。


3. 字段存储限制:

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

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

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

包含空值的数据类型

空值替换

数字 - 当工具需要输出“空”、无穷大或 NaN(数字)时

-1.7976931348623158e+308(最大负值的 IEEE 标准)

数字(所有其他地理处理工具)

0

文本

“ ”(空白 - 无空格)

Date

存储为零,但显示为“<空>”



4. 字段宽度限制:

地理数据库数据类型

dBASE 字段类型

dBASE 字段宽度(字符数)

对象 ID

数值

9

短整型

数值

4

长整型

数值

9

浮点型

浮点型

13

双精度

浮点型

13

文本

字符

254

Date

Date

8




5.  性能限制 
由于形状压缩方法的不同,shapefile 所占用的空间可能为文件地理数据库或 SDE 的三到五倍。
Shapefile 的空间索引效率较数据库低。这就意味着,同地理数据库要素类相比,空间查询耗时更长。当处理大量要素时,效率低。

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

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



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


详情参考:http://resources.arcgis.com/en/help/main/10.2/index.html#/Geoprocessing_considerations_for_shapefile_output/005600000013000000/