मैं जियोटीफ़ को "कोई डेटा नहीं" रंग बदलकर काले के बजाय सफेद / पारदर्शी कैसे बदल सकता हूं?


17

मैं एक जियोनेटवर्क नोड में शामिल करने के लिए डेटा तैयार कर रहा हूं, जहां मैप्स जियोसर्वर के माध्यम से प्रदर्शित किए जाते हैं।

समस्या यह है कि जिन कोशिकाओं में "कोई डेटा नहीं है", वे जियोटीफ़ में काले रंग के रूप में प्रदर्शित हो रही हैं और मैं चाहूंगा कि रंग सफेद या पारदर्शी हो।

मैं आर्कव्यू का उपयोग कर रहा हूं और स्पैटियल एनालिस्ट या 3 डी एनालिस्ट तक पहुंच नहीं है।

मैं आर्कगिस डेस्कटॉप से ​​निर्यात करते समय एक नई sld फाइल को असाइन नहीं करना चाहता हूं और वर्तमान में "यूज कॉलॉर्मैप" का उपयोग कर रहा हूं।


जवाबों:


7

अवधारणा में, आपको यह पता लगाने की जरूरत है कि कौन से पिक्सेल मूल्य बिना किसी डेटा के कोशिकाओं का प्रतिनिधित्व करते हैं और फिर उस सेल मान के लिए 255,255,255 रंग तालिका में RED, GREEN, BLUE (RGB) मान निर्दिष्ट करने के लिए अपनी रंग तालिका संपादित करें।

यदि आपके पास आर्क में ऐसा करने के लिए उपयुक्त लाइसेंस नहीं है, तो आप gdal_translate टूल (gdal / ogr कमांडलाइन टूल में से एक) का उपयोग कर सकते हैं

  1. XML फ़ाइल के रूप में अपने tif के लिए रंग तालिका निर्यात करें।
    gdal_translate -of VRT myImage.tif outColorTable.vrt

  2. एक टेक्स्ट एडिटर में .vrt फ़ाइल खोलें और अपने बिना डेटा पिक्सल के मूल्य के लिए प्रविष्टि खोजें। सेल मानों के लिए कोई इंडेक्स नंबर नहीं है, इसलिए आपको सही प्रविष्टि के लिए गिना जाना चाहिए।

  3. इस मान को संपादित करें <Entry c1="255" c2="255" c3="255" c4="255"/>

  4. अब, नए रंग तालिका के आधार पर एक नया tif बनाएं
    gdal_translate outColorTable.vrt newCorrected.tif

(उदाहरण नीचे टिप्पणी के आधार पर जोड़ा गया)

जब मैं ऊपर दिए गए आइटम # 2 में कमांड चलाता हूं और एक टेक्स्ट एडिटर में .vrt फ़ाइल को खोलता हूं, तो मुझे XML सामग्री दिखाई देती है।

फ़ाइल के भाग में ऐसी लाइनें शामिल हैं जो इस तरह दिखती हैं, मैंने उनमें से अधिकांश को छीन लिया है।


हाय डेविडएफ। धन्यवाद जो जवाब मैं fwtools (नौसिखिया के लिए नेविगेट करने के लिए थोड़ा आसान) के साथ बाहर ले जाने की कोशिश कर रहा है बहुत कुछ। लेकिन मुझे vrt फ़ाइल में "मान" खोजने में परेशानी हो रही है क्योंकि जब मैंने नोटपैड के साथ फाइल को खोला तो वे अब अलग-अलग शब्द हैं और यह मुख्य रूप से यादृच्छिक (कोड) पाठ से बना है। क्या मुझसे कुछ ग़लत हो रहा है? - किसी भी अतिरिक्त मदद की बहुत सराहना की।
enmapping

@ user1106 - उपरोक्त आदेशों को फिर से आज़माएं, मैंने आउटपुट प्रारूप विकल्प छोड़ दिया था। यह अब काम करना चाहिए!
डेविड एफएफ

9

मैंने इसके लिए एक छोटी गदल पायथन लिपि लिखी, gdalsetnull.py , एक साधारण कमांड लाइन प्रोग्राम जो एक नया रेखापुंज बनाए बिना निर्दिष्ट रेखापुंज मूल्य NODATA सेट करने के लिए। विंडोज़ पर GDAL स्थापित करने का सबसे आसान मार्ग OSGeo4W है । उदाहरण:

python gdalsetnull.py foobar.tif 0            # pure black is transparent
python gdalsetnull.py foobar.tif 0 255 0      # pure green is
python gdalsetnull.py foobar.tif 50 23 77 100 # arbitrary value in 4 band image

अगर आपको कुछ प्रोसेसिंग ओवरहेड का मन नहीं है और जगह में संपादन के बजाय एक नई छवि बना रहा है तो वहाँ भी gdal_calc है जो वास्तव में केवल मेटाडेटा को अपडेट करने के बजाय सेल मान को बदलने की अनुमति देता है।

शून्य और शून्य से नीचे के मान सेट करें:

gdal_calc.py -A input.tif --outfile=result.tif --calc="A*(A>0)" --NoDataValue=0

अच्छी तरह से किया मैट!
डेविड ऑक्ट

क्या यह वास्तव में सवाल का जवाब देता है? आपकी (अच्छी!) स्क्रिप्ट NULL के लिए एक रंग सेट करेगी, लेकिन मुझे लगता है कि यह अभी भी WMS-कार्यान्वयन विशिष्ट है, जिसमें रंग (पारदर्शी कहें तो एक रंग है, भी) NODATA मान प्रदान किए गए हैं।
अल्फोंक्स

@alfonx, हाँ एक सेल के रूप में एक अंतर है जिसे सेल के रूप में दर्ज किया गया है nodataऔर कहता है कि मैं हूं0 और एप्लिकेशन यह तय करता है कि क्या इसे या किसी अन्य मूल्य को अनदेखा किया जाना चाहिए। ArcGIS gdalsetnull.py के परिणामों का सम्मान करता है; मुझे जियोसर्वर के साथ कोई अनुभव नहीं है।
मैट विल्की

1
ऐसा लगता है कि यह अब फिर से चला गया है: github.com/maphew/maphew-gcode-archive/blob/…
स्टीव बेनेट

लिंक तय है, नोट के लिए धन्यवाद! @SteveBennett हमें अब इन मेटा टिप्पणियों को हटाना चाहिए।
मैट विल्की

2

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


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