데이터의 각도, 분 및 초로 표시되는 위도 / 경도 를 십진수 로 변환해야합니다 . 예를 들어 데이터에서 위도 열에는 N335042.06, 경도 열에는 W86031.04로 표시됩니다. DMS를 DD로 변환하고 그 반대로 변환하는 스크립트를 작성하기 전에이 문제를 수행 했으므로 그 비트를 사용할 수 있다고 생각합니다. 그러나 내가 겪고있는 문제는 데이터에서 'N'과 'W'를 (더 나은 단어가 없음) 무시하는 방법입니다. 건너 뛸 수 있습니까? DMS는 기호 나 공백없이 모두 함께 나열됩니다.
내가 사용할 수 len()
, range()
, split()
값에서 읽을 어떤 부분이 지정? 예를 들어 다음을 수행 할 수 있습니까?
N335042.06 여기서, 33 =도 50 = 분 42.06 = 초 ...?
나는 우연히 이 ESRI 기사,하지만 VB에서입니다. 아마도 그것을 참조로 사용하지만 일부 용어 / 구문은 Python과 다릅니다.
작동하는 최종 코드!
# Pre-logic
def latDD(x):
D = int(x[1:3])
M = int(x[3:5])
S = float(x[5:])
DD = D + float(M)/60 + float(S)/3600
return DD
# Expression
latDD(!Latitude!)