একটি পুনরায় মডেল অর্থোফোটোর ওভারভিউয়ের নোডাটা অঞ্চলটি সাদা করে তুলবেন?


9

আমার কাছে অर्थোফোটো চিত্রগুলির একটি সেট রয়েছে যা প্রতিটিই সম্পূর্ণ ডেটা দিয়ে পূর্ণ হয় তবে একসাথে রাখলে কভারেজটি একটি আয়তক্ষেত্র গঠন করে না তাই নোডাটা অঞ্চল রয়েছে।

ম্যাপগুইডে, আমার এই নোডটা অঞ্চলগুলি সাদা হিসাবে প্রদর্শন করতে সক্ষম হওয়া দরকার যাতে আমার ব্যবহারকারীদের মুদ্রণের সময় কালো কালি নষ্ট করতে না হয়।

বড় আকারে, যেখানে আমি আসল সম্পূর্ণ রেজোলিউশন চিত্রগুলি সরাসরি প্রদর্শন করি, এটি কোনও সমস্যা নয়। আমি সবেমাত্র আমার মানচিত্রের পটভূমির রঙ সাদা করে দিয়েছি এবং যে জায়গাগুলিতে কোনও অर्थোফোটো নেই তারা ব্যাকগ্রাউন্ডটি প্রদর্শন করে।

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

আমি জিডিএলকে সংক্ষিপ্তসার ও সংক্ষিপ্তসারটি পুনরায় নমুনার জন্য ব্যবহার করার চেষ্টা করছি, তবে ডিফল্টরূপে এটি নোডাটা অঞ্চলে কালো রঙের সাথে পুনরায় আকারযুক্ত সংমিশ্রিত জিওটিআইএফএফ টাইল তৈরি করতে দেখা গেছে এবং ম্যাপগুইড আমাকে রঙিন রেস্টারগুলিতে স্বচ্ছ হিসাবে কালো সেট করতে দেয় না।

আমি যা চাই তা দক্ষতার সাথে পাওয়ার জন্য আমার কি উপায় আছে?

আমি জিডিএল ব্যবহার করে শেষ করেছি উত্তরটি দিয়েছি, তবে অন্যান্য চিত্র প্রক্রিয়াকরণ ইউটিলিটি এবং জিআইএস অ্যাপ্লিকেশনগুলি, ওপেন সোর্স এবং মালিকানা উভয়ই ব্যবহার করে সমাধানগুলি দেখতে পছন্দ করব।

উত্তর:


15

এই সমস্যাটি মোকাবেলার জন্য আমার পক্ষে সহজতম উপায় হ'ল জিডিএল ভার্চুয়াল ফর্ম্যাটটি ব্যবহার করা । এই ফর্ম্যাটটি আমাকে চিত্রের পুরো সেটটিকে একটি একক চিত্রের অবজেক্ট হিসাবে বিবেচনা করতে এবং অপেক্ষাকৃত সহজ ধাপে তিনটি রূপান্তর করতে দেয়।

ভার্চুয়াল ডেটাসেট তৈরি করা হচ্ছে

জিডিএএলএল ( তমাস সিসেকেরেসের জিআইএসআইএনটার্নালস উইন্ডোজ বাইনারি এবং ওএসজিও 4 ডাব্লু এর সাম্প্রতিক সংস্করণ সহ) গডালবিল্ডভ্র্ট নামে একটি ইউটিলিটি রয়েছে যা প্রাথমিক ভার্চুয়াল ডেটাসেট তৈরি করতে ব্যবহার করা যেতে পারে।

এটি ব্যবহারের একটি সহজ উপায় হ'ল আপনার সমস্ত চিত্র কোনও পাঠ্য ফাইলে যুক্ত করা এবং তারপরে সেই পাঠ্য ফাইলটি gdalbuildvrt এ ইনপুট হিসাবে ব্যবহার করুন। এখানে একটি উদাহরণ রয়েছে (আপনাকে দ্বিতীয় কমান্ডটি একটি লাইনে ফিরিয়ে দিতে হবে):

dir /b *.tif > my_images.txt
gdalbuildvrt 
  -hidenodata 
  -vrtnodata "255 255 255" 
  -resolution highest 
  -input_file_list my_images.txt 
  my_image.vrt

