خريطة الخلفية المفقودة GGMAP (باستثناء استخدام جهاز PDF)

StackOverflow https://stackoverflow.com/questions/19840647

  •  29-07-2022
  •  | 
  •  

سؤال

أنا أستخدم مكتبة GGMAP في R لإنتاج خريطة لمنطقة أتلانتا. عند تشغيل الكود ، يمكنني الحصول على نقاط رسم على الخريطة وكذلك الطبقات الأخرى ، لكنني غير قادر على الحصول على الخريطة نفسها للطباعة في أي جهاز رسومات غير PDF. أظن أن مشكلة التكوين لأنني قادر على استخدام هذا الرمز على جهاز كمبيوتر مختلف دون مشكلة ، لكن ماكينات أخرى تعرض ببساطة مؤامرات فارغة.

فيما يلي نسخة مخفضة من الكود. أفترض أن مؤامراتي الفارغة لن تكون قابلة للتكرار ، لكنني آمل أن أحصل على بعض التوجيهات حول مكان وجود مشكلة التكوين.

library('ggplot2')
library('ggmap')
library('mapproj')

# ggmapTemp.png gets saved to the working directory correctly
atlanta <- get_map(location=c(lon=-84.26039,
                              lat=33.8751),
                   zoom=9,maptype='roadmap')

atlantaMap <- ggmap(atlanta, extent = 'device', legend = 'topleft')

# this produces a blank plot from both RStudio as well as R
atlantaMap

# this produces the actual map correctly
pdf("plot.pdf")
atlantaMap
dev.off()

# this produces a png file with only a white background
png("plot.png")
atlantaMap
dev.off()

معلومات الجلسة:

R version 2.15.3 (2013-03-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] mapproj_1.2-1    ggmap_2.3        ggplot2_0.9.3.1  maps_2.3-6       maptools_0.8-27 
 [6] sp_1.0-14        car_2.0-19       reshape2_1.2.2   plyr_1.8         Revobase_6.2.0  
[11] RevoMods_6.2.0   RevoScaleR_6.2.0 lattice_0.20-13  rpart_4.1-0     

loaded via a namespace (and not attached):
 [1] codetools_0.2-8     colorspace_1.2-4    dichromat_2.0-0     digest_0.6.3        foreach_1.4.0      
 [6] foreign_0.8-52      grid_2.15.3         gtable_0.1.2        iterators_1.0.6     labeling_0.2       
[11] MASS_7.3-23         munsell_0.4.2       nnet_7.3-5          png_0.1-6           proto_0.3-10       
[16] RColorBrewer_1.0-5  RgoogleMaps_1.2.0.5 rjson_0.2.13        RJSONIO_1.0-3       scales_0.2.3       
[21] stringr_0.6.2       tools_2.15.3   

والقدرات:

jpeg      png     tiff    tcltk      X11     aqua http/ftp  sockets   libxml     fifo   cledit 
TRUE     TRUE     TRUE     TRUE    FALSE    FALSE     TRUE     TRUE     TRUE    FALSE     TRUE 
iconv      NLS  profmem    cairo 
TRUE     TRUE     TRUE     TRUE 
هل كانت مفيدة؟

المحلول

تتعلق المشكلة بالخادم الذي يحد من عمق البت الذي يتم تمريره عبر الاتصال. وحي يوثق المشكلة والحل على موقعهم:

في جلسة سطح المكتب عن بُعد ، يتم تحديد جميع متغيرات البيئة ، بما في ذلك متغيرات العرض التي تحدد عمق اللون ، بواسطة إعدادات اتصال RCP-TCP. على سبيل المثال ، يمكن للمستخدمين تقليل عمق اللون عند الاتصال عبر اتصال بطيء. الإعدادات المختلفة هي 15 بت ، 16 بت ، 24 بت ، أو 32 بت لكل بكسل. لرفع عمق لون سطح المكتب البعيد:

على خادم Windows ، قم بتشغيل تكوين مضيف جلسة سطح المكتب عن بُعد من قائمة الملحقات. ضمن الاتصالات ، انقر بزر الماوس الأيمن على RDP-TCP وحدد الخصائص. في علامة التبويب إعدادات العميل ، إما فك ارتباط عمق لون LimitMaximum أو قم بتعيينه على 32 بت لكل بكسل.

عند إلغاء تحديد خانة الاختيار "الحد الأقصى لعمق اللون" وإعادة الاتصال بالخادم ، تظهر خلفيات الخريطة النقطية الآن كما هو متوقع. لاحظ أنها توفر أيضًا الخيار 2 وهو الإخراج إلى جهاز بديل.

نصائح أخرى

يبدو أن Jrshrenk لم يتم تحديث R والحزم منذ فترة. على الرغم من أن إصداراتك نظرية من R و GGMAP و PNG و GGPLOT2 تبدو كافية:

    Package: ggmap
    Version: 2.4
    Depends: R (>= 2.14.0), ggplot2 (>= 0.9.2)
    Imports: proto, scales, RgoogleMaps, png, plyr, reshape2, grid, rjson,
            mapproj, jpeg, geosphere, digest
    Suggests: MASS, stringr
        License: GPL-2
        NeedsCompilation: no

    Package: png
    Version: 0.1-7
    Depends: R (>= 2.9.0)
    License: GPL-2 | GPL-3
    NeedsCompilation: yes

سأحاول فقط تحديث R والحزم لمعرفة ما إذا كان يحل المشكلة:

#Save your current packages but not the base ones:
savepackages <- rownames(installed.packages(priority='NA')) 
write(savepackages, file="listpackages.txt")

#Check for Updates of R
library(installr)
check.for.updates.R(notify_user = TRUE, use_GUI = TRUE,
                    page_with_download_url = "http://cran.rstudio.com/bin/windows/base/",
                    pat = "R-[0-9.]+-win")

#Download and Install New Version
install.R(page_with_download_url = "http://cran.rstudio.com/bin/windows/base/",
          pat = "R-[0-9.]+-win.exe", to_checkMD5sums = TRUE,
          keep_install_file = TRUE, download_dir = tempdir(), silent = FALSE)

#Then reinstall packages 
pkg.ls <- read.table("listpackages.txt")
install.packages(pkg.ls)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top