किसी अन्य धागे में आपकी सहायता से मैंने कुछ वैश्विक मानचित्रों को साजिश करने में कामयाब रहा है। सबसे पहले मैं मौसम विज्ञान जीआरबीबी 2 डेटा को Netcdf में परिवर्तित करता हूं और फिर वैश्विक मानचित्रों को साजिश करता हूं।आर फसल रास्टर डेटा और सेट अक्ष सीमा
अब मैं मानचित्र के केवल एक सबगरीय प्लॉट करना चाहता हूं। मैंने फसल कमांड की कोशिश की है और वैश्विक एनसी फाइल के उप-वर्ग को सफलतापूर्वक निकाला है। लेकिन जब मैं साजिश लेता हूं तो मुझे अक्ष सीमाओं को नियंत्रित करने का तरीका नहीं मिल सकता है। यह डेटा क्षेत्र से बड़ा नक्शा प्लॉट करता है ताकि दोनों तरफ बड़ी सफेद रिक्त स्थान दिखाई दे सकें।
यह स्क्रिप्ट मैं नक्शे
library("ncdf")
library("raster")
library("maptools")
DIA=format(Sys.time(), "%Y%m%d00") # Data d'avui
url=sprintf("ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.%s/gfs.t00z.pgrb2f00", DIA) # Ruta del ftp
loc=file.path(sprintf("%s",url))
download.file(loc,"gfs.grb",mode="wb")
system("/usr/bin/grib2/wgrib2/wgrib2 -s gfs.grb | grep :TMP: | /usr/bin/grib2/wgrib2/wgrib2 -i gfs.grb -netcdf temp.nc",intern=T)
t2m <- raster("temp.nc", varname = "TMP_2maboveground")
rt2m <- rotate(t2m)
t2mc=rt2m-273.15
DAY=format(Sys.time(), "%Y%m%d") # Data d'avui
e=extent(-40,40,20,90)
tt=crop(t2mc,e)
png(filename="gfs.png",width=700,height=600,bg="white")
rgb.palette <- colorRampPalette(c("snow1","snow2","snow3","seagreen","orange","firebrick"), space = "rgb")#colors
plot(tt,col=rgb.palette(200),main=as.expression(paste("Temperatura a 2m ",DAY," + 00 UTC",sep="")),axes=T)
dev.off()
है कि इस निर्गम प्लॉट करने के लिए उपयोग कर रहा हूँ है।
यह एक सरल एक हो गया है, लेकिन मैं एक साधारण आर प्रयोक्ता हूँ। अग्रिम में धन्यवाद।
संपादित करें: xlim = c (-40,40), ylim = c (20,90) जोड़ते समय नया आउटपुट सुझाए गए अनुसार। ऐसा लगता है कि यह समस्या को ठीक नहीं करता है। लेकिन आउटपुट पीएनजी फ़ाइल के एक्स, वाई आकार के साथ खेलना वादा करता है क्योंकि मैं मानचित्र को फिट करने के लिए आकार समायोजित कर सकता हूं। निश्चित रूप से इसे एक और समाधान होना चाहिए, सही मुझे नहीं मिल सकता है।
बस अपने 'plot' आदेश, जैसे के लिए एक' xlim' और एक 'ylim' जोड़ें:आप
latticeExtra::layer
प्रक्रिया अपनाते हैं, तो आप इस कोड के साथ एक समान परिणाम प्राप्त कर सकते हैं 'प्लॉट (...., xlim = c (-10,30), ylim = c (30, 80)) 'और रास्ते से अच्छी साजिश, +1 –शायद googleVis पैकेज पर नज़र डालें। यकीन नहीं है कि यह मदद करेगा लेकिन यह बहुत साफ है। इसमें तीव्रता मैप, जियोमैप और मानचित्र फ़ंक्शन शामिल हैं जो शायद मदद कर सकते हैं। –
हाय @ साइमन ओ 101 यह फसल को देखने से पहले मेरा पहला प्रयास था, यकीन नहीं कि दोनों की कोशिश की गई है। काम पर नहीं, कोशिश करेंगे। आपका बहुत बहुत धन्यवाद। – pacomet