এটি আপনাকে একটি এক্সএমএল ফাইল ছেড়ে দেবে যা আপনি সমস্ত জিডিএল অপারেশনের জন্য একক চিত্র হিসাবে বিবেচনা করতে পারবেন। এটি অভ্যন্তরীণভাবে নোডাটাকে সাদা হিসাবে উপস্থাপন করে তবে সেখান থেকে পড়া পঠন থেকে নোডাটা সংজ্ঞাটি আড়াল করে।

পুনরায় মডেল করা ওভারভিউ তৈরি করা হচ্ছে

এরপরে, আপনি ওভারভিউ চিত্রটির পুনরায় মডেলিং এবং আউটপুট সম্পাদন করবেন। আপনি gdal_translate বা gdalwarp এর মাধ্যমে এটি করতে পারেন । এর যে কোনওটির জন্য মনে রাখবেন যে ফলাফলের আকারটি হবে width * height * 3(8 বিট ব্যান্ডের সংখ্যা) বাইট। এটি যদি 4 গিগাবাইটের চেয়ে বড় হয়, আপনি বিগটিআইএফএফকে আপনার আউটপুট হিসাবে উল্লেখ করার জন্য সিনট্যাক্সের জন্য জিওটিআইএফএফ বিকল্পগুলি দেখতে চান ("বিগটিআইএফ = ইয়েস")।

Gdal_translate এর জন্য আপনাকে হ্যান্ডি gdalinfo কমান্ডটি ব্যবহার করে ভার্চুয়াল চিত্রটির মাত্রা নির্ধারণ করতে হবে । এই মাত্রাগুলি নিন এবং পিক্সেলগুলিতে আপনার ফাইলের আউটপুট প্রস্থ এবং উচ্চতা নির্ধারণ করতে কিছু ধারাবাহিক উপাদান দ্বারা প্রতিটি ভাগ করুন divide

কমান্ডটি দেখতে কিছুটা (এক লাইনে) দেখাবে:

gdal_translate
  -outsize 53120 14000
  -co "TILED=YES"
  -co "PROFILE=GEOTIFF"
  -co "BLOCKXSIZE=256"
  -co "BLOCKYSIZE=256"
  my_image.vrt
  my_image.tif

জিডালওয়ার্পের জন্য, আপনাকে ফলস্বরূপ পিক্সেলসাইজটি জানতে হবে; এই ক্ষেত্রে আমি .5 মিটার ব্যবহার করছি। আপনি পুনরায় মডেলিং পদ্ধতিতে কল করতে চাইবেন। আমি অরথোফোটো ওভারভিউয়ের জন্য কিউবিকস্প্লাইন পছন্দ করি। এটি নরম, তবে আপনি এটিকে পুরো রেজোলিউশনে ব্যবহার করছেন না এবং আপনি যদি জেপিইজি বা ইসিডব্লিউ জাতীয় কিছু ব্যবহার করেন তবে আমার অভিজ্ঞতায় এটি আরও সংকোচনের চিত্র তৈরি করে।

gdalwarp 
  -r cubicspline 
  -of GTiff 
  -dstnodata "255 255 255" 
  -tr 0.5 0.5 
  -co "PROFILE=GEOTIFF" 
  -co "BIGTIFF=YES" 
  -co "TILED=YES" 
  -co "BLOCKXSIZE=256"
  -co "BLOCKYSIZE=256"
  my_image.vrt 
  my_image.tif

আপনি এই পুনরায় মডেল জিওটিআইএফএফ সংক্ষিপ্তসারগুলির জন্য জেপিইজি সংক্ষেপণ বিকল্পগুলি ব্যবহার করে বিবেচনা করতে পারেন; এটি আউটপুট ফাইলকে যথেষ্ট পরিমাণে সঙ্কুচিত করে ( ফ্রাঙ্ক অনুসারে ) কেবলমাত্র একটি প্রান্তিক পারফরম্যান্স পেনাল্টি দিয়ে।

  -co "COMPRESS=JPEG" 
  -co "JPEG_QUALITY=80" 
  -co "PHOTOMETRIC=YCBCR"

সার্বিক অবস্থা

