常见问题
要回答此问题,与文件地理数据库 (FGDB) 相比,了解存储在 shapefile 中的数据的强度和灵活性将非常重要。 这是由于自从 Esri 创建 shapefile 数据模型以来,数据存储方面的常规技术改进。
通常,如果在 ArcGIS 之外使用数据,建议使用 shapefile 来存储数据。 有关详细信息,请参阅 ArcMap:shapefile 输出的地理处理注意事项。
下面概述了一些技术定义,以及 shapefile、DBF 以及文件地理数据库的文件格式和精度/比例方面的差异。
允许的字段数据类型是什么?
文件地理数据库的允许的字段类型包括:
有关详细信息,请参阅 ArcMap:ArcGIS 字段数据类型。
Shapefile 的允许的字段类型包括:
如果在 shapefile 中使用字段,请参阅 ArcMap:shapefile 输出的地理处理注意事项 - 属性限制以获取有关允许的字段类型的详细信息。
如何存储数值数据?
数值数据可以存储为以下四种数据类型之一:
警告: 地理数据库和 shapefile 中数值字段的值将以二进制格式存储。 转换数字以供查看可能会导致值不如预期的精确。
必须选择正确的数值数据类型来存储数据。 必须考虑诸如范围和分数值等因素。
下表将介绍每种数值数据类型的可存储范围、应用、精度(字段长度)、小数位数(小数位)和大小(字节)。
数据类型 | 可存储的范围 | 应用程序 | 精度(字段长度) | 范围(小数位数) | 大小(字节) |
---|---|---|---|---|---|
短整型 | -32,768 至 32,767 | 特定数值范围内不含小数值的数值;编码值 | 1-5(Oracle、SQL Server、PostgreSQL、Netezza);5(DB2、Informix) | 0 | 2 |
长整型 | -2,147,483,648 至 2,147,483,647 | 特定数值范围内不含小数值的数值 | 6-10(Oracle 和 PostgreSQL);6-9(DB2、Informix、Netezza 和 SQL Server) | 0 | 4 |
浮点型 | 约为 -3.4E38 到 1.2E38 | 特定数值范围内包含小数值的数值 | 1-6 | 1-6 | 4 |
双精度型 | 约为 -2.2E308 到 1.8E308 | 特定数值范围内包含小数值的数值 | 1-19 | 1-11 | 8 |
下表提供了有关如何将数值数据存储在企业组、工作组或桌面地理数据库中的示例。
* 负数需要额外的精度以存储负号。
范围 | 数据类型 | 精度(字段长度) | 范围(小数位数) |
---|---|---|---|
0 至 99 | 短整型 | 2 | 0 |
-99 到 99* | 短整型 | 3 | 0 |
0 到 32,767 | 短整型 | 5 | 0 |
32,768 至 99,999 | 长整型 | 5 | 0 |
0.001 至 0.999 | 浮点型 | 4 | 3 |
1,000.00 至 9,999.99 | 浮点型 | 6 | 2 |
-123,456.78 到 0* | 双精度型 | 9 | 2 |
0 至 1,234.56789 | 双精度型 | 9 | 5 |
如何存储日期(时间)值以及支持什么格式?
建议将时间值存储在日期字段中,日期字段是一种特殊的数据库字段类型,专门用于存储时间和日期信息。 日期字段的默认格式为 mm/dd/yyyy hh:mm:ss,同时还将指定 AM 或 PM。
警告: 在 shapefiles 中,日期字段仅支持日期,不支持时间。 对于执行时态分析的所有工具(例如时空模式挖掘工具箱中的工具)而言,日期字段不支持时间是一个严重限制。 请避免使用 shapefile 进行任何类型的时态分析或日期时间计算。
时间值也可以存储为字符串或数值字段类型。 以这些字段数据类型指定时间值时,必须指定时间字段。 将在 ArcMap:受支持的字段格式中介绍时间值的受支持数据格式。
Shapefile 和文件地理数据库支持哪些几何数据类型?
几何类型 |
---|
点 |
点 M |
点 Z |
折线 |
折线 (Polyline) M |
折线 (Polyline) Z |
面 |
多边形 M |
多边形 Z |
多点 |
多点 M |
多点 Z |
多面体 |
有关地理数据库中几何的详细信息,请参阅 ArcMap:ArcGIS 字段数据类型 - 几何。
如果使用 shapefile,请参阅 ArcMap:shapefile 输出的地理处理注意事项 - 几何限制。
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序