首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用ggmap绘制路由。route()没有检索到正确的坐标吗?

无法使用ggmap绘制路由。route()没有检索到正确的坐标吗?
EN

Stack Overflow用户
提问于 2018-05-27 16:14:45
回答 1查看 410关注 0票数 3

我试图在ggmap中绘制路线,但它们无法显示在地图上。在我看来,路由得到的坐标是错误的。我用geom_leg和geom_path都试过了。示例如下:

代码语言:javascript
复制
mainroute2 <- route(from = c("39.951", "-75.173"),  # I tried with point and
               to = c("39.954","-75.195"),            # comma separator
               alternatives = FALSE, structure = "route")

 map2 <- get_map(
    location = c(lon=-75.16662, lat=39.95258), # painfully picked by hand
       source = "google", zoom = 13, maptype = "roadmap")


ggmap(map2) + geom_path(
       aes(x = lon, y = lat ),
       alpha = 3/4, size = 1, color = "black", data = mainroute2
      )

我已经尝试了很多qmap,qmap,geom_path,geom_leg的选择和组合。一切都失败了。上周我做到了,但现在我做不到了!

此外,当您使用ggplot绘制mainroute2时(或者如果您用肉眼查看它),您会看到经度坐标105,这是没有意义的,因为路线应该是从"39,951","-75,173“到"39,954","-75,195”。

请帮帮我!

编辑:问题已回答。坐标必须是单个折叠的char元素,而不是向量c(lat,lon)。(我还将我的坐标编辑为点分隔符,而不是逗号分隔符,这也立即被指出)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-27 17:55:10

我在你的代码中发现了两个问题。

Prob#1:route函数的 From/to参数应为名称或逗号分隔的纬度和经度。

Prob#2:使用,作为小数点分隔符。可能与您系统的区域设置不匹配。

更正后的代码:

代码语言:javascript
复制
library(ggmap)
mainroute2 <- route(from = "39.951,-75.173",  # lat,lon
                    to = "39.954,-75.195",      
                    alternatives = FALSE, structure = "route")

map2 <- get_map(
  location = c(lon=-75.16662, lat=39.95258), # painfully picked by hand
  source = "google", zoom = 13, maptype = "roadmap")

# color is changed to Red to make it visible clearly 
ggmap(map2) + geom_path(
  aes(x = lon, y = lat ),
  alpha = 3/4, size = 1.5, color = "red", data = mainroute2
) 

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50550257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档