2013-05-23 22 views
5

मैं पैकेज/get_map कार्यक्षमता (नीचे कोड देखें) ggplot2 के साथ संयोजन में, पूरी दुनिया का एक साधारण रास्टर मानचित्र प्राप्त करने का प्रयास कर रहा हूं। ज़ूम स्तर केवल "3" की ओर जाते हैं, और आगेदुनिया के ggmap मानचित्र का उपयोग

यह रूप में ggmap विवरण में दर्ज दुनिया के नक्शे प्राप्त करने के लिए (असंभव लगता है ज़ूम आउट करने की अनुमति नहीं देते:। ("maps of the whole world currently not supported") शायद समझ क्यों यह की कमी के कारण संभव नहीं है/समर्थित है, क्या कोई नक्शा नक्शा देखने के लिए एक कार्य-आसपास/वैकल्पिक समाधान है?

प्रश्न पर संपादित/अद्यतन: मैंने सुझाए गए विश्व मानचित्र का उपयोग करने की कोशिश की है - लेकिन किसी कारण से मैं नहीं करता 'टी समझ में क्यों यह मुझे ग्राफ में बिन्दु की अनुमति नहीं है (जो मूल उद्देश्य था, और ggmap में काम करता है) -। लग रहा है कि मैं कुछ बेवकूफ कर रहा हूँ/बुनियादी गलती कर रहा त्रुटि संदेश मिलता है "Error in eval(expr, envir, enclos) : object 'group' not found"

संपादित दुर्भाग्य से मैं OpenStreetMap (जावा त्रुटि का उपयोग कर एक त्रुटि संदेश मिलता है। इसे ठीक करने पर काम करना - लेकिन गैर अंकों के समाधान बहुत अच्छे होंगे ...)

संक्षेप में - ggmap दृष्टिकोण geom_point के साथ काम करता है, लेकिन मुझे पूरा विश्व मानचित्र नहीं मिल सकता है। worldmap दृष्टिकोण से काम करना चाहिए, लेकिन किसी कारण से अंक साजिश नहीं मिल सकता है ..... नीचे प्रति

नए कोड:

ggmap दृष्टिकोण:

library(ggmap) 
library(ggplot2) 

reclat=c(50,20,30,40) 
reclong=c(30,40,30,50)   
points=as.data.frame(cbind(reclat,reclong)) 

al1 = get_map(location = 'Europe', zoom = 3, color="bw",maptype = "satellite") 
map = ggmap(al1) 
map 

#this works 
map+geom_point(data=points, aes(x=reclong, y=reclat, colour="red")) 

worldmap दृष्टिकोण:

world <- map_data("world") 
worldmap <- ggplot(world, aes(x=long, y=lat, group=group)) + 
    geom_path() + 
    scale_y_continuous(breaks=(-2:2) * 30) + 
    scale_x_continuous(breaks=(-4:4) * 45) 

#this works 
worldmap + geom_point(aes(50, 30, colour="red")) 

#this doesnt work 
worldmap + geom_point(data=points, aes(x=reclong, y=reclat, colour="red")) 
+0

जांच यह पता: http://stackoverflow.com/questions/16028659/plots-on-a-map-using-ggplot2/16054062#16054062 – JT85

+0

इसकी दिसम्बर 2016 अब न्यूनतम ज़ूम कारक ज़ूम है = 2, यह आपको दुनिया का पूर्वी/पश्चिमी गोलार्ध देता है। – knb

उत्तर

3

आप OpenStreetMap पैकेज है, जो कई अलग अलग नक्शा सर्वर तक पहुँच गया है की कोशिश कर सकते हालांकि नहीं GoogleMaps।

library(OpenStreetMap) 
library(ggplot2) 
map <- openmap(c(70,-179), 
       c(-70,179),zoom=1) 
map <- openproj(map) 


reclat <- c(50,20,30,40) 
reclong <- c(30,40,30,50)   
autoplot(map) + geom_point(aes(x=reclong,y=reclat)) 
+0

ggmap भी OpenStreetMap कार्यक्षमता लागू करता है, तो क्यों इस ggmap में अकेले नहीं किया जा सकता है? इसके अलावा, अपने उदाहरण कोड, नक्शे के संकल्प बहुत बुरा है का उपयोग करते हुए, मैं वहाँ है कि सुधार करने के लिए एक रास्ता है मान लेते हैं? – maj

+2

आप उच्च रिज़ॉल्यूशन के लिए ज़ूम बड़ा कर सकते हैं। पैकेज प्रासंगिक टाइल्स एक साथ सिलाई जाएगा। लेकिन यहां दो अतिरिक्त मुद्दे हैं। पहला यह है कि टेक्स्ट को मर्केटर निर्देशांक में देखने के लिए डिज़ाइन किया गया है, लंबे समय तक नहीं। यही कारण है कि OpenStreetMap डिफ़ॉल्ट रूप से लंबे अक्षांश में परिवर्तित नहीं होता है। दूसरा तरीका है कि ggplot2 (यानी ग्रिड) रास्टर्स प्रस्तुत करता है। किसी कारण से यह आधार के रूप में उतना अच्छा प्रतीत नहीं होता है। साजिश (मानचित्र) और ऑटोप्लॉट (मानचित्र) के बीच अंतर देखें। –

संबंधित मुद्दे