更改ArcGIS属性表中的数据类型?


9

如何更改ArcGIS中属性表中多个字段的数据类型?

例如,如果字段已从Excel中导出为字符串,并且我想将其用作数值?


1
如果数据类型不匹配,则无法执行表对表的操作。我知道我尝试过。
2014年

请忽略数据源的格式和版本。(ent数据库,shapefile,filegdb,个人gdb?)
Brad Nesom

@Brad在arcgis 10.2中使用shapefile,数据源位于我的计算机本地
挣扎

Answers:



3

您没有提到正在使用哪个版本的ArcGIS for Desktop或存储数据的位置,但是没有一个“ 修改字段属性”页面描述了如何使用ArcGIS 10.2(或更高版本):

创建表或要素类后,可以更改某些字段属性

...但这仅适用于空字段。

从10.3开始,上述功能也可以通过“ 更改字段”工具使用

重命名字段和字段别名,或更改字段属性。


需要精度。自10.2.1起
GeoStoneMarten

@GeoStoneMarten 10.2.1的Alter字段似乎仅用于重命名字段,而我的答案与修改数据类型有关,我认为仍然有效。但是,@ Paul回答表明,Alter Fields扩展了其功能,以包括在10.3处修改数据类型。
PolyGeo

如果有现有数据,不仅如此,还可以...否则就可以了
GeoStoneMarten

2

您可以更改要素类中具有的字段的字段数据类型。但是,您将无法将文本字段转换为数字。但是,您可以将数字字段转换为字符串。看看Esri帮助页面。这不仅适用于企业级地理数据库,甚至对于桌面地理数据库(如文件地理数据库)也可以正常工作。

如果表或要素类在企业,工作组或 桌面地理数据库中,则必须以表所有者的身份连接才能修改字段属性。

由于您使用Excel,因此确保数据类型正确的最佳方法是在导入任何数据之前直接在Excel中定义单元格数据类型。但是,如果您有一个带有数字的文本字段,则当然可以创建一个数字类型的新字段(例如,整数或双精度)并根据该文本字段计算值。如果您的数字确实是数字,则可以正常工作(“ 12”有效,但“ 12-1”无效)。


2

据我所知,这是不可能的。在10.3中,更改字段已扩展,允许更改字段类型。但是,它仅在表没有任何记录时仍然有效。

不过,这是一种方法:

  1. 添加具有临时名称和正确数据类型的新字段
  2. 使用Calculate Fieldcursors(如果需要,可使用铸造)
  3. 删除旧字段
  4. Alter Field 重命名临时字段
  5. (可选)使用一些字段映射复制表以恢复原始顺序

我从未研究过它,但是字段映射可能将字段转换为新的数据类型,这将大大简化此过程。肯定要调查的东西...


1
我通常会先重命名旧字段。这样,我可以-重新创建新字段,计算值,然后删除旧字段。开始计算值时,可能需要选择所有非空值。和/或转换/分割任何字符串值
Brad Nesom 2015年

1
工具还有一些免费的功能,对您有所帮助。 ian-ko.com 查看geo-wizards免费功能。
Brad Nesom 2015年

@Brad我一直在研究自由功能,xtools很有帮助,但是我总是对更多/更好的选项持开放态度。谢谢您的投入
2015年

@BradNesom,好点!那会更有意义。
Paul

1

另一种方法是.dbfOpenOffice Calc(或等效版本)中打开文件,然后仔细修改其列的标题。例如,将类型从C(字符)更改为N(数字)。一个简单的建议:尝试之前先备份文件。


1

尽管您不能在数据集中更改字段名称和数据类型,但是可以使用ArcGIS工具“要素类到要素类”创建具有所需更改的副本。在设置中,您可以更改字段的名称,数据类型和其他特征。


1

首先,必须尝试理解为什么ArcGIS将字段作为字符串类型而不是数字/双精度数据类型导入。我发现,即使您的单元格(在Excel中)为空白,如果它的内部有“空格”(例如按空格键时),ArcGIS也会将其解释为字符。如果删除它们,您将看到它们现在将注册为数字字段。


0

看一下这份文件。在导入之前和之后,通常必须确保数据的格式正确。

“ ArcGIS通常会将电子表格数字字段转换为双精度(Double),这可能无法满足您的需求。如有必要,请创建所需类型的新字段并在其中计算值”


0

如果您的目标是将数据从表X添加到另一个表Y,但是由于数据类型不对应而不能,则还可以按照以下步骤操作:

  1. 导出两个表(.dbf)

  2. 在Excel中打开表Y。

  3. 在excel中打开表X。

  4. 通过确保仅复制值而不复制表格,将数据从表X复制并粘贴到表Y。

  5. 现在,您有了一个新表,其中包含两个表中的数据以及相应的数据类型。

6,将此表导入ArcMap


0

没有人提到用于ArcGIS的X射线工具套件。只需在Google中搜索“ X-Ray ArcGIS”即可。每个ArcGIS版本和平台(ArcCatalog,ArcMap)都有几种变体。是一个版本。是另一个。它支持许多与字段和域相关的功能,包括在MS Excel中更改字段类型,名称,别名,域等,并将更改上传回GDB。

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.