मुझे अक्षांश / लंबे समय को डेटा में दशमलव डिग्री में मिनट, मिनट और सेकंड के रूप में व्यक्त करने की आवश्यकता है । उदाहरण के लिए, डेटा में, उन्हें अक्षांश स्तंभ में N335042.06 और देशांतर स्तंभ में W86031.04 के रूप में सूचीबद्ध किया गया है। मैंने यह समस्या पहले की है जहाँ मैंने एक स्क्रिप्ट बनाई थी जिसने DMS को DD में बदल दिया, और इसके विपरीत, इसलिए मुझे लगता है कि मैं इसके लिए बिट्स का उपयोग कर सकता हूं। लेकिन समस्या यह है कि डेटा में 'एन' और 'डब्ल्यू' को अनदेखा करना (बेहतर शब्द की कमी के लिए) कैसे है? क्या मैं उन्हें छोड़ सकता हूं? और डीएमएस बिना किसी प्रतीक या रिक्त स्थान के सभी को एक साथ सूचीबद्ध किया गया है।
मैं उपयोग कर सकते हैं len()
, range()
, split()
निर्दिष्ट करने के लिए कौन-सा भाग मूल्य से पढ़ने के लिए? उदाहरण के लिए, निम्नलिखित कर सकते हैं?
N335042.06 कहाँ, 33 = डिग्री 50 = मिनट 42.06 = सेकंड ...?
मैं इस ESRI लेख पर आया था , लेकिन यह VB में है। शायद इसे एक संदर्भ के रूप में उपयोग करेंगे लेकिन कुछ शब्दावली / वाक्यविन्यास पायथन से अलग है।
अंतिम कोड जो काम करता है!
# 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!)