একটি সীমানা বাক্সে রাস্টার মান গণনা করুন (স্থানিক পরিমাণ)


11

একটি বাউন্ডিং বাক্স দেওয়া, আমি কীভাবে নির্দিষ্ট মানগুলির সংখ্যা গণনা করতে পারি (বলুন, আমি সংখ্যায় আগ্রহী value == 1) 1 তে একজন রাস্টারে আরকি বা 2) আর-তে রাস্টার প্যাকেজটি?

উত্তর:


10

ইন R, cropমানগুলি বের করতে এবং ( যেমন ) tableএগুলি গণনা করতে ব্যবহার করুন।


উদাহরণস্বরূপ, আসুন 1 ডিগ্রি গ্রিডটি গ্লোবকে কভার করুন:

library(raster)
x.raster <- raster(outer(179:0, 0:359, `+`), xmn=-180, xmx=180, ymn=-90, ymx=90)

সীমাবদ্ধ বাক্সটি extentব্যবহারের জন্য একটি অবজেক্টে রূপান্তরিত হয়েছে crop:

y.extent <- extent(cbind(c(-125,20), c(-60,50)))
y.raster <- crop(x.raster, y.extent)

এটি করার পরে, সারণিটি সোজা:

table(getValues(y.raster))

এই আউটপুটে প্রথম সারিতে মানগুলি তালিকাভুক্ত করে এবং দ্বিতীয়টি তাদের সম্পর্কিত গণনাগুলি তালিকাভুক্ত করে:

165 166 167 ... 257 258
  1   2   3 ...   2   1

একটি চেক হিসাবে আমরা রাস্টার এবং এর পরিমাণ প্লট করতে পারি:

plot(x.raster)
plot(y.extent, add=T)

মানচিত্র


3

একটি সামান্য সংযোজন: আপনি (মেমরি-নিরাপদ) ফাংশন "ফ্রিক" ব্যবহার করতে পারেন:

হুবহু দ্বারা উত্তর অনুসরণ:

library(raster)
x.raster <- raster(outer(179:0, 0:359, '+'), xmn=-180, xmx=180, ymn=-90, ymx=90)
y.extent <- extent(cbind(c(-125,20), c(-60,50)))
y.raster <- crop(x.raster, y.extent)

তবে এখন করুন:

freq(y.raster)

এটি কেবলমাত্র খুব বড় বস্তুর জন্য (ফাইলটিতে রাস্টার) গুরুত্বপূর্ণ। 'ফ্রিক' একটি দ্বি-কলামের ম্যাট্রিক্স (মান / গণনা) প্রদান করে যেখানে 'টেবিল' একটি সারণী দেয়।


ছবিটি কাটানোর পরিবর্তে কি কেবল স্থানিক জিজ্ঞাসা করা যায়? ক্রপিং প্রক্রিয়াজাতকরণের জন্য খুব ধীর হতে পারে।
— দেখা হয়েছে

1
ফসল তোলা খুব দ্রুত হওয়া উচিত। পরীক্ষা হিসাবে, আমি cropপৃথিবীতে এক মিনিটের গ্রিডটি coveringেকে রাখার জন্য অপারেশন করেছিলাম : এটির 10800 সারি এবং 21600 কলাম (233,280,000 কোষ) রয়েছে। ফসলটি মোট সময় অতিবাহিত সময়ে 1.36 সেকেন্ডে কার্যকর করা হয়েছিল।
— হোবার

আমিও মনে করি এটা ফাস্ট হওয়া উচিত, কিন্তু আপনার এই স্থানিক ক্যোয়ারী দিয়ে উপরে তুলনা পারে: v <- extract(x.raster, y.extent) দ্বারা অনুসরণ table(v)
— রবার্ট Hijmans

1
রবার্ট, কোন পাঠাগারটি extractএসেছে? এটি অংশ নয় rasterএবং Rসহায়তা সিস্টেম ( ??) এই নামে কোনও ফাংশন খুঁজে পায় না।
— হোবার

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