रेखापुंजों के पैरों के निशान दिखाते हुए आकृति बनाना?


33

मेरे पास टिफ़ प्रारूप में लगभग 1,000 उपग्रह चित्र हैं, और मैं एक आकृति बनाना चाहता हूं जो कि एक आपदा के रूप में कार्य करेगा। यह एक रैस्टर कैटलॉग के समान है, लेकिन मैं रैस्टर कैटलॉग नहीं बनाना चाहता।

कुछ बाधाएं जो मैं कर सकता हूं, वह यह है कि छवि जियरेफ्रंटेड है, इसलिए वे आकार में आयताकार नहीं हैं (मैं डेटा क्षेत्र के बारे में बात कर रहा हूं)।

स्पष्ट करने के लिए, मुझे बहुभुज को रेखापुंज के केवल गैर-शून्य (या गैर नोडटा) पिक्सल को कवर करने की आवश्यकता है, न कि पूरे आयताकार रेखापुंज। अब तक के अधिकांश जवाब, एक आयताकार बहुभुज देते हैं, जो डेटा को कवर करता है, साथ ही गैर-डेटा पिक्सल भी।

मेरी छवि एक नमूना सैटेलाइट इमेज


मेरे द्वारा जांचे गए उपकरणों द्वारा दिए गए परिणाम (जैसे कि रास्टर कैट्लॉग, विभिन्न अभिलेख, कस्टम पायथन लिपि एक उत्तर में दिए गए): परिणाम


परिणाम जो मुझे चाहिए: यहाँ छवि विवरण दर्ज करें


4
ऐसा लगता है कि एक रेखापुंज कैटलॉग बनाना, यहां तक ​​कि अस्थायी रूप से पैरों के निशान बनाने के लिए एक अच्छा समाधान होगा। आप एक कैटलॉग बना सकते हैं जो अप्रबंधित है, जो संदर्भों की एक तालिका बनाता है, लेकिन सर्वर पर उनके स्थान पर छवियों को छोड़ देता है। यह आसान है, और एक कैटलॉग के लिए चूहों का एक बैच आयात करने के लिए अपेक्षाकृत जल्दी है। एक बार बनने के बाद, आप पैरों के निशान को एक नए फीचरक्लास में निर्यात कर सकते हैं और रास्टर कैटलॉग को हटा सकते हैं। यह अन्य विकल्पों की तरह त्वरित हो सकता है।
स्थानिक

2
मोज़ेक डेटासेट भी इमेजरी फ़ुटप्रिंट का उत्पादन करता है।
रॉय

मोज़ेक डाटासेट जाने के लिए रास्ता है। पूरा करने के लिए बहुत आसान है
ब्रैड नेसोम

तो अंतिम छवि में, लाल बॉक्स NoData या 0 के बाहर पिक्सेल हैं? यदि वे 0 हैं, तो क्या आप उस क्षेत्र में पिक्सेल चाहते हैं जो 0 मान के भी हैं?
चाड कूपर

1
लाल बॉर्डर के बाहर पिक्सेल नोडाटा हैं; हालाँकि मेरे मल्टी-स्पेक्ट्रल डेटा में नोड्स क्षेत्रों के लिए RGB मान के रूप में 0,0,0 है। दोनों ही मामलों में, आवश्यक क्षेत्र के अंदर मान 0 के साथ कोई पिक्सेल नहीं हैं।
देवदत्त तेंगशे

जवाबों:


15

QGIS में एक प्लगइन है जिसे इमेज बाउंड्री कहा जाता है । यह एक महान उपकरण है। इस उपकरण के भीतर "वैध पिक्सल्स" का एक विकल्प है जो एक उपग्रह चित्र के काले किनारों को छोड़ देगा, उदाहरण के लिए।


यह प्लगइन वह करने का दावा करता है जो मैं चाहता था, लेकिन यह उस छवि पर विफल हो रहा है जिसे मैंने प्रयोग किया था। मैं कल अपने वास्तविक डेटा के साथ कोशिश करूँगा।
देवदत्त तेंघेशे

मैंने पाया कि यह प्लगइन मल्टी-स्पेक्ट्रल डेटा के साथ बहुत अच्छा काम करता है, लेकिन कभी-कभी सिंगल-बैंड पैनक्रोमैटिक छवियों के साथ अजीब परिणाम देता है।
देवदत्त तेंग्शे

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

छवि सीमा उपकरण महान है, हालांकि, आपके द्वारा प्रदान किया गया लिंक 404 है। मेरा मानना ​​है कि उपकरण अभी भी उपलब्ध हैं यदि आप प्लगइन सेटिंग्स में प्रयोगात्मक प्लगइन्स की अनुमति देते हैं। शायद यह लिंक ?: का उपयोग github.com/lmotta/imagefootprint_plugin
हारून

क्या छवि सीमा का उपयोग करने के लिए कोई दस्तावेज है?
लूनुह

9

निम्न कोड एक इनपुट रेखापुंज लेगा, इसे प्राप्त करें, और उस सीमा को बहुभुज फीचरक्लास में डालें:

import arcpy

r = arcpy.Raster(in_raster)
point = arcpy.Point()
array = arcpy.Array()

