আর: একটি বড় ডিএম ডাউনলোড করুন, প্রজেকশন পরিবর্তন করুন এবং আরও ছোট স্কেলের সাথে সামঞ্জস্য করুন


11

এটি এমন একটি প্রক্রিয়া যা জিআইএস সফ্টওয়্যারটিতে কয়েক সেকেন্ড সময় নেয়। আর-তে এটি করার চেষ্টা আমার প্রচুর পরিমাণে স্মৃতি ব্যবহার করে ব্যর্থ হয়। আমার কোডে কিছু ভুল আছে, নাকি এটি আর কিছু করতে পারে না? আমি পড়েছি আর গ্রাসের ভিতরে আর কাজ করতে পারে, আমি কি আর এর ভিতর থেকে গ্রাস ফাংশন ব্যবহার করতে পারি?

library(raster)

# I have many environmental rasters in this format
new_r <- raster(ncol=615, nrow=626, xmn=-156.2, xmx=-154.8, ymn=18.89, ymx=20.30)
res(new_r) <- 0.00225
projection(new_r) <- "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs +towgs84=0,0,0"

R> new_r ### not too big with a few hundred cells per side
class       : RasterLayer 
dimensions  : 627, 622, 1  (nrow, ncol, nlayers)
ncell       : 389994 
resolution  : 0.00225, 0.00225  (x, y)
projection  : +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs +towgs84=0,0,0 
extent      : -156.2, -154.8, 18.89, 20.3  (xmin, xmax, ymin, ymax)
values      : none

# I get the DEM at much higher resolution (zipfile is 182Mb)
zipurl <- "ftp://soest.hawaii.edu/coastal/webftp/Hawaii/dem/Hawaii_DEM.zip"
DEMzip <- download.file(zipurl, destfile = "DEMzip")
unzip("DEMzip", exdir = "HIDEM")
HIDEM <- raster("HIDEM/hawaii_dem")

R> HIDEM ### 10m resolution, file is way too big
class       : RasterLayer 
dimensions  : 15067, 13136, 1  (nrow, ncol, nlayers)
ncell       : 197920112 
resolution  : 10, 10  (x, y)
projection  : +proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0 
extent      : 179066, 310426, 2093087, 2243757  (xmin, xmax, ymin, ymax)
values      : HIDEM/hawaii_dem 
min value   : 0 
max value   : 4200 

# the following line fails (after a long time)
new_HIDEM <- projectRaster(HIDEM, new_r)

শুধু কৌতূহল, আপনি যে প্যাকেজটি ব্যবহার করছেন তা কী?
ডিজেকিউ

@ এসেনিয়াস: এই প্যাকেজটি বলা হয়raster
জে উইন।

উত্তর:


9

উত্সটির দিকে আমার নজর rasterথেকে অনুমান করা যায় যে যদি ডেটাসেট মেমরির সাথে ফিট করে এবং যদি তা হয় তবে মেমরিটিতে অপারেশন সম্পাদন করুন, অন্যথায় ডিস্কে। আপনি এটিকে গণ্য করতে বাধ্য করতে পারেন স্পষ্টভাবে সেট করে chunksize(একসাথে প্রসেস করার জন্য কোষ) এবং maxmemory(মেমরিতে পড়তে সর্বাধিক সংখ্যক কোষ):

setOptions(chunksize = 1e+04, maxmemory = 1e+06)

বিকল্পভাবে, আপনি সরাসরি জিডিএল দিয়ে রূপান্তর সম্পাদন করতে পারেন:

gdalwarp -t_srs '+proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0' HIDEM/hawaii_dem hawaii_dem_utm.tif

এটি সম্ভবত দ্রুততম বিকল্প হবে এবং এটি পরিষ্কারভাবে কোনও জিআইএস পরিবেশ স্থাপনের প্রয়োজন নেই।


এটি এটি করেনি, তবে এটি করেছে: setOptions(chunksize = 1e+04, maxmemory = 1e+06)সময় আট মিনিট, সত্যিকারের জিআইএস ইনস্টল করতে ও ব্যবহার করতে লাগে তার থেকে অনেক কম।
জে উইন

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

1
জিডটিওয়ার্ফ থেকে জিওটিআইএফএফ থেকে জিওটিআইএফএফ-এ জিপিটিএফ-তে (লসলেস) সংক্ষেপণ এবং টাইলিং (256x256 এ ডিফল্ট) যুক্ত করা ভাল ধারণা: -কো কমপ্রেস = এলজেডব্লু-কোটি টাইল্ড = হ্যাঁ
এমডিএসএমনার

আমি রবার্ট হিজম্যানস কেস সম্পর্কে জানাতে দিয়েছি। একটি ছোট ডিইএম এ, ডিফল্ট সেটিংসটি সর্বোত্তম-কাছাকাছি থাকে, তাই এটি এখন পর্যন্ত একটি রহস্য।
জে উইন

মহান! এটি আমাকে একটি (3 জিবি) নেটসিডিএফ দিয়ে একটি রাস্টারলিয়ার রফতানি করার অনুমতিও দিয়েছিল writeRaster
ডেভিড লেবাউর

3

আর আর ঘাসের মধ্যে সংহতকরণের জন্য আপনি স্প্যাগ্রাস 6 প্যাকেজটিও ব্যবহার করতে পারেন । লেখক হলেন রজার বিভান্ড (এসপি এর লেখক)

এই প্যাকেজের সম্পূর্ণরূপে আর এর অভ্যন্তরে ঘাস চালানোর জন্য অনেকগুলি কার্যকারিতা রয়েছে (বা বিপরীতে) এবং আর এবং ঘাসের মধ্যে ডেটা বিনিময় করে

আরও তথ্যের জন্য: http://cran.r-project.org/web/packages/spgrass6/index.html


1

ওহে,

তাঁর একটি প্রক্রিয়া যা জিআইএস সফ্টওয়্যারটিতে কয়েক সেকেন্ড সময় নেয়। আর এ করার জন্য আমার প্রয়াসটি> বড় পরিমাণের স্মৃতি ব্যবহার করে ব্যর্থ হয়।

আপনি আপনার প্রশ্নের উত্তর দিয়েছেন, গ্রাস বা জিডিএল এ করুন এবং অন্য কাজের জন্য আর ছেড়ে দিন।


1
সম্পূর্ণতার জন্য: আরে ঘাস চালানোর জন্য আপনার বিস্তৃত প্যাকেজটির দিকে নজর দেওয়া উচিত
johanvdw

1
এবং তৃতীয় বিকল্পটি হ'ল সাগা গিস। একটি মডিউল আছে (আরএসএজিএ) যা সাগা এবং আর কে সংযুক্ত করে
johanvdw

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