Tôi cần chuyển đổi lat / long được biểu thị bằng độ, phút và giây trong dữ liệu thành độ thập phân. Ví dụ: trong dữ liệu, chúng được liệt kê là N335042,06 trong cột Latitude và W86031.04 trong cột Kinh độ. Tôi đã thực hiện vấn đề này trước khi tôi tạo một tập lệnh chuyển đổi DMS thành DD và ngược lại, vì vậy tôi đoán tôi có thể sử dụng các bit từ đó. Nhưng vấn đề tôi gặp phải là làm thế nào để bỏ qua (vì không có từ nào tốt hơn) 'N' và 'W' trong dữ liệu? Tôi có thể bỏ qua chúng? Và DMS được liệt kê tất cả cùng nhau mà không có bất kỳ biểu tượng hoặc không gian.
Tôi có thể sử dụng len()
, range()
, split()
để xác định phần nào để đọc từ giá trị? Ví dụ, có thể làm như sau?
N335042,06 ở đâu, 33 = độ 50 = phút 42,06 = giây ...?
Tôi đã xem qua này bài viết ESRI, nhưng đó là trong VB. Có thể sẽ sử dụng nó làm tài liệu tham khảo nhưng một số thuật ngữ / cú pháp khác với Python.
Mã cuối cùng hoạt động!
# 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!)