标签: ggmap

使用城市和州绘制ggmap

我有一张美国地图,准备出发:

mygggmap <- get_map(location = "United States", zoom = 4) g <- ggmap(myggmap)

下一步是绘制一些主要城市.

我知道我可以创建一个图层来绘制我的主要城市的经度和纬度,例如:
g <- g + geom_density2d(data = citydata, aes(x = lon, y = lat))

但我想知道是否有办法按实际名称,城市和州进行策划?由于ggmap是通过Google Map API分层的,这应该是可能的,对吗?

google-maps r ggplot2 ggmap

1
推荐指数
1
解决办法
3091
查看次数

使用R,ggmap和ggplot进行热图

我想在地图上绘制事件(旧金山).由于我的事件太多(800k点),我最终会出现过度绘图问题.因此,为了避免这种情况,我想制作二维密度以获得所需的洞察力.问题在于,虽然事件遍布地图,但geom_density2d仅显示了城市的一小部分区域.当然,预期的结果是覆盖几乎所有城市的密度.任何想法为什么会发生这种情况?

 a<-get_map("San Francisco",zoom=12,source='osm')

 ggmap(a,extent='device')+    geom_density2d(data=train,aes(x=X,y=Y))+  
 stat_density2d(data=train,aes(x=X,y=Y,fill=..level..,alpha=..level..),
                  geom='polygon')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

-------------------------------------------------- ------------

起初,@ ajrwhite感谢你的回答和态度.你也是对的,在处理这个大数据集时,你需要进行子集才能进行实验.就bin的数量而言,我认为像geom_density一样,内部计算最佳内核binwidth/bin数.看起来,在二维情况下,你必须自己调整它.

现在,我提到的问题是,我从未想过城市中的罪行会如此集中.这个发现很清楚,我的输出似乎是假的.事实证明,这个城市就是这种情况.这个人对这个数据集的各种可视化还有一个更详细的方法.

https://www.kaggle.com/mircat/sf-crime/violent-crime-mapping

最后,谢谢你的重定向.这个主题确实有广泛的涵盖.

r heatmap ggplot2 ggmap

1
推荐指数
1
解决办法
1245
查看次数

带地址的R地理编码

我有32K行地址,我必须找到长/纬度值.

我正在使用此处找到的代码.我非常感谢这个人创造它,但我有一个问题:

我想编辑它,以便如果循环遇到当前行地址的问题,它只是在Lat/Long字段中表示NA并移动到下一个.有谁知道如何实现这一目标?代码如下:

# Geocoding a csv column of "addresses" in R

#load ggmap
library(ggmap)

# Select the file from the file chooser
fileToLoad <- file.choose(new = TRUE)

# Read in the CSV data and store it in a variable 
origAddress <- read.csv(fileToLoad, stringsAsFactors = FALSE)

# Initialize the data frame
geocoded <- data.frame(stringsAsFactors = FALSE)

# Loop through the addresses to get the latitude and longitude of each address and add it to the
# origAddress data …
Run Code Online (Sandbox Code Playgroud)

geocoding r ggmap

1
推荐指数
1
解决办法
2906
查看次数

使用纬度和经度找出POI(2公里以内)

我有一个数据集,其中包含Zipcode以及lat和log.我想从该纬度和经度中找出医院/银行列表(2公里内).

怎么做?

Long/Lat数据看起来像

store_zip   lon lat
410710    73.8248981    18.5154681
410209    73.0907       19.0218215
400034    72.8148177    18.9724162
400001    72.836334     18.9385352
400102    72.834424     19.1418961
400066    72.8635299    19.2313448
400078    72.9327444    19.1570343
400078    72.9327444    19.1570343
400007    72.8133825    18.9618411
400050    72.8299518    19.0551695
400062    72.8426858    19.1593396
400083    72.9374227    19.1166191
400603    72.9781047    19.1834148
401107    72.8929       19.2762702
401105    72.8663173    19.3053477
400703    72.9992013    19.0793547
401209          NA          NA
401203    72.7983705    19.4166761
400612    73.0287209    19.1799265
400612    73.0287209    19.1799265
400612    73.0287209    19.1799265
Run Code Online (Sandbox Code Playgroud)

r latitude-longitude geocode ggmap

1
推荐指数
1
解决办法
227
查看次数