corners = ["lowerLeft", "lowerRight", "upperRight", "upperLeft"]

cursor = arcpy.InsertCursor(fc)
feat = cursor.newRow()
for corner in corners:    
    point.X = getattr(r.extent, "%s" % corner).X
    point.Y = getattr(r.extent, "%s" % corner).Y
    array.add(point)
array.add(array.getObject(0))
print len(array)
polygon = arcpy.Polygon(array)
feat.shape = polygon
cursor.insertRow(feat)
array.removeAll()
del feat
del cursor

आप इसे आर्कपैक पायथन विंडो में सेट कर सकते हैं in_rasterऔर इसे fcपसंद कर सकते हैं:

>>> fc = 'r_extent'
>>> in_raster = 'CaliCoast10mNED_HavCurvedPCS'

जहां r_extentएक मौजूदा बहुभुज फीचरक्लास है। फिर कोड को कॉपी करें और उसे चलाएं। मैंने इसे प्राप्त किया:

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


1
: मैं एक फ़ोल्डर के लिए भी ऐसा ही करने के लिए उपरोक्त कोड का उपयोग किया है gist.github.com/4162013
जेब

7

आप इसके लिए gdaltindex का उपयोग कर सकते हैं: http://www.gdal.org/gdaltindex.html

हालांकि यह अभी भी छवियों के रूप में एक ही संदर्भ प्रणाली में आयतों (जैसे 4 + 1 अंक) का निर्माण करेगा। लेकिन मुझे आश्चर्य है कि क्या यह वास्तव में एक समस्या है: आपकी छवियां कितनी बड़ी हैं?


Gdaltindex के साथ समस्या यह है कि यह प्रत्येक छवि के लिए एक आयताकार बहुभुज बनाता है। मुझे केवल
नॉनजेरो

4

मैंने QGIS में "छवि सीमा" उपकरण की कोशिश की, लेकिन यह कुछ आपदाओं के साथ विफल हो जाता है।

मेरे लिए काम करने वाला एक और विकल्प है: - 1. गदल_ट्रांसलेट कमांड-लाइन उपयोगिता का उपयोग करके एकल डिजिटल नंबर में इनपुट रेखापुंज परिवर्तित करें।

gdal_translate -co compress = lzw -b 1 -ot byte -scale 1 1 inp.tk out.tif

यह 1 के मूल्यों के साथ रेखापुंज पैदा करेगा। inp.tif में गैर-शून्य मान थे।

  1. फिर आर्कप में आप बहुभुज (शेपफाइल) प्राप्त करने के लिए "रैस्टर टू पॉलीगॉन" टूल का उपयोग कर सकते हैं।

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


3

यदि आप एक स्क्रिप्टेड समाधान में रुचि रखते हैं, तो गडाल कमांड के निकट प्रयास करें । आप सफेद स्थान से बंधे डेटा को पुनः प्राप्त करने के लिए ध्वज का उपयोग कर सकते हैं। आप रेखापुंज डेटा के एक गैर-आयताकार पदचिह्न उत्पन्न करने के लिए आउटपुट को बहुभुज कर सकते हैं ।

##run nearblack
shellcmds = "nearblack -white -o " + outpath + " " + inpath
os.system(shellcmds)

##run polygonize
shellcmds = "gdal_polygonize.py " + outpath + " -f" + """ "ESRI Shapefile"  """ + outpath2 + " nearblack"
os.system(shellcmds)

1

मेरा मानना ​​है कि, आर्कजीआईएस दुनिया में आप इसे 3 डी एनालिस्ट \ कनवर्जन \ फ्रॉम रैस्टर \ रैस्टर डोमेन टूल से हासिल कर सकते हैं ।


यह केवल 3 डी डेटा पर काम करता है, और तब भी अपेक्षित परिणाम नहीं देता है। सैटेलाइट इमेजरी के साथ बिल्कुल भी काम नहीं करता है।
देवदत्त तेंग्शे

हाँ यह सच है। मैं दूसरों के लिए जवाब छोड़ दूँगा, उस बारे में जागरूक रहूँगा।
टोमेक

0

आर्कजीआईएस 3 डी एनालिस्ट में एक उपकरण है जिसे रैस्टर डोमेन कहा जाता है जो एक रैस्टर डेटासेट के डेटा भागों के एक बहुभुज या पॉलीलाइन फुटप्रिंट बनाता है - और नोडाटा कोशिकाओं की उपेक्षा करता है। मेरे लिए बहुत अच्छा काम किया।


1
हमारी साइट पर आपका स्वागत है! क्या आप बता सकते हैं कि आपका उत्तर टोमेक से कैसे भिन्न है?
whuber

रास्टर डोमेन ने मेरे लिए काम किया - आपकी मदद के लिए धन्यवाद!
मेरिलो

0

आप एक स्थानिक संदर्भ के साथ एक रेखापुंज सूची तैयार कर सकते हैं, आर्केस्टा में रेखापुंज सूची को जोड़ सकते हैं, और फिर "निर्यात पदचिह्न"। याद रखें कि "UNMANAGED" रेखापुंज सूची बनाने का विकल्प है ताकि आप प्रत्येक रेखापुंज डेटासेट का डुप्लिकेट न बना रहे हों।

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