.NET का उपयोग करके GeoTiff पढ़ना


11

क्या .NET में एक जियोटीफ़ फ़ाइल से निर्देशांक पढ़ने के लिए एक प्रबंधित पुस्तकालय है ?

मुझे पता है कि यह GDAL के माध्यम से किया जा सकता है, लेकिन मैं एक प्रबंधित विकल्प की तलाश कर रहा हूं ।


आप कई गुना: कई गुना का उपयोग कर सकते हैं , लेकिन आपको अपने आवेदन के साथ वितरित करने के लिए कम से कम उनके रनटाइम की आवश्यकता होगी। हालाँकि, इसे से क्वेरी करने से पहले आपको GeoTIFF को मैनिफोल्ड घटक के रूप में पढ़ना होगा, जो कि आपके लिए नहीं हो सकता है। यह सभी कुलपति ++ को हुड के तहत प्रबंधित किया गया है, और उनके द्वारा लिखा गया है। आप अनुप्रयोग के अंदर VBScript या C # स्क्रिप्ट के साथ परीक्षण कर सकते हैं, और फिर C # या जो भी हो, बाहरी ऐप में पोर्ट कर सकते हैं।
मंदसौर

अन्यथा मैपविंडो एपी उपयोगी हो सकता है, मुझे यकीन है कि अन्य लोग भी हैं जो मुझे याद है अगर मैं पोस्ट
करूंगा

जवाबों:



10

आप GDAL शामिल .NET रैपर का उपयोग कर सकते हैं । यह आपको प्रबंधित कोड के भीतर GDAL कार्यक्षमता के किसी भी उपयोग करने की अनुमति देता है।


मैं सहमत हूं ... इस मामले में युद्ध-परीक्षण कोड के साथ छड़ी करने के लिए सबसे अच्छा है
वोल्फऑर्ड्रेड

यह हुड के तहत अभी भी अप्रबंधित GDAL है। इस विशेष मामले में मैं केवल प्रबंधित की तलाश कर रहा हूं।
BjartN

1
@BjartN: आप हमेशा System.Drawing.Bitmap.PropertyItems का उपयोग कर सकते हैं, फिर स्वयं GeoTiff टैग को संसाधित कर सकते हैं: remotesensing.org/geotiff/spec/geotiff2.6.html#2.6.6. हालाँकि, मैं एक प्रबंधित आवरण का उपयोग करूंगा एक देशी पुस्तकालय के आसपास ...
रीड कोपसे

Thx यह वही हो सकता है जिसकी मुझे तलाश है। मैं जांच करूंगा :) इसके अलावा, मैं एक प्रबंधित आवरण के साथ समाप्त हो सकता हूं, लेकिन मैं GDAL पर निर्भरता लेने के लिए बहुत उत्सुक नहीं हूं। अधिक हल्के कुछ पसंद करेंगे।
BjartN

3

.NET फ्रेमवर्क मेमोरी प्रबंधन परत द्वारा लगाए गए प्रदर्शन और मेमोरी उपयोग सीमा के कारण आपको प्रबंधित C # में कई नहीं दिखेंगे। मुझे गलत मत समझो - मुझे C # और .NET से प्यार है। हालाँकि, देशी C ++ बहुत तेज है और (मेरी राय में) इस मामले में लिखने के लिए कम निराशा होती है।

सर्वेक्षण में आम तौर पर कई GeoTIFF फाइलें होती हैं, जिसमें जियोट्रांसफ़ॉर्म (यानी WGS82 से UTMM से TIFF XY समन्वय, और फिर वापस) प्रदर्शन करते समय बहुत अधिक मेमोरी और डेटा के हेरफेर की आवश्यकता होती है, जब आप शामिल करते हैं, तो मेमोरी प्रदर्शन और प्रबंधन दक्षता की मांग और बढ़ जाती है। रेखीय, रेडियल और क्षेत्र सर्वेक्षण के संकलन परिणाम जैसी चीजें।

आप शायद यह नहीं सुनना चाहते, लेकिन मूल C ++ में एक पार्सर लिखना और फिर इसे C # में लपेटना प्रदर्शन को बढ़ाने और स्मृति सीमाओं को समाप्त करने वाला है। एक पार्सर लिखना वास्तव में बहुत आसान है, और बहुत हल्का होगा, जैसा कि आप इसे अपनी आवश्यकताओं के लिए दर्जी कर सकते हैं। जब आप अधिक उन्नत सुविधाओं को एकीकृत करते हैं, तो यह विशेष रूप से सच होगा, जैसे कि स्वचालित चयन और जियोफिट फ़ाइलों का विस्तार।


मैं आपको मूल्य जोड़ने के लिए एक बिंदु देता हूं :)
BjartN

बहुत सराहना की! ;)
माइक क्रिश्चियन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.