-3.4e + 38 নোডা মানগুলির সাথে কী করবেন?


17

আমি কয়েকটি বায়োক্লিম্যাটিক রাস্টার ফাইলগুলি প্রক্রিয়া করার চেষ্টা করছি, যেমন http://www.worldclim.org/current (বায়োক্লিম সেট) থেকে ডাউনলোড করা যায় । তারা কিউজিআইএস -3.4e+38অনুসারে নোডা মান নির্ধারণ করেছে বলে মনে হয় (জিডালিনফোর আউটপুট দেখে, এটি -3.39999999999999996e+38)।

দেখে মনে হয় যে জিডিএল সরঞ্জামগুলি এই নোডাটা মানটি মোকাবেলা করতে সক্ষম নয় এবং কিউগিস এটিও স্বীকৃতি দিতে সক্ষম হবে বলে মনে হয় না। স্তর স্টাইলিং-এ, -3.4e + 38 এর জন্য 100% স্বচ্ছ সেট করা রয়েছে, তবে এটি এখনও এই জাতীয় মানগুলি প্রদর্শন করে, যদিও "বৈশিষ্ট্যগুলি চিহ্নিত করুন" বাছাইকারী তাদের মান -3.4e + 38 হিসাবে দেখায়।

আমি এর পরিবর্তে নোডাটা মানগুলিকে -9999 এ রূপান্তর করতে একটি ভিআরটি তৈরির চেষ্টা করেছি, তবে এটি কোনওভাবেই কার্যকর হয়নি।

ব্যবহারযোগ্য নোডাটার মানগুলি রাখার জন্য আমি এই জাতীয় ফাইলগুলি কীভাবে প্রক্রিয়া করতে পারি?

নোডা মানগুলি ফাইল থেকে নেওয়া হয়েছে স্বচ্ছতা নির্ধারণের কোনও প্রভাব নেই


মনে করা যায় নতুন সংস্করণে কুইগিসের আরও ভাল নোডাটা সমর্থন রয়েছে। আমার কাছে 1.8 নিয়ে অনেকগুলি "নোডাটা" সমস্যা ছিল (বিশেষত যখন আমি হিস্টগ্রামটি গণনা করার চেষ্টা করছিলাম বা কোনও অঞ্চলের মধ্য দিয়ে)।
nickves

উত্তর:


4

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

আপনি যদি জিডিএল ব্যবহার করে নোডাটা মান পরিবর্তন করতে চান তবে আপনি gdalwarp বা সম্ভবত gdal_translate ব্যবহার করতে পারেন এবং সেখান থেকে কোনও সংখ্যায় নোডাটা মান সেট করতে পারেন (যথাক্রমে -ststnodata এবং -a_nodata)। ইনস্যান্ট্যান্সের জন্য, অতীতে আমার 646 ফ্লাট রাস্টারটিতে আমার নোটাটা মান -999 নির্ধারণে সাফল্য পেয়েছে। যাইহোক, আমরা প্রতিষ্ঠিত করেছি যে এই বিষয়ে একটি ভাসমান পয়েন্ট সমস্যা আছে, আমি গ্যারান্টি দিতে চাই না যদিও এটি সব ক্ষেত্রেই কাজ করবে।


আপনার উত্তরের জন্য ধন্যবাদ, সিলভেস্টার। আমি কাজ gdal_translate ব্যবহার করছেন না পেতে পারে gdal_translate -a_nodata -9999 input.tif output.tif, যদিও gdalwarp -dstnodata -9999 input.tif output.tifকৌতুক করেনি। একটি 9 এমবি ইনপুট ফাইল থেকে, আমার পদ্ধতির ফলে 26MB ফাইল তৈরি হয়েছিল, যখন gdalwarp এর ফলে 52MB আউটপুট ফাইল আসে। তবে, যদি রাস্টারটিতে ভাসমান মান থাকে তবে আমার দৃষ্টিভঙ্গি যেখানে এটি করবে সেখানে কাজ করবে না।
rudivonstaden

এর জন্য কিউজিআইএস বাগ ট্র্যাকারে কোনও ওপেন টিকিট রয়েছে কিনা তা আপনি পরীক্ষা করেছেন?
আন্ডার ডার্ক

1
ডেটা ব্লাটটি বৃহত্তর পিক্সেল গভীরতার (-৩-বিট বনাম ১ 16 বিট, বলুন) ব্যবহারের কারণে হতে পারে বা মূলটি জেপিইজি হওয়ার কারণে এবং আপনার নতুন ফলাফল টিআইএফএফ হওয়ার কারণে হতে পারে। @unddark - দুঃখিত! না, আমি খালি টিকিট আছে কিনা তা পরীক্ষা করে দেখিনি।
ম্যাপ্পাগনোসিস

@unddark আমি এর সাথে মেলে এমন টিকিটটি খুঁজে পাইনি, তাই আমি একটি বাগ রিপোর্ট যুক্ত করেছি ( hub.qgis.org/issues/6786 )।
rudivonstaden

1
ছোট ফাইল আকারের জন্য, আপনাকে কেবল যুক্ত করতে হবে -co COMPRESS=LZW
j08lue

11

ফ্লোট 32 থেকে ডেটা ফর্ম্যাটটি ইনট 16 এ রূপান্তর করে আমি এই সমস্যার জন্য কাজ করতে সক্ষম হয়েছি। সর্বনিম্ন মানটি তখন -32768 এবং নোডাটা মান হিসাবে প্রক্রিয়া করা যায়। নিম্নলিখিত কমান্ডটি কৌশলটি করেছে:

gdal_translate -ot Int16 -a_nodata -32768 input.tif output.tif

এর চেয়ে সম্ভবত আরও ভাল সমাধান আছে তবে এটি আমার তাত্ক্ষণিক সমস্যাটি কমপক্ষে সমাধান করে।

নোডটা সঠিকভাবে তুলেছে


0

এই প্রশ্নের উত্তর সম্ভবত এই সমস্যাটিও সমাধান করবে: -3.40282347e + 38 এর নোডাটা পিক্সেলকে কিউজিআইএসে একটি পৃথক সংখ্যায় পরিবর্তন করা

সংক্ষেপে, আপনি মানগুলি পরিবর্তন করতে প্রক্রিয়াকরণ টুলবক্স থেকে r.null ব্যবহার করতে পারেন।


0

আপনি gdal_calc.py ইনপুট.টিফ --outfile = আউটপুট.টিফ - ক্যাল্ক = "এ * (এ> 0)" - নোডাটাভ্যালু = 0 চেষ্টা করে দেখতে পারেন

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