আপনি অভ্যন্তরীণ "পিরামিডস" তৈরির জন্য ফলাফলযুক্ত চিত্রের উপরে হ্যান্ডি জিডালাদ্ডো কমান্ডটি চালাতে চান , যাতে সম্পূর্ণ চিত্রের মাত্রাগুলির চেয়ে কম রেজোলিউশনের জন্য অনুরোধগুলি ডেটার একটি উপসেটের সাথে পূরণ করা যায় met কর্মক্ষমতা বৃদ্ধি বেশিরভাগ ক্ষেত্রে ডিস্কের জায়গার চেয়ে বেশি। আপনি এখানে যে স্তরগুলি ব্যবহার করেন সেগুলি নিয়ে আপনি খেলতে চাইবেন; খুব বড় ছবিগুলির জন্য আপনি কিছু ড্রপ করতে সক্ষম হতে পারেন। Gdaladdo কমান্ডটি এরকম কিছু দেখায়:

gdaladdo 
  -r average 
  my_image.tif 
  2 4 8 16 32 64 128 256

আমি সর্বোত্তম পারফরম্যান্সের জন্য এই স্তরের সাথে পরীক্ষার পরামর্শ দেব। আপনি দেখতে পাচ্ছেন যে আপনার আবেদনের জন্য একটি ভিন্ন পুনর্নির্মাণের ব্যবধানটি আরও ভাল বা আপনার চিত্রের আকারের উপর ভিত্তি করে, আপনি কিছু উচ্চতর নম্বর ফেলে দিতে পারেন (বা আরও বেশি প্রয়োজন)

এছাড়াও, আপনি যদি কোনও বাহ্যিক ওভারভিউ উত্পন্ন করে থাকেন (-ro বিকল্পটি ব্যবহার করে) JPEG সংক্ষেপণ কনফিগারেশন লাইন যুক্ত করার বিষয়টি বিবেচনা করুন:

  --config COMPRESS_OVERVIEW JPEG 
  --config PHOTOMETRIC_OVERVIEW YCBCR 
  --config INTERLEAVE_OVERVIEW BAND 

(আমি বিশ্বাস করি যে এগুলি এম্বেড করা ওভারভিউয়ের জন্য পিতামাত্তর জিওটিআইএফএফ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত)

মন্তব্য

যখন এই সমস্যার মুখোমুখি হয়েছি তখন আমি #gdal চ্যানেলে freenode.irc.net- এ জিজ্ঞাসা করেছি। এটি একটি আশ্চর্যজনক সম্পদ, এবং আমাকে এটির জন্য সাহায্য করার জন্য আমি হাওয়ার্ড বাটলার, ফ্র্যাঙ্ক ওয়ারমারডাম এবং এমনকি রাউল্টের প্রতি পুরোপুরি indeণী।


সম্পূর্ণ হওয়ার জন্য, সময় নেওয়ার জন্য আপনাকে ধন্যবাদ, এবং আমি নিশ্চিত যে সময়টি এসেছিল, পুরো কর্মপ্রবাহকে coverাকতে এবং প্রশ্নের নির্দিষ্ট উত্তর দেওয়া নির্দিষ্ট নির্দিষ্টটি নয়।
ম্যাট উইলকি

1
এটি দেখতে আকর্ষণীয় হবে যে gdalsetnull.py ভিআরটি-র কাজ করে কিনা , তারপরে "একটি টেক্সট সম্পাদকে ভিআরটি ফাইল সম্পাদনা করুন, <নোডাটাভ্যালু /> সত্তা যুক্ত করা" অপ্রয়োজনীয় হবে।
ম্যাট উইলকি

1
@ ম্যাট উইলকি, এটি অবশ্যই এই সাইটের জন্য রচনা রচনা এবং ফর্ম্যাটিংয়ের একটি সামান্য বিষয় ছিল, তবে আমি আমার ব্লগে আরও বড় ওয়ার্কফ্লোয়ের অংশ হিসাবে এটিকে আগে আবৃত করেছিলাম: জেসনবিরচ.com / nodes / 2009 / 08 / 11 / 290 / fwtools- ftw-gdal এই পরামর্শটি অবশ্যই চেষ্টা করার মতো!
জেসনবার্চ