ggmap坏了吗?基本的qmap()产生“参数暗示不同的行数:0,1”

过去,我已经多次使用ggmap来生成以特定坐标为焦点的地图。通常,它非常简单,只需通过qmap()中location =参数定义焦点,然后根据需要在地图上添加几何图形即可。

今天,我是一段时间内第一次打开ggmap,但是它在执行最基本的映射任务方面并没有成功。

    devtools::install_github("dkahle/ggmap") #Making sure I'm up-to-date
    library(ggmap)
    qmap(location = "White House", zoom = 14, source = "osm")
Run Code Online (Sandbox Code Playgroud)

产生以下错误:

#Error in data.frame(ll.lat = ll[1], ll.lon = ll[2], ur.lat = ur[1], ur.lon = ur[2])
 : arguments imply differing number of rows: 0, 1
Run Code Online (Sandbox Code Playgroud)

我已经挖了好几个小时了。我尝试改用get_map(),但会产生相同的错误。

有任何想法吗?

更新#1

我已经进行了R / RStudio的全新安装,从全新的位置(devtools,tidyverse,ggmap)重新安装软件包。但是,错误仍然存​​在。

更新#2

get_map()正如我希望通过ggmap命令进行的那样,在自动进行地理编码的过程中没有运气。

我求助于手动指定此地图焦点的纬度/经度坐标。

qmap(location=c(lon=-77.035,lat=38.897), zoom = 14, source = "google")
Run Code Online (Sandbox Code Playgroud)

感谢camille提醒我开放街道地图(osm)源存在已知问题(通常与我一起进行故障排除)。

我已经尝试在几种不同的机器上,在几种不同的网络上进行尝试,只是因为看来某些人在此问题的根源上遇到了本地网络/计算机问题。现在想知道是否有人能够qmap()不再使用纬度/经度坐标来指定位置,还是这个问题对我来说是唯一的。

r ggmap

1
推荐指数
1
解决办法
778
查看次数

R中的ggmap和mapview包有问题吗?

刚刚过去的这个夏天,我正在对R中,我使用的封装代码mapviewggmap.在夏天,代码工作正常.在过去的一周里,我运行了代码而没有任何更改,当我使用时,我收到以下消息mapview:

mapview(as(tr10, "Spatial"), zcol = "utc_timestamp", lwd = 5,
      legend = TRUE)
Error in htmlwidgets::sizingPolicy(defaultWidth = defaultWidth, defaultHeight = defaultHeight,  : 
unused argument (browser.external = FALSE)
Run Code Online (Sandbox Code Playgroud)

我没有对我的代码进行任何更改,我升级包以防万一,但仍然无法正常工作.并与ggmap我得到以下几点:

puerto_rico <- get_map(location = c(lon = mean(long), lat = mean(lat)), 
                     maptype = "terrain", source = "google",
                     zoom = 12)
Error in download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") : 
cannot open URL 'http://maps.googleapis.com/maps/api/staticmap?center=18.2,-67.1&zoom=12&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'
In addition: Warning message:
In download.file(url, destfile = tmp, …
Run Code Online (Sandbox Code Playgroud)

r ggmap

1
推荐指数
1
解决办法
1055
查看次数

ggmap 和 get_stamenmap 在绘制区域时返回错误

我已经使用 package ggmapsinRstudio绘制空间分布图几个月了。

用于绘制地图的基本代码terrain-background行如下:

### Load packages ####
library(tidyverse); library(googlesheets4); library(openintro)
library(maps); library(ggmap); library(ggthemes); library(Cairo)

#### Set bounding box of Africa ####
bbox2 <- c(left = -18.63,
           right = 52.03,
           bottom = -35.32,
           top = 38.96)

Africa <- get_stamenmap(
  bbox = bbox2,
  maptype = c("terrain-background"),
  zoom = 7) 
Run Code Online (Sandbox Code Playgroud)

从今天早上开始,返回如下错误:

Error in f(init, x[[i]]) : 
  number of rows of matrices must match (see arg 2)
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,这些代码行在过去几个月中一直运行良好(于 2023 年 10 月 2 日绘制了同一区域)。我还尝试过之前绘制的先前区域(例如欧洲)并返回相同的错误。

我尝试了几种解决方案:重新启动 R 会话、更新 R …

maps r ggmap

1
推荐指数
1
解决办法
1422
查看次数