在不丢失ArcGIS for Desktop中原始字段名称的情况下联接表?


11

我想知道加入csv时是否有任何方法可以在ArcGIS中保留原始字段名称。表到Shapefile。

我问,因为有时我联接具有10、20甚至更多列的表,并且在导出联接的数据时, ArcGIS总是根据原始表的名称和列的顺序(例如table_xy_1,table_xy_2等)对它们进行重命名。

由于没有简单的方法可以永久地重命名属性表中的字段(即,您必须创建一个新列并将旧列复制到该新列中并删除旧列),这会产生大量工作(尽管事实如此)您必须将自己定位在这种混乱的字段名称中)。


1
您能否在屏幕截图中输入正在发生的事情?当我添加一个csv时,它将第一行作为字段名称,并在打开表时显示它们。这听起来像是您的csv中没有有效名称,或者原始表和联接表之间的字段名称重复。无论如何,图形将有助于更清楚地说明您的问题。
2012年

嘿。仅当您将数据导出到新的shapefile时,才会出现此问题。在旧版本中,它仍然可以。我对问题进行了编辑,以使其完全可以理解
Dspanes

请注意,您现在可以在任何地理数据库要素类或表中使用“ 更改字段”来“重命名字段和字段别名”。
PolyGeo

Answers:


21

我认为您可能想做的是不使用“完全限定的表名”。

为此,在环境设置->常规设置中,取消选中“保持标准名称”。

查看此Esri支持论坛和此在线帮助文​​章

请注意,这在加入DBF文件时有效,但在加入CSV时无效。(作为一种变通办法,您可以将CSV转换为DBF,然后再加入。)


谢谢你的热情。我只是检查了推荐的信息,理论上这应该可以解决我的问题。因此,我在ArcGIS中取消选中该选项,并且也未选中将该选项保存为默认值。但是由于某种原因,当我导出数据时,它将无法正常工作。ArcGIS仍将数据导出为:tableName.fieldName。在我的情况下,输出是诸如Rural_I_1,Rural_I_2,Rural_I_3等...这可能是一个错误,因为我使用的是ArcGIS 10.1 ...我不知道。一种解决方法是为该表提供一个非常短的名称,例如“ 1”,从而使结果成为“ 1_csv_su”,并且我知道su代表sugercane
Dspanes

我认为这可以归结为在ArcGIS中使用shapefile格式的基本问题。其中一些限制涉及例如字段名的10个数字限制(请参见gis.stackexchange.com/questions/15784/…)或无法导出字段别名(idea.arcgis.com/ideaView?id=087300000008DwdAAE)。得出的结论是,最好在ArcGIS之外的表上工作。
Dspanes

3
@Johannes,在ArcGIS之外处理数据之前,为什么不尝试将数据转换为ArcGIS支持的更现代的数据库格式,例如文件地理数据库,甚至是个人地理数据库。至少您会知道这是shapefile限制,而不是Arc限制/问题/错误。
RyanKDalton 2012年

2

我针对特定情况解决了这个问题。我已将.csv文件加入到.shp文件中并导出了数据。我遇到了上述的Rural_I_1问题……它在.csv文件名后附加了字段名。

我的解决方法是首先将.csv文件导出为.dbf表(来自arcgis)。然后在.dbf而不是.csv上进行连接。现在导出数据时,您将只获得原始字段名称,而没有附加文件名。


1

假设您在属性表中具有坐标(纬度,经度)(如果未使用计算几何来创建坐标)...

  • 打开连接了csv的shapefile的属性表,然后复制所有记录(全选并右键单击第一列第一行中的黑色小箭头(在字段名称的左上角下方)。
  • 打开一本Excel书,粘贴结果。
  • 另存为新的.csv。
  • 将此csv导入到ArcMap中,字段名称将正确
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.