সাধারণ উইন্ডোজ সেন্টিমিডি নোট: ^কার্যকর করার সময় যুক্ত হওয়া লাইন ব্রেকের জন্য ক্যারেট ব্যবহার করুন (উদাহরণস্বরূপ ^, প্রতিটি অক্ষর এবং রান-ক্ষমতা উভয় রাখতে উপরে প্রতিটি কোড লাইনের উদাহরণের শেষে যুক্ত করুন )। গুরুত্বপূর্ণ সতর্কতা: আপনি কোনও মেমরি গ্রহণ
কোনও কার্টের

3

হ্যাঁ, তবে ট্রায়াল এবং ত্রুটির মাধ্যমে আমি নির্ধারণ করতে সক্ষম হয়েছিলাম - ভার্টনোডাটা 255-এ সমস্ত কিছুকে সাদা রঙে নোডাটা হিসাবে চিহ্নিত করার প্রভাব রয়েছে , কেবল মানচিত্রের বাইরে নয়, যা gdal2ائل তারপরে -a পতাকা অনুসারে আলফা স্বচ্ছতার সাথে আচরণ করে।

সুতরাং আপনি আপনার উত্স চিত্রটির কিছুটা স্বচ্ছতে সেট করেছেন, আমার ক্ষেত্রে ড্যাশড রাস্তার সাদা অংশ। এটি টার্মিনাল নয় তবে এটি ভিআরটি-র মূল ভিওডের ফলস্বরূপ বা ওয়ার্পের ফলস্বরূপ, "নো এসসিআর চিত্র নয়" বর্ণটি জিডাল টপাইলগুলিতে নির্দিষ্ট করতে সক্ষম হবেন তা নিশ্চিত। আমার সেট জন্য ফ্যাকাশে নীল একটি ছায়া ঠিক জিনিস হবে।

আরও পরীক্ষার পরেও ত্রুটির পরে মনে হচ্ছে হিডেনোডটা হ'ল চাবিকাঠি। আমি জানি না কেন এই সরঞ্জামগুলি এত ন্যূনতমভাবে ডকুমেন্টেড হয়। আমার জন্য কি কাজ করে, gdal 1.8।

gdalbuildvrt test.vrt -vrtnodata "209 231 245" -hidenodata BX*.tif BY*.tif
gdal2tiles -p raster -s nztm.prj test.vrt out

এছাড়াও gdal কাছাকাছি ব্ল্যাক ইউটিলিটি gdal.org/program/nearblack.html দেখুন , যা কেবল চিত্রের প্রান্তের চারপাশে পিক্সেলগুলি আচরণ করে এবং
মাঝারিটিকে

0

আমি জিডিএল-এর সাথে খুব বেশি পরিচিত নই, তবে আমি অনুমান করি যে কোনও পদ্ধতি বা কমান্ড পাওয়া যায় যেখানে আপনি অন্য মানের সাথে নির্দিষ্ট মানের একটি পিক্সেল সেট করতে পারেন?

এটির সাথে কিছুই করার নেই, তবে সাধারণ এসকিউএল এর মতো কিছু (কেবল উদাহরণস্বরূপ - এটি আরও সিউডো কোড):

আপডেটের রাস্টার এসইটি পিক্সেল = 255 যেখানে পিক্সেল = নোটাটা;

আমি উত্তর জানতে চাই!


জিডিএল-তে আপনার সিউডোকোডের অনুরূপ পদ্ধতিতে প্রসেস করার সময় অন্যান্য রঙের সাথে রঙগুলি প্রতিস্থাপনের জন্য বেশ কয়েকটি পদ্ধতি এবং নিকটব্লাক নামে একটি স্ট্যান্ডলোন ইউটিলিটি অন্তর্ভুক্ত রয়েছে যা আপনাকে সংকোচনের নিদর্শনগুলি সহ চিত্রের প্রান্তগুলি পরিষ্কার করতে এবং পছন্দসই হলে সাদা করার সুযোগ দেয়। এগুলির মধ্যে আমি সেই সময়ে যে পরিমাণ ডেটা নিয়ে কাজ করেছিলাম তার সাথে ভাল কাজ হয়নি।
জেসনবার্চ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.