স্বচ্ছ পাহাড়ের সৃষ্টি?


34

আমি সংমিশ্রণ মাধ্যমে মার্জিত স্বচ্ছ hillshades পেতে gdalএবং convert। সাধারণত ব্যবহৃত ধূসর-ভিত্তিক হিলশ্যাডের সাথে তুলনা করুন, এ জাতীয় স্বচ্ছ হিল শেডগুলি খুব দুর্দান্ত কারণ এগুলি মানচিত্রের পটভূমি এবং অন্যান্য উপরের স্তরগুলির মধ্যে স্থাপন করা যেতে পারে (রাস্তা, বাইডিং) কোনও 3D প্রদানের জন্য পটভূমির ধরন এবং রঙ যাই হোক না কেন অনুভূত হয়।

কিভাবে এটা কাজ করে

কৌশলটি: উত্পাদিত ধূসর স্কেল হিলশ্যাড দিয়ে শুরু gdal hillshadeকরে কৌতুকটি ধূসর চ্যানেলের মানগুলি নেওয়া, প্রতিটি মান উল্টে দেওয়া এবং এই ফলাফলটিকে একটি নতুন অস্বচ্ছ চ্যানেলে প্রবাহিত করা। কালো পিক্সেল [0,0,0] হয়ে [0,0,0,255] (অস্বচ্ছতা = 255), ধূসর পিক্সেল [120,120,120] কম হয়ে [120,120,120,135] (অস্বচ্ছতা = 135, ওরফে 255-120), সাদা পিক্সেল [255,255,255] স্বচ্ছ হয়ে উঠুন [255,255,255,0] (অস্বচ্ছতা = 0, ওরফে 255-255) ইত্যাদি। পাহাড়ের শেডগুলি অস্বচ্ছ এবং কালো , সমভূমি ক্রমশ স্বচ্ছ (সাদা) হয় । ধারণামূলকভাবে, পিক্সেলের ব্যান্ড সমীকরণটি এরকম কিছু:

alpha_value([0])    = 255-0 = 255;   // black pixels get full opacity
alpha_value([Grey]) = 255-Grey;
// grey pixels get 255-GreyValue opacity.
alpha_value([255])  = 255-255 = 0  // white pixels get null opacity !

ফটোশপ ডিজাইনার দ্বারা ব্যাখ্যা করা এই পদ্ধতির কোনও পিছনের ভিডিওর জন্য, ফটোশপের শ্যাডে ত্রাণ যোগ করা (16 মিনিট) দেখুন।

প্রশ্ন

একটি ETOPO গ্রহণ বা SRTM উদ্ভূত ধূসর-ভিত্তিক hillshade ( gdaldem hillshade crop_xl.tmp.tif shadedrelief.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges, ফাইল এখানে ডাউনলোড করতে পাওয়া ) ইনপুট হিসাবে ...

... জিডিএল বা অন্য কোন জিআইএস-ধ্বংসাত্মক উপায়ে যেমন .fif ফাইলগুলিতে কীভাবে শীর্ষটি উদ্ধৃত করবেন?

নোট করুন যে আমি জিআইএসের বৈশিষ্ট্যগুলি (জিওলোকালাইসেশন) রাখতে চাই।

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


1
কীভাবে রেফারেন্সিং ডেটা টিটে সংরক্ষণ করা হয় তার উপর নির্ভর করে এই টিফের সাথে যুক্ত ওয়ার্ল্ড ফাইলটির নামকরণের মতোই সহজ হতে পারে।
স্টিভ 19

@ স্টিভ: এটি রাস্টার থেকে যেমন এসআরটিএম বা ইটোপো থেকে তৈরি ফটিফ ফাইলগুলির জন্যgdaldem hillshade etopo_crop.tif shadedrelief.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges
হুগলপজ

আমি মনে করি gdal_tranlateএকটি সমন্বয় সঙ্গে -b ব্যান্ড , -mask ব্যান্ড , -expand আরজিবি | | ধূসর rgba একসঙ্গে witht সূত্র opacity=-(px_grey_value)+255যেতে উপায় হতে পারে, কিন্তু আমি কখনোই এখনও স্পর্শ ব্যান্ড এবং I'am বেশ পুনের।
হুগলপজ


