在 ArcGIS 中,可以直接访问分隔文本文件中的数据并将这些文件用作表。ArcMap 中的添加数据对话框和 ArcCatalog 会列出扩展名为 .txt、.asc、.csv 或 .tab 的文件,并将其指定为文本文件类型。
默认情况下,扩展名为 .txt、.asc 或 .csv 的文件会被解释为以逗号分隔的文件,而扩展名为 .tab 的文件会被解释为以制表符分隔的文件。具有这些扩展名之一的任意文件(即使此文件不包含表格数据)都将被解释为一个文本文件表。如果您试图显示一个不含表格数据的文本文件,则软件要么会产生一个错误,要么会尝试以表的形式显示数据。要避免发生这种问题,请为分隔文本文件指定 .csv 或 .tab 扩展名。这有助于对具有分隔数据的文本文件与无格式文本文件进行区分。
文本文件的第一行可以包含列标题。后续各行可以包含坐标和属性。请记住要用逗号或制表符来区分各个列。以下是逗号分隔文本文件的一个示例:
x,y,ID,color
8.6,5.6,001,blue
99.3,77.0,002,blue and red
8.01,44.3,003,orange
此示例可以在 ArcCatalog 中进行预览,也可以在 ArcMap 中将其作为数据进行添加,如下图所示:
如何确定坐标信息
如果您的分隔文本文件包含数据坐标信息,例如 x,y 数据,则 ArcGIS 会将坐标信息识别为数字字段,可使用这些字段将您的信息显示为图层或任务的输入(例如地理编码)。在上面的示例中,坐标信息简单且易于识别;它包含在称作 x 和 y 的字段中。但情况并非始终如此,在许多情况下,您要在 ArcGIS 中使用的信息可能采用任意数量的不同格式存储。
如果是这样,例如当坐标信息存储在一个文本字段中,或以度、分和秒(例如 -120 13 58)为单位存储时,将转换该信息并采用十进制度 (DD) 显示给您,以便用于 ArcGIS。如果采用单字段格式,例如 UTM,则 ArcGIS 将保持原始的 UTM 字段,但添加两个附带 _X 和 _Y 的附加字段,并采用十进制度显示坐标信息。例如,如果您有一个名为 UTM 的文本字段,则打开文本文件时您将看到三个字段,分别称为 UTM、UTM_X 和 UTM_Y。如果使用双字段字段,例如“经度/纬度”,则当这些字段被标识为文本字段时,ArcGIS 将保持原始字段并添加两个新字段,以包含转换后的十进制度坐标信息。例如,如果您有分别名为“经度”和“纬度”的两个文本字段,则打开文本文件时您将看到四个字段,分别名为“经度”、“纬度”、Lat _D 和 Lon_D。ArcGIS 支持多种不同格式的文本文件中存储的数字信息。支持的记法格式中提供了它们的列表,包括所支持记法的详细描述。
如果您需要采用十进制度以外的格式显示文本文件的内容,则需要使用转换坐标记法工具来转换坐标信息。
字段名称
ASCII 和文本文件的字段名称与地理数据库要素类字段名称所遵循的命名约定相同。请参阅定义表中的字段下的“字段名称”部分。
唯一不支持的字符是单双引号。您应编辑分隔文本文件中的字段名称以删除所有单双引号,可以删除它们,也可以用其他字符代替。
覆盖文本文件的格式化方法
ArcGIS 使用自己的实现来访问分隔文本文件信息,并应处理最常见的情况以便在 ArcGIS 中显示这些文件。和之前的版本相反,在 ArcGIS 中显示分隔文本文件信息时不需要 schema.ini 文件(Microsoft ODBC Text Driver 使用它存储数据描述信息)。但如果存在一个 schema.ini,ArcGIS 将遵循 schema.ini 文件中指定的设置来确定显示文本文件的方式。
下面是打开一个分隔文本文件时 ArcGIS 将创建一个 schema.ini 文件的实例:在无法可靠地确定某个字段的格式时。在这种情况下,将创建一个包含字段的假设格式的 schema.ini 文件。
如果您的分隔文本文件中的信息显示正确,则可选择保留 schema.ini 文件。如果您必须修改 schema.ini 文件来覆盖信息的显示方式,则您可能要删除或重命名 schema.ini 文件,并测试 ArcGIS 如何处理分隔文本文件中的信息。
您可以使用 schema.ini 文件来覆盖 ArcGIS 中分隔文本文件的显示方式。例如,在 ArcGIS 误解某种字段类型时,您可能想用 schema.ini 文件来覆盖默认行为。以下示例介绍了如何为一个名为 PLOTS 的字段进行此操作,该字段应显示为“文本”类型,但被误解为“双精度”类型。
[Trees.CSV] Col14=PLOTS Text
注意,您可能需要创建一个 schema.ini 文件(如不存在),并需要覆盖 ArcGIS 中分隔文本文件的显示方式。有关 schema.ini 文件的详细信息,请在 Microsoft MSDN 网站上搜索 schema.ini。