ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

将度-分-秒值转换为十进制度值

下面是将度分秒转换为十进制度的简单等式:

DD = (秒数/3600) + (分钟数/60) + 度数

如果角度值是负数,则转换方法不同。 其中一种方法是:

DD = (秒数/3600) - (分钟数/60) + 度数

以下说明讲解了使用字段计算器,将表中字段里以度分秒表示的经度或纬度值转换为十进制度数的方法。 代码使用 VBScript 编写,但能够轻松转化为其他编程语言。 它假定度分秒是以字符串(文本)的形式存储的,数字间留有空格且不带任何符号。 例如,数据将被存储为:

25 35 22.3

其中 25 是度,35 是分,22.3 是秒。

输出结果将被存储到数值字段中。

  1. 将表添加至 ArcMap。
  2. 在内容列表中右键单击该表,然后单击打开。
  3. 单击选项按钮,然后单击添加字段。
  4. 在名称字段中输入 Lat2。
  5. 单击类型下拉箭头,然后在列表中单击双精度。

    如果 Lat2 已被用作字段名,则另选择一个尚未使用的名称。

  6. 单击确定。
  7. 右键单击 Lat2 字段,然后单击字段计算器。
  8. 若弹出消息框则单击是。
  9. 选中显示代码块复选框。
  10. 将以下代码粘贴到预逻辑脚本代码框中:
    Dim Degrees
    Dim Minutes
    Dim Seconds
    Dim DMS
    Dim DD
    
    DMS = Split([Latitude])
    Degrees = CDbl(DMS(0))
    Minutes = CDbl(DMS(1))
    Seconds = CDbl(DMS(2))
    If Degrees < 0 Then
       DD = -(Seconds/3600) - (Minutes/60) + Degrees
    Else
       DD = (Seconds/3600) + (Minutes/60) + Degrees
    End If
    

    在以 DMS = 开头的第六行中,括号 [ ] 中的文字应当是保存纬度值字段的名称。 将代码中的 Latitude 替换为在您的表中存储 DMS 纬度值字段的名称。

  11. 将以下代码粘贴到对话框底部的 Lat2 = 框中:
    CDbl(DD)
    
  12. 单击确定。
  13. 对于经度值的转换,重复步骤 3 到步骤 12 的过程。

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2022 Esri. | 隐私政策 | 法律声明