arcgis怎么关联excel表_arcgis中如何跟excel连接?

展开全部

一:arcgis属性表与excel建立连接:

1):原始数据属性表如图:

e983a52c07d92d5a68fe4a131b5ffc70.png

excel表数据如下:32313133353236313431303231363533e58685e5aeb931333337613762

e5d3083654735a6af26451b8b8554eff.png

2)现要建立属性表soilID与excel的土属编号的关联:

729dc7e44912856c3c49255e940fc46b.png

打开连接表:并如下操作:

56cd741ec62aa83fa90e182742b35cc9.png

在1处选择属性表连接字段,2处选择excel表所在的sheet,3处选择excel表中连接字段

完后单击OK。结果如图:

25fbe2332bb64724940428afd7ff83fa.png

二:对连接进来的属性进行修改:

当启动编辑时会发现添加进来的字段不能编辑,很正常,因为添加进来的字段属于excel表,不属于属性表,当然不能编辑了,基于这,我想可以把excel的字段转化为属性表的字段。

具体做法是添加一个字段,使其字段类型和excel字段类型一致,然后启用Field Calculator,如下图:

d8bba0e4ca4396a91226c6e52d8273a1.png

这样excel表字段就会添加到属性表里,如此把所有字段添加进来,然后移除连接,再启动编辑就可以对所有字段进行编辑。

三:属性表导出为Excel,

可以先导出为dbf文件,再转化为Excel,但是我没安装Access,如是采用另一种方法:

先在属性表里,将属性表导出为txt文件。

fa7312e9c18c39c683b7b1c4c033cd8a.png

下面就可以在Excel中操作了,进入导入数据向导,找到刚导出的txt,一直下一步,直到下面选择分隔符时:

ea1713602cf4e6132e216d65566ffbc3.png

然后一直下一步,直到完成OK。

### 如何在ArcGIS连接时不更改字段名 当在ArcGIS中执行连接操作时,默认情况下可能会遇到字段名被修改的情况,这是因为ArcGIS为了防止重复字段名而自动添加前缀或其他字符。要保持原始字段名不变,可以采取以下方法: #### 方法一:使用地理处理工具中的“加入属性” 通过【工具箱】> 【分析】> 【连接和联接】下的“加入属性”工具,在此过程中可以选择不重命名字段的方式进行连接[^1]。 #### 方法二:创建视图或查询层 对于支持SQL的数据库(如Oracle、PostgreSQL),可以通过定义SQL语句来构建视图或者查询层,从而实现自定义字段映射而不改变原有字段名称[^2]。 #### 方法三:调整环境设置 进入ArcMap 或 ArcPro 的选项菜单,找到“常规”标签页下有一个名为“编辑器”的部分,这里有一项叫做“允许覆盖现有字段”,勾选此项可以在某些场景下帮助保留原字段名。 #### Python脚本解决方案 如果熟悉Python编程,则可编写简单的Pyhton脚本来批量处理多个图层之间的关联关系,并确保目标字段不会因连接过程受到影响。下面是一个简单例子: ```python import arcpy def join_tables_without_renaming_fields(target_layer, source_table, target_field, source_field): # 创建临时视图以避免字段名冲突 temp_view = "in_memory\\tempView" sql_query = f"SELECT * FROM {source_table}" arcpy.MakeTableView_management(source_table, temp_view) # 执行连接操作并指定无须更改编码规则 arcpy.AddJoin_management( in_layer_or_view=target_layer, in_field=target_field, join_table=temp_view, join_field=source_field, join_type="KEEP_ALL" ) # 调用函数实例化参数 join_tables_without_renaming_fields("your_target_feature_class", "your_source_table", "common_id", "id") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值