স্থানাঙ্ক, কক্ষের আকার এবং রেফারেন্স সিস্টেমটি আবার লিখতে আপনি gdal_edit.py চেষ্টা করেছেন?
Radouxju

উত্তর:


42

বাদামের খোলা

নীচে 3 টি চিত্রের প্রতিটি সেট যেমন "ধূসর (ব্যান্ড) + ধূলিকণা (ব্যান্ড) = স্বচ্ছ ফলাফল" পড়তে হবে । সম্পর্কিত গিথুব হোস্টেড মেকফিলের মাধ্যমে আপনি কয়েক মিনিটের মধ্যে এই প্রক্রিয়াগুলি পরীক্ষা করতে পারেন । প্রক্রিয়া # 3 হ'ল আমি প্রস্তাব দিই, 170 এর (একটি দৃ strong় ছায়া রাখে) এবং 220 (সমস্ত ছায়া রাখে) এর মধ্যে একটি থ্রেশহোল্ড সহ recommend প্রক্রিয়াটিতে 3 টি শক্তিশালী ছায়া এবং উপলব্ধ এড়ানোর graying-দাঁত প্রভাব। ফলস্বরূপ স্তরের সামগ্রিক অস্বচ্ছতা প্রয়োজনীয় হিসাবে খাপ খাইয়ে নিন। সমীকরণ --calc="<equation>"সেইসাথে প্রয়োজন, ব্যবহার করা সম্ভব হবে gdal_calc

ফটোশপ ডিজাইনার দ্বারা ব্যাখ্যা করা এই পদ্ধতির কোনও পিছনের ভিডিওর জন্য, ফটোশপের শ্যাডে ত্রাণ যোগ করা (16 মিনিট) দেখুন।

পটভূমি

