উত্তর:
এখানে একটি উদাহরণ।
library(raster)
# example data
x <- raster(system.file("external/test.grd", package="raster"))
আয়তক্ষেত্রাকার সীমা পেতে
e <- extent(x)
# coerce to a SpatialPolygons object
p <- as(e, 'SpatialPolygons')
এমন বহুভুজ পেতে যা কোষগুলিকে ঘিরে থাকে যা এনএ নয় surround
# make all values the same. Either do
r <- x > -Inf
# or alternatively
# r <- reclassify(x, cbind(-Inf, Inf, 1))
# convert to polygons (you need to have package 'rgeos' installed for this to work)
pp <- rasterToPolygons(r, dissolve=TRUE)
# look at the results
plot(x)
plot(p, lwd=5, border='red', add=TRUE)
plot(pp, lwd=3, border='blue', add=TRUE)
r > -Inf
মৌলিক R
। কি c(1,NA,3,NA) > -Inf
দেখতে কিভাবে এটি কাজ করে। আমি একটি বিকল্প যুক্ত করেছি ( reclassify
)। আপনার বিকল্পগুলি কাজ করে তবে বড় বস্তুর পক্ষে এটি ভাল নয়।
rasterToPolygons()
অংশটি প্রক্রিয়া করার জন্য অপেক্ষা করছি এবং তারপরে আমি আপনার উত্তরটি মূল্যায়ন করব। -Inf
বিট এটি খুব কার্যকর হতে চলেছে জন্য ধন্যবাদ !
aggregate
সেক্ষেত্রে আপনি প্রথমে ব্যবহার বিবেচনা করতে পারেন কারণ আপনি যেভাবে কোনও পার্থক্য দেখতে পাবেন না।
aggregate()
অন টি চালানোর পরে কেবল 100 টি কক্ষ থাকলেও এটি প্রক্রিয়াজাত হয়নি (16 গিগাবাইট র্যামযুক্ত কম্পিউটার সজ্জিত)। সমস্যাটি হ'ল আমি যতটা পারি পারি ততটুকু সীমানা রাখা দরকার, যেহেতু ফলস্বরূপ বহুভুজ থেকে কোনও ডিইএম বের করা দরকার। আমি যদি আমার রাস্টারটিকে আরও নিচে-নমুনা করি তবে আমি সেই সীমাটি looseিলা করব। আশেপাশে কোন কাজ?
r <- r > -Inf
অংশটি নথিভুক্ত খুঁজে পেতে পারে না । এটা ঠিক কি করছে? এবং এটির থেকে কতটা আলাদা (এটিvalues(r)[!is.na(values(r))] <- 1
সমস্ত অবস্থান নির্ধারণ করে যা এন থেকে 1 এ নয়)।