मिश्रित पहाड़ीशेड कैसे बनाएं?


10

मिश्रित पहाड़ियों की अवधारणा अंधा धब्बे से बचने के लिए कई पहाड़ियों को अलग-अलग सूर्य के प्रकाश उन्मुखीकरण के साथ जोड़ना है। इसके लिए क्रमशः ३१ NW NW (एनडब्ल्यू धूप, डिफ़ॉल्ट परत), ३५५, परत, + २ respectively५। सनलाइट्स के साथ ३ पहाड़ियों की छवियों को मर्ज करने की आवश्यकता है। यह विवरण और लालित्य को बढ़ाता है, जैसा कि नीचे दिखाया गया है। पूर्ण गैर-जीआईएस विवरण यहां है

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

किसी भी srtm फ़ाइल का उपयोग करके, 3 प्रारंभिक पहाड़ियों के माध्यम से किया जा सकता है:

gdaldem hillshade input.tif hillshades_A.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_B.tmp.tif -s 111120 -z 5 -az 355 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_C.tmp.tif -s 111120 -z 5 -az 275 -alt 60 -compute_edges

जवाबों:


9

लिंक किए गए स्रोत में "इसके फ्यूजन मोड को <Multiply>" में बदलने का उल्लेख है , इसलिए ऐसा करने के लिए ऑपरेशन एक साधारण औसत इनपुट हिलशैड नहीं है (इसके लिए, यह भी देखें कि gdal_hillshades औसत कैसे करें? )। यह कुछ और है। फिर भी, आइए 3 अलग-अलग धूप-दिशाओं की पहाड़ियों को बनाएं:

gdaldem hillshade input.tif hillshades_A.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_B.tmp.tif -s 111120 -z 5 -az 355 -alt 60 -compute_edges
gdaldem hillshade input.tif hillshades_C.tmp.tif -s 111120 -z 5 -az 275 -alt 60 -compute_edges

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

ए, बी, सी का न्यूनतम मूल्य रखें

पहला एल्गोरिथ्म, हालाँकि मैं फ़िल्टर करने और सबसे गहरे पिक्सल्स रखने के लिए हूं, उर्फ ​​पिक्सल ए, बी, सीए बुलियन के बीच कम मूल्यों के साथ कर सकते हैं:

gdal_calc.py -A hillshades_A.tmp.tif  -B hillshades_B.tmp.tif -C hillshades_C.tmp.tif --outfile=./hillshades_xl.tmp.tif \
   --calc="(A*(A<=B)*(A<=C)+ B*(B<A)*(B<=C)+ C*(C<A)*(C<B))"

छाया द्वारा वर्चस्व वाला क्षेत्र अब एक केंद्रीय लिग्नेट के विपरीत पक्ष से अधिक है, यह प्रत्येक तरफ 40 side की वृद्धि हुई है। दिए गए लिंक के अनुसार नहीं, यह वर्तमान एल्गोरिथ्म बहुत अधिक प्रबुद्ध क्षेत्र को खो देता है।

के कोण 315±30⁰(छोटे कोण भिन्नता) बल्कि यह कि वर्तमान 315±40⁰अच्छा करेगा।

नीचे दिए गए आरेख समीकरण का आधार है। यह प्रत्येक भाग में पिक्सेल मान A, B, C के लिए प्रकाश स्रोत A, B, C और बूलियन तुलना दिखाता है। समानता रेखाओं को बूलियन में शामिल करने के लिए एक विशेष ध्यान देने की आवश्यकता होती है। मध्य रेखा 221में लंबवत प्रकाश स्रोत का मान होता है। प्रभाव के क्षेत्रों के बारे में सोचें , प्रकाश का निकटतम स्रोत मुख्य प्रभाव है, और सबसे कमज़ोर प्रभाव सबसे दूर है।

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

A, B, C के लिए चरम मान रखें

एक अन्य बूलियन एल्गोरिथ्म सबसे चरम मूल्यों को रखने के लिए हो सकता है, सबसे गहरे और सफेद पिक्सल दोनों। निम्नलिखित आरेख बूलियन सूत्र के बारे में बात करने में मदद करता है। सर्कल के प्रत्येक छठे के लिए, यह ए, बी, सी और बूलियन से त्रिकोणीय क्षेत्र का चयन करने के लिए और दक्षिणावर्त समानता रेखा, और केवल यही मान रखने के लिए मूल्य की पहचान करता है । यह (ऊपर और दक्षिणावर्त से) देता है:

--calc="A*(A>B)*(A>=C) + C*(C>A)*(A>=221) + B*(C>A)*(C>=221) + A*(A<B)*(B<=221) + C*(B>A)*(A<=221) + B*(B>A)*(C<=221)"

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

यदि कोण भिन्नता बहुत महत्वपूर्ण नहीं है, तो यह अच्छे परिणाम दे सकता है।

अन्य बूलियन

आप सीमावर्ती खंडों के किसी भी संयोजन का उपयोग करके पूरे मंडल को कवर करने के लिए अधिक जटिल बूलियन बना सकते हैं। यह महत्वपूर्ण है कि ए, बी, सी में से केवल एक मूल्य एक खंड के लिए रखा गया है।

गुणा

मैंने एक सिद्ध फार्मूला और न ही अंतिम सफलता के बिना पिक्सेल मूल्यों के लिए कई कठिन प्रयासmultiply किए। @Radouxju ने कहा कि (a*b*c)^(1/3)(GEOMETRIC माध्य) ARITHMETIC माध्य के बजाय (a*b*c)/(255*255)काम कर सकता है। ज्यामितीय माध्य कम या अंकगणित माध्य के बराबर है, जो छायांकित क्षेत्रों के अंधेरे को व्यक्त करता है। मैंने अभी तक इसका परीक्षण नहीं किया है।


मैंने अपने वैचारिक सीखने को समग्रता से समझने की कोशिश की और कोई इसे कैसे कस्टम कर सकता है। "गुणा" करने का असली फॉर्मूला मेरे लिए अज्ञात है।
हगोलपेज़ '

क्यों न केवल मूल्यों को गुणा करें और परिणामों को फिर से देखें?
whuber

कोशिश नहीं की है! कौन सा सूत्र यह करेगा (A*B*C)/(255*255)?
हगोलपेज़

1
वह एक अच्छी शुरुआत होगी :-)।
whuber

1
ARITHMETIC माध्य के बजाय GEOMETRIC माध्य का उपयोग करके "गुणा" नहीं किया जाता है। (a b c) ^ (1/3)। ज्यामितीय माध्य कम या अंकगणित माध्य के बराबर है, जो छायांकित क्षेत्रों के अंधेरे को व्यक्त करता है।
राडौक्सु

0

Gdal_calc के numpy है लगता है और अधिक ऑपरेटरों :

+ addition 
- subtraction 
/ division 
* multiplication 
= equals to 
< less than 
> larger than 
! not equal to 
? if clause 
M maximum of two values 
m minimum of two values 
B bit level operator

विदेशी संचालकों का उपयोग कैसे किया जाना चाहिए, इसके लिए मुझे स्पष्ट और उचित उदाहरण नहीं मिले हैं। यदि आपके पास कुछ है, तो बेझिझक साझा करें।


0

ऐसा उपकरण जो यह कर सकता है (दूसरों के बीच) स्काई-व्यू फैक्टर बेस्ड विज़ुअलाइज़ेशन ( http://iaps.zrc-sazu.si/en/svf#v )। एक इलाके के कई मापदंडों की गणना करें। लानत है अच्छी।

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