gdaldem hillshadeপিক্সেল মান পরিসীমা = [1-255] সহ একটি ব্যান্ড ধূসর স্কেল ফাইল উত্পাদন করে, সবচেয়ে গাl় ছায়া থেকে সর্বাধিক আলোকিত পিক্সেল পর্যন্ত aka সমতল অঞ্চলগুলির জন্য, px = 221 (#DDDDDD)। NoDataValueপিক্সেলগুলি ডিফল্ট নোডাটাভ্যালু পায় 0, এছাড়াও, ইনপুট এবং আউটপুটে সবচেয়ে গা black ় কালো হয় এবং হওয়া উচিত 1। কোনও ধরণের অস্পষ্টতা ব্যান্ড সংজ্ঞায়িত না করে, অস্বচ্ছতা 100%

gdaldem hillshade input.tif hillshade.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges

hillshade.tmp.tif

আমরা একটি দ্বিতীয় অপসিটি ব্যান্ডটি সংজ্ঞায়িত করতে এবং নিয়ন্ত্রণ করতে চাই!

উদ্দেশ্য

আমরা একটি গ্রেস্কেল ব্যান্ড চাই -b 1 , এটি হিলস্যাড। Gdal এর বাইরে এটি একটি ধূসর ব্যান্ড যা অবিচ্ছিন্ন পরিসীমা যেমন px = [1-255]। আমরা অ-প্রাসঙ্গিক অঞ্চলগুলি (# 2) কেটে ফেলতে পারি, বা এটি px = 1 এ কৃষ্ণ করতে পারি এবং অস্বচ্ছতা ব্যান্ডের উপর নির্ভর করতে পারি (# 3)।

আমরা একটি ওপাসিটি ব্যান্ড চাই -b 2 , সাধারণত হিলস্যাডের বিপরীততা বা এটির একটি সম্পর্কিত ফাংশন। আমরা অ-প্রাসঙ্গিক অঞ্চলগুলি কাটাতে পারি (# 2)। এটি অবশ্যই অবিরত অপসারণ যেমন পিএক্স = [1-255] হওয়া উচিত, অন্যথায় যার মধ্যে কোনও কমনীয়তা নেই।

gdal_calcইনপুট ফাইল এ, বি, সি ... থেকে পিক্সেলগুলিতে গণিতের ক্ষেত্রে ব্যবহার করা যেতে পারে এবং বুলিয়ান মান যেমন যেমন A<2201 (সত্য) বা 0 (মিথ্যা) প্রদান করে তা পরীক্ষা করতে পারে। এটি শর্তসাপেক্ষ ক্যালকুলাসের অনুমতি দেয়। শর্তটি মিথ্যা হলে সমীকরণের সম্পর্কিত অংশটি বাতিল করা হয়।

1. ধূসর পাহাড়শৈল স্বচ্ছ করে তুলেছে

নীচে gdal hillshadeক্রমবর্ধমান স্বচ্ছ হয়ে ওঠা স্ট্যান্ডার্ড গ্রে এবং হোয়াইট অঞ্চলগুলির সাথে একটি খুব ভাল দুটি-ব্যান্ডের ফলাফল সরবরাহ করে :

# hillshade px=A, opacity is its invert: px=255-A
gdal_calc.py -A ./hillshade.tmp.tif  --outfile=./opacity.tif --calc="255-A"
# assigns to relevant bands -b 1 and -b 2
gdalbuildvrt -separate ./final.vrt ./hillshade.tmp.tif ./opacity.tif

hillshade.tmp.tif # 1, অস্বচ্ছতা # 1, ফাইনাল.টিফ

২. সিউডো-ফসলের মাধ্যমে অপ্টিমাইজেশন (-বি 1 এবং -বি 2)

-b 1(গ্রেস্কেল) উপরের পিক্সেলগুলির 2/3 টি যখন অস্বচ্ছতা যুক্ত -b 2হয় তখন খালি চোখের কাছে অদৃশ্য হয়ে যায় , তবুও, এই পিক্সেলগুলি বিভিন্ন সাদা -b 1এবং নিম্ন বর্ণের অস্বচ্ছতার -b 2মান রাখে । এগুলি [255,1]আরও ভাল সংকোচনের হারের অনুমতি দিয়ে সমস্ত সাদা স্বচ্ছ পিক্সেল তৈরি করা যেতে পারে :

# filter the color band, keep greyness of relevant shadows below limit
gdal_calc.py -A ./hillshade.tmp.tif  --outfile=./color_crop.tmp.tif \
    --calc="255*(A>220) +      A*(A<=220)"
# filter the opacity band, keep opacity of relevant shadows below limit
gdal_calc.py -A ./hillshade.tmp.tif  --outfile=./opacity_crop.tmp.tif \
    --calc="  1*(A>220) +(256-A)*(A<=220)"
# gdalbuildvrt -separate ./final.vrt ./color_crop.tmp.tif ./opacity_crop.tmp.tif
# gdal_translate -co COMPRESS=LZW -co ALPHA=YES ./final.vrt ./final_crop.tif

# 2, রঙ.টিফ (ক্রপড) # 2, অস্বচ্ছতা # 2, চূড়ান্ত_ক্রপ

3. আরও -b 1 অপ্টিমাইজেশন (ক্রপ + ব্ল্যাকেন)

যেহেতু -b 2নির্ভর করার জন্য আমাদের একটি প্রগতিশীল ধাপ্পাবাণী ব্যান্ড রয়েছে, তাই আমরা -b 1পিক্সেলগুলি সাদা px = 255 এর মাধ্যমে 255*(A>220)বা কালো পিক্স = 1 এর মাধ্যমে তৈরি করতে পারতাম 1*(A>220)

gdal_calc.py -A ./hillshade.tmp.tif  --outfile=./color.tmp.tif \
   --calc="255*(A>220) + 1*(A<=220)"
# gdal_calc.py -A ./hillshade.tmp.tif  --outfile=./opacity_crop.tmp.tif \
#  --calc="  1*(A>220) +(256-A)*(A<=220)".
# gdalbuildvrt -separate ./final.vrt ./color.tmp.tif ./opacity_crop.tif
# gdal_translate -co COMPRESS=LZW -co ALPHA=YES ./final.vrt ./final.tif

# 3, color.tif # 2, অস্বচ্ছতা # 3, ফাইনাল.টিফ

এই ফলাফল শক্তিশালী ছায়া দেখায় ।

ফল

সমভূমির পূর্বের ধূসর অঞ্চলগুলি এবং সম্পর্কিত অযাচিত তবে সর্বব্যাপী ধূসর-বিবর্ণ প্রভাবটি সরিয়ে দেওয়ার জন্য তাত্ক্ষণিক উদ্দেশ্যে একটি স্বচ্ছ হিলস্যাড তৈরি করুন । উইশড বাই প্রডাক্ট হ'ল চূড়ান্ত ভিজ্যুয়াল পণ্যের উপর একটি বর্ধিত নিয়ন্ত্রণ। বর্ণিত প্রক্রিয়াটি সবচেয়ে ধূসর এবং সমস্ত সাদা পিক্সেল সরান। রঙিন পটভূমি প্লেইন ইমেজটি তার পছন্দসই রঙগুলি রাখবে যখন স্বচ্ছ থেকে কালো পাহাড়ের ছায়ায় .ুকে পড়ে কেবল ছায়াযুক্ত অঞ্চলগুলি অন্ধকার হয়ে যাবে। প্রক্রিয়াটির তুলনা # 2 (বাম) এবং নীচে # 3 (ডান)।

ওভারভিউ:

প্রক্রিয়া # 2 (বাম) এবং # 3 (ডান) এর সাধারণ তুলনা view

জুম, দয়া করে ছায়াগুলি লক্ষ্য করুন (পরে বনাম এর আগে):

প্রক্রিয়া # 2 (বাম) এবং # 3 (ডান) এর তুলনা, বিশদ বিবরণ।

আরও অনুকূলিতকরণ ations

সাদা অঞ্চল : 3 ডি বোধ বাড়ানোর জন্য কেউ সর্বাধিক আলোকিত অঞ্চল রাখার ইচ্ছাও করতে পারে। এটি আক্ষরিক ক্ষুদ্র প্রান্তিক পরিবর্তনগুলির সাথে এই বর্তমান পদ্ধতির প্রতিসাম্য হতে হবে, তারপরে gdal_calc এর মাধ্যমে উভয় আউটপুটগুলিকে একীভূত করবে। সমতলটি হবে 100% স্বচ্ছ, অন্ধকার ছায়া এবং হালকা আলোকিত অঞ্চল অস্বচ্ছ a

স্মুথিং: আরও ভাল ফলাফল পাওয়ার জন্য ইনপুট হিলশ্যাড প্রাক-স্মুটেড হতে পারে, গ্রাস ব্যবহার করে স্মুথিং ডেম দেখুন?

সম্মিলিত হিলশ্যাড ( কম্পোজিট হিল শেড কীভাবে তৈরি করবেন? )।

বাম্পড হিলশ্যাড পাশাপাশি আকর্ষণীয় ( বিবরণ )

নোট

  • ফ্ল্যাট এলাকায় থ্রেশহোল্ড মধ্যে gdal hillshadeআউটপুট ফ্ল্যাট এলাকার চিহ্নিত px আকারে = 221 (#DDDDDD = [221.221.221]) হয়। এছাড়াও, পাহাড়ের পেক্সেক্স = 221 ছবিগুলিকে ইন-শ্যাডো slালু (এ <221) এবং ইন-লাইট slালু (এ> 221) পিক্সেলের মধ্যে ভাগ করে দেয়।
  • একজন প্রক্রিয়াকরণ থ্রেশহোল্ড px এ = [170-220] প্রমাণিত ভাল হিসাবে, এটা চোখ লক্ষণীয় ছায়া, যা নিজেদের সবে ত্রাণ এলাকার 15-35% জন্য দাঁড়ানো 100% কাছাকাছি রাখে।
  • ফাইলসাইজ> সংক্ষেপণ: # 1, # 2, # 3 এর বাইরে চূড়ান্ত.টিফটি কম্প্রেশন ছাড়াই ~ 1.3MB, তারপরে সংক্ষেপণের পরে ~ 0.3-0.16MB, 80% সাশ্রয়!
  • ফাইলসাইজ> ক্রপিং: # 1 -326 কেবি থেকে, ফসলের রঙ এবং অস্বচ্ছতা (# 2) 310 কেবি, কালো রঙ (# 3) 160 কেবিতে পাবেন। পিএক্স = 220 এবং আমার ইনপুট প্রান্তিকের সাথে ফাইলাইজে ক্রপিংয়ের প্রভাব 5 থেকে 50% হ্রাসের মধ্যে রয়েছে।

2
উত্সাহিত +1 স্বাগত।
হুগলপজ

2
টিউটোরিয়াল সমাপ্ত। আমার ইংরাজী ভেঙে যেতে পারে, উন্নতি করতে নির্দ্বিধায়।
হুগলপজ

3
আপনার নিজের নিজের উত্তর দেওয়ার সময় এই থ্রেডটি হিলশ্যাডিং সম্পর্কিত অনেক প্রশ্নের উপর স্পর্শ করে একটি দুর্দান্ত টিউটোরিয়াল। সাবাশ!
কার্স্টেন

আপনার টিউটোরিয়ালটি কেবল কাজ। মহান কাজ. আপনি কি দয়া করে আমার প্রশ্নের উত্তরটি এখানে বিবেচনা করতে পারেন ? এই জাতীয় জিওটিআইএফএফ, আলফা ব্যান্ড সহ গ্রেস্কেল জন্য .ovr তৈরি করা সম্ভব?
স্যান্ডথর্ন

1
হ্যালো @ স্যান্ডথর্ন, এর প্রতি আমার ভালবাসা সত্ত্বেও আমি এই ক্ষেত্রে আর নেই। উত্তরটি খুঁজে পেতে ব্যয় সম্ভবত আপনার জন্য 2018-এর চেয়ে আমার বেশি হবে 2018 আশা করি আমার জিনিসগুলি আপনার সমস্যার জন্য সঠিক দিক নির্দেশ করবে!
হুগলপজ

7

অন্যান্য স্তরগুলির সাথে একত্রিত হওয়ার জন্য নন-গ্রে ক্যানভাসের একই ফলাফলটি পাওয়ার আরও একটি উপায় হ'ল জিডিএলডেমের 'সম্মিলিত' বিকল্প।

এটি একটি opeাল এবং পাহাড়ের ছায়া পরিবেশন করে এবং একটি অপারেশনে দুটি সংযুক্ত করে। 0 টি opeালের ক্ষেত্রগুলি সাদা। 90 ডিগ্রি slালের অঞ্চলগুলি opeালের ছায়ার জন্য কালো, কিছুটা আলোকসজ্জা পাহাড়ের স্তর দ্বারা যুক্ত করা হয়েছে।

gdaldem hillshade -combined -compute_edges infile outfile.tif

তারপরে এটি অন্যান্য স্তরগুলির উপর 'ড্রপ' করতে একটি বহুগুণ স্তর মিশ্রণ মোড ব্যবহার করুন।

স্ট্যান্ডার্ড / কম্বাইন্ড হিল শেডিং

স্ট্যান্ডার্ড হিলশ্যাডিং

মিশ্রিত শেডিংকে ওএসএম বেস স্তরটির সাথে গুণিত করা হয়েছে (প্রায় 50% অস্বচ্ছতা) মিশ্রিত শেডিং ওএসএম বেস স্তর দিয়ে গুণিত হয়েছে


2

gdal+ convertভিত্তিক কর্মপ্রবাহ

এখানে একটি gdal+ convertসমাধান রয়েছে যা ভাল ভিজ্যুয়াল ফলাফল দেয়। এই সমাধানটির সমস্যা হ'ল convertভৌগলিক তথ্যগুলি ধ্বংস করে যা আপনাকে তারপরে পুনরুদ্ধার করতে হবে। এটি চালানোর ক্রিয়া সংখ্যা বাড়ায়।

# Basic crop
gdal_translate -projwin 67 35.92 99 5 ../data/noaa/ETOPO1_Ice_g_geotiff.tif crop_xl.tmp.tif
# Grey-based hillshade
gdaldem hillshade crop_xl.tmp.tif shadedrelief.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges
# create a transparent hillshade:
convert shadedrelief.tmp.tif -fuzz 7% -fill "#FFFFFF" -opaque "#DDDDDD"  whited.jpg # makes all grey values white to lighten the filesize
convert whited.jpg -alpha copy -channel alpha -negate +channel trans.png # <=== TRICK HERE.
# Restore georeferencing & reproject            
gdal_translate -a_ullr 67 35.92 99 5 trans.png trans.tmp.gis.tif
gdalwarp -s_srs EPSG:4326 -t_srs ESPG:3857 ./trans.tmp.gis.tif ./trans_reproj.tmp.gis.tif
# Compress from 11MB to 2MB:
gdal_translate -co COMPRESS=LZW -co ALPHA=YES ./trans_reproj.tmp.gis.tif ./trans.gis.tif

কমান্ড 4 ব্যাখ্যার জন্য, দেখুন: https://stackoverflow.com/a/23018544/1974961

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.