操作方法:使用字段计算器将十进制度值转换为度分秒值 |
您所在的位置:网站首页 › 度分秒转换成度计算器 › 操作方法:使用字段计算器将十进制度值转换为度分秒值 |
摘要
Note:
Python scripts are specific to the version of Python that was shipped with the version of ArcMap in use. Therefore, this script may not work with your version of ArcMap. However, this script may serve as a template for modification, if desired.
Refer to FAQ: What version of Python is used in ArcGIS? for more information.
To perform coordinate conversion, Esri recommends using the Convert Coordinate Notation tool in ArcToolbox > Projections and Transformations toolset.
Instructions provided describe how to use the Field Calculator to convert Decimal Degrees stored in a numeric field to Degrees Minutes Seconds stored in a text field. The output by default is in the following format: DD°MM'SS.SS"N过程 Follow the steps below: Add the table to ArcMap.Right-click the table in the Table of Contents and select Open.Verify that Edit mode is not enabled. Click the Options button and select Add Field.Type DMSLat in the Name field and select Text from the Type drop-down list. If DMSLat is already used as a field name, select a name that is not being used.Change the length to 20.Right-click on the DMSLat field and select Calculate Values.Click Yes if presented with a message box.Change the Parser from VB Script to Python.Check the box to Show Codeblock.Paste the following code into the Pre-Logic Script Code box: def decimalDegrees2DMS(value,type): """ Converts a Decimal Degree Value into Degrees Minute Seconds Notation. Pass value as double type = {Latitude or Longitude} as string returns a string as D:M:S:Direction created by: anothergisblog.blogspot.com """ degrees = int(value) submin = abs( (value - int(value) ) * 60) minutes = int(submin) subseconds = abs((submin-int(submin)) * 60) direction = "" if type == "Longitude": if degrees < 0: direction = "W" elif degrees > 0: direction = "E" else: direction = "" elif type == "Latitude": if degrees < 0: direction = "S" elif degrees > 0: direction = "N" else: direction = "" notation = str(degrees) + u"\u00b0" + str(minutes) + "\'" +\ str(subseconds)[0:5] + "\"" + direction return notation Paste one of the following code into the DMSLat = expression box at the bottom of the dialog box depending on the desired latitude or longitude data. decimalDegrees2DMS( !Latitude_Field_Name! ,"Latitude") decimalDegrees2DMS( ! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |