पायथन केवल टूल्स के साथ नेशनल एलेवेशन डेटासैट (आर्कग्रिड / ग्रिडफ्लोट / आईएमजी) पढ़ना?


10

मुझे यूएसजीएस द्वारा प्रदान किए गए राष्ट्रीय उन्नयन डेटासेट से उच्च परिशुद्धता ऊंचाई (1/3 - 1/9 आर्सेकंड रिज़ॉल्यूशन) डेटा मिला है। यह int IMG, Arcgrid और GridFloat प्रारूप आता है। मुझे पता है कि आर्कग्रिड एक सशुल्क सॉफ़्टवेयर पैकेज से मेल खाती है, लेकिन मैं आज़ादी से उपलब्ध टूल का उपयोग करने के लिए छड़ी करने की कोशिश कर रहा हूं।

मेरे पास जीपीएस डेटा है जिसे मैं जमीनी स्तर के साथ सहसंबंधित करने की कोशिश कर रहा हूं।

क्या कोई अजगर पुस्तकालय हैं जो मुझे IMG, ArcGrid, या GridFloat प्रारूपों में डेटाफाइल का उपयोग करके डेटा को ऊंचाई में बदलने देगा?

जवाबों:


7

अजगर में सीधे IMG फ़ाइल के साथ काम करना GDAL बाइंडिंग के साथ सीधा है। उदाहरण के लिए, आप डेटा को सीधे एक NumPy सरणी में पढ़ सकते हैं:

from osgeo import gdal
geo = gdal.Open('imgn36w100_11.img')
arr = geo.ReadAsArray()
print repr(arr)
array([[ 744.31896973,  743.68762207,  743.1116333 , ...,  550.42498779,
         553.77813721,  556.18640137],
       [ 744.22955322,  743.66082764,  743.05273438, ...,  552.05706787,
         554.81365967,  557.55877686],
       [ 744.0133667 ,  743.49041748,  743.00061035, ...,  553.0123291 ,
         555.78076172,  558.01312256],
       ...,
       [ 568.70880127,  567.33666992,  566.56170654, ...,  447.68035889,
         447.68804932,  447.65426636],
       [ 568.01116943,  566.95739746,  564.23382568, ...,  447.6696167 ,
         447.71224976,  447.62734985],
       [ 565.62896729,  562.65325928,  560.78759766, ...,  447.67129517,
         447.67529297,  447.65179443]], dtype=float32)

IMG प्रारूप डेटा की साजिश रचने के अधिक पूर्ण उदाहरण के लिए, यह स्क्रिप्ट देखें जिसने नीचे की छवि उत्पन्न की। GPS डेटा को ऊंचाई में बदलने के लिए, आपको परिणामी NumPy सरणी का नमूना लेना होगा।

यहां छवि विवरण दर्ज करें


4

नेशनल मैप व्यूअर ने एक अलग सॉफ्टवेयर प्लेटफॉर्म का उपयोग किया, जिसने टाइलों के चयन के बाद डेटा को जियोफाई में परिवर्तित करना संभव बना दिया। कुछ क्षेत्रीय डेटा प्रदाता भी GeoTIFF पसंद करते हैं। लेकिन इससे आपको कोई फायदा नहीं हो सकता है।

हालांकि, अच्छी खबर यह है कि gdalइन तीनों प्रारूपों के साथ काम करने में सक्षम है। आर्कग्रिड एक ईएसआरआई बाइनरी प्रारूप है, ग्रिडफ्लोट यूएसजीएस का डीईएम डेटा प्रारूप और एर्दास को आईएमजी मालिकाना, जो इमेजिन सॉफ़्टवेयर बनाते हैं। मैं शायद या तो ArcGrid या IMG प्रारूप डाउनलोड करूंगा और GeoTIFF में परिवर्तित हो जाऊंगा: USGS में gdal डाउनलोड के लिए रूपांतरण लिपियों का एक बंडल है ( ज़िप फ़ाइल का सीधा लिंक )। आपको वहां अपनी जरूरत के संसाधन खोजने चाहिए।


लिंक के लिए धन्यवाद और गदल का उल्लेख करना, यह बहुत उपयोगी लगता है
abnowack

0

केल्सी का जवाब मेरे लिए पहले काम नहीं करता था क्योंकि .img फ़ाइल का उपयोग शून्य स्थान के लिए मान के रूप में किया जाता है।

मैंने लाइन जोड़कर इसे हल किया:

topo[topo<-1000] = 0

1
यह मूल प्रश्न का उत्तर नहीं है, इसे संभवतः स्वीकृत उत्तर के लिए संपादित किया जाना चाहिए
nmtoken
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.