zoukankan      html  css  js  c++  java
  • 地图投影-将度-分-秒值转换为十进制度值

    地图投影-将度-分-秒值转换为十进制度值

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

    DD = (Seconds/3600) + (Minutes/60) + Degrees

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

    DD = - (Seconds/3600) - (Minutes/60) + Degrees

    以下说明讲解了使用字段计算器,将表中字段里以度分秒表示的经度或纬度值转换为十进制度数的方法。

    代码使用 VBScript 编写,但能够轻松转化为其他编程语言。

    它假定度分秒是以字符串(文本)的形式存储的,数字间留有空格且不带任何符号。例如,数据将被存储为:

    25 35 22.3

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

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

    步骤:

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

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

    6. 单击确定。
    7. 右键单击 Lat2 字段,然后单击字段计算器。
    8. 若弹出消息框则单击是。
    9. 选中高级复选框。
    10. 将以下代码粘贴到表达式框:
    11. Dim Degrees
    12. Dim Minutes
    13. Dim Seconds
    14. Dim DMS
    15. Dim DD
    16. DMS = Split([Latitude])
    17. Degrees = CDbl(DMS(0))
    18. Minutes = CDbl(DMS(1))
    19. Seconds = CDbl(DMS(2))
    20. If Degrees < 0 Then
    21. DD = -(Seconds/3600) - (Minutes/60) + Degrees
    22. Else
    23. DD = (Seconds/3600) + (Minutes/60) + Degrees
    24. End If

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

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

     

  • 相关阅读:
    数据缓存/NSURLSession
    NSURLConnection基本使用/多线程断点下载/文件的上传
    HTTP协议/数据安全
    block的概念及基本使用 /block访问外部变量
    NSOperation简单介绍/NSOperation基本操作/自定义NSOperation
    GCD介绍/GCD的基本使用/GCD的常见用法
    NSThread方式创建线程/线程安全/线程间的通信
    面试常见知识点
    新课堂练习题
    线程概述
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/13496794.html
Copyright © 2011-2022 走看看