স্থানিক এসপি ডেটা হ'ল এস 4 শ্রেণি অবজেক্ট এবং স্লট (@ ব্যবহার করে ডাকা হয়) দিয়ে গঠিত যা স্থানিক বৈশিষ্ট্য শ্রেণীর উপাদানগুলি উপস্থাপিত হয়ে থাকে (যেমন, @ ডাডায় বৈশিষ্ট্য রয়েছে, @ সেকর্ডগুলি স্থানাঙ্ক জোড়া যুক্ত করে ইত্যাদি ইত্যাদি)। স্লটনাম () ব্যবহার করে আপনি শীর্ষ স্তরের স্লট নামগুলি ফিরিয়ে দিতে পারেন তবে এটি পুনরাবৃত্ত হয় না এবং বহুভুজ শ্রেণীর অবজেক্টের জন্য নেস্টেড স্লট নামগুলি ফেরত দেয় না। প্রতিটি স্লটে একটি পৃথক অবজেক্ট শ্রেণি থাকতে পারে এবং এটি চালনার আগে, str () বা শ্রেণী () ব্যবহার করে পরীক্ষা করা উচিত। @ ডেটা স্লট সর্বদা ডেটা.ফ্রেম অবজেক্ট এবং @ কোর্ডস একটি ম্যাট্রিক্স যেখানে @ পলিগনগুলি অতিরিক্ত স্লট (ল্যাবপেট, অঞ্চল, গর্ত, রিংডির এবং কর্ড) সহ একটি তালিকা অবজেক্ট।
তাদের মধ্যে উপলভ্য স্লট এবং সংগঠনটি কী ধরণের বৈশিষ্ট্য শ্রেণীর প্রতিনিধিত্ব করা হচ্ছে তার উপর নির্ভরশীল। স্প্যাটিয়ালপয়েন্টস ডেটা ফ্রেম অবজেক্টগুলি সর্বাধিক বেসিক, যেখানে স্প্যাটিয়ালপলিজোনস ডেটা ফ্রেম অবজেক্টগুলিতে বাসা বেঁধে রয়েছে (উপরে দেখানো হয়েছে)। প্রতিটি বহুভুজকে উপস্থাপন করে এই নেস্টেড কাঠামোটি প্রতিটি তালিকার অবজেক্টে (বহুভুজ) চালনার জন্য সপ্পল জাতীয় কিছু ব্যবহার করার জন্য গণনা করতে হবে।
এখানে একটি উদাহরণ রয়েছে যা "বহুভুজ" এর পরে পুনরায়, নেস্টেড, "অঞ্চল" স্লট (গুলি) এর মাধ্যমে পুনরাবৃত্তি করে প্রতিটি বহুভুজের জন্য অঞ্চলটি ফেরত দিতে সাপ্লাই ব্যবহার করে।
sapply(slot(sdat, 'polygons'), function(i) slot(i, 'area'))
বহুভুজ বস্তুর ক্ষেত্রে, যেহেতু তারা প্রতিটি বহুভুজের জন্য একটি তালিকা হিসাবে সংরক্ষণ করা হয়, আপনি বিকল্পভাবে তালিকা সূচকটি ব্যবহার করতে পারেন। এখানে প্রথম বহুভুজটি ফিরিয়ে দেওয়ার জন্য একটি উদাহরণ দেওয়া হয়েছে (যার ফলে "বহুভুজ" শ্রেণি অবজেক্ট হয় এবং স্প্যাটিয়ালপলিজোনস ডেটা ফ্রেম নয়):
sdat@polygons[[1]]
এসপির আরও সাম্প্রতিক সংস্করণগুলিতে বিকাশকারীরা শুরু হয়েছে, কিছু ক্ষেত্রে, @ ডেটা স্লটকে সরাসরি কল করার প্রয়োজনীয়তা সরিয়ে ফেলে।
উদাহরণস্বরূপ, আপনাকে আগে @ ডেটা সূচীকরণ করতে:
sdat@data[sdat@data$att >= 0.5 ,]
এবং এখন:
sdat[sdat$att >= 0.5 ,]
যাইহোক, পূর্বে উল্লিখিত হিসাবে, এটি অন্যান্য স্লটগুলির ক্ষেত্রে নয় (যেমন, স্থানাঙ্ক, বহুভুজ, ইত্যাদি ...)। যতক্ষণ পর্যন্ত ব্যবহার করা যায় [] বা $ এটি এখনও অপারেশনের ধরণের উপর নির্ভরশীল। "[]" ব্র্যাকেটগুলি ডেটাফ্রেমে একটি নাম কল করতে ব্যবহৃত হতে পারে তবে প্রাথমিকভাবে ইনডেক্সিংয়ের জন্য ব্যবহৃত হয় যেখানে specifically বিশেষভাবে ডেটা ফ্রেমের কলামে কল করতে ব্যবহৃত হয়। কোনও কলামের নামে "অপ্রত্যক্ষ" কল কাজ করে যে বিকাশকারীরা স্পট অবজেক্টের মাধ্যমে পুনরাবৃত্ত অনুসন্ধানের জন্য অনুমতি দিতে কার্যকারিতা যুক্ত করেছে। তবে নামের দ্বন্দ্ব এড়াতে (যেমন আপনার উদাহরণ হিসাবে; আপনার ডেটাফ্রেমে এক্স, ওয়াই কলামগুলি এক্স কোডের সাথে যুক্ত হবে, y কোডের নাম ম্যাট্রিক্স নামগুলিতে) কিছু অভ্যন্তরীণ ধারাবাহিকতা যাচাই করে যে এটি কেবল কিছুতে কেন কাজ করে? দৃষ্টান্ত।
একটি সুবিধাজনক বৈশিষ্ট্য হ'ল আপনি একটি সারি সূচক মাধ্যমে একটি স্থানিক বস্তু সাবসেট করতে পারেন। এখানে আমি প্রথম 10 অবজেক্ট সাবসেট করছি am
sub.sdat <- sdat[1:10,]
অথবা, বিকল্পভাবে, একটি সারি সূচক ভেক্টর ব্যবহার করে একটি এলোমেলো নমুনা (n = 10)।
rs.sdat <- sdat[sample(1:nrow(sdat), 10),]
ইনডেক্সিং এবং ব্র্যাকেটগুলি কীভাবে ব্যবহার করা যায় তা বোঝা আর কোড লেখার ক্ষেত্রে একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়।
সম্পাদনা (03/24/2017): দয়া করে নোট করুন যে জিওজেএসএন স্ট্যান্ডার্ড অনুসরণ করে সাধারণ বৈশিষ্ট্য (এসএফ) শ্রেণিটি আরে স্থানিক অবজেক্টের জন্য সম্ভবত নতুন মান হয়ে যাবে the আপনি সিআরএএন এসএফ এ এই শ্রেণীর বিশদ বিবরণ পড়তে পারেন ওয়েবসাইট আর জন্য সহজ বৈশিষ্ট্য ।
R
এটি সিনট্যাক্স সম্পর্কে সত্যই একটি প্রশ্ন , এটিsp
প্যাকেজ বা এর বিষয়গুলির জন্য বিশেষ নয় ।R
টিউটোরিয়াল দিয়ে ইনস্টল করা আছে: আপনার গবেষণার মাধ্যমে সেখানে শুরু করুন। ওয়েব এবং প্রিন্ট মিডিয়া শেখার জন্য প্রচুর অতিরিক্ত সংস্থান সরবরাহ করেR
।