ArcMap中将字符串字段转换为数值型字段的简单方法

本文详细介绍了如何使用 MapField 计算器将字段类型从字符串转换为整数,包括所需的具体步骤和注意事项。通过实例演示,帮助读者理解并掌握此操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


[NEWFIELD] = val( [OLDFIELD] ) 


转自:http://forums.esri.com/Thread.asp?c=93&f=992&t=75372

its all the details of exactly what the field your number-text is in and exactly what the field your final number is going to. I have sucessfully converted a field of type=string length=4, precision=0, scale=0 to a field of type=long, length=8, precision=8, scale=0 with the [NEWFIELD] = val( [OLDFIELD] ) in the map field calculator.




### 如何在ArcMap中将经纬度坐标转换为英文文本格式 #### 准备工作 为了确保能够顺利操作,在开始之前需确认Excel中的经纬度数据已经按照规定进行了整理,即经度和纬度分别位于独立的两列,并且这两列的数据类型均为数值型而非文本型[^1]。 #### 导入并处理数据 完成上述准备工作之后,借助ArcToolbox里的“表格至要素”功能可以实现从Excel到ArcGIS环境下的数据迁移。倘若遇到无法成功转化的情况,则建议尝试调整输出路径为目标地理数据库(Geodatabase)。 #### 显示XY数据 当数据被正确加载后,下一步就是让这些点位能够在地图上显现出来。这一步骤的关键在于指定正确的坐标参照系统(CRS),这里推荐选用WGS84作为默认选项,因为它适用于全球范围内的地理位置描述;而CGCS2000则主要用于中国境内的高精度测量任务,因此不适用于此情境下直接展示经纬度的需求。 #### 创建新的字符串字段用于存储转换后的结果 一旦所有的点都已准确无误地呈现在屏幕上,就可以着手准备一个新的字段来保存即将得到的文字形式的经纬度信息了。为此目的新建两个String类型的字段——例如命名为`LatText` 和 `LonText` ——它们将会用来容纳最终生成的结果。 #### 编写Python脚本进行批量转换 最后也是最重要的环节是要编写一段简单的Python代码片段来进行实际的转换作业: ```python import arcpy def deg_to_dms(deg): d = int(deg) md = abs(deg - d) * 60 m = int(md) sd = (md - m) * 60 return f"{d}°{m}'{sd:.2f}\"" with arcpy.da.UpdateCursor("YourLayerName", ["SHAPE@", "LatText", "LonText"]) as cursor: for row in cursor: point = row[0].getPart() lat = point.Y lon = point.X # Convert to DMS format and update the text fields. row[1] = deg_to_dms(lat) row[2] = deg_to_dms(lon) cursor.updateRow(row) ``` 这段程序会遍历每一个记录并将对应的经纬度值由十进制度数(Decimal Degrees)转变为度分秒(Degree Minute Second)的形式,同时更新刚刚创建好的那两个专门用来承载此类信息的新字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值