使用 OpenStreetMap 从 data.frame 绘制点

2023-11-22

我对空间数据完全是新手。我有以下代码成功绘制了有界地图。我想添加,作为 data.frame 存储的点。 我提前道歉,无法从 OpenStreetMap 文档中弄清楚这一点......代码如下:

library(OpenStreetMap)
stores <- data.frame(name=c("Commercial","Union","Bedford"),
                 longitude=c(-70.25042295455933,-70.26050806045532,-70.27726650238037),
                 latitude=c(43.657471302616806,43.65663299041943,43.66091757424481))
lat <- c(43.68093,43.64278)
lon <- c(-70.29548,-70.24097)
portland <- openmap(c(lat[1],lon[1]),c(lat[2],lon[2]),zoom=15,'osm')
plot(portland,raster=TRUE)
#can't figure out what to put here.

我怀疑存储的格式不适合空间数据。


我不知道OpenStreetMap包裹。但我提供了一种替代方案,仍然绘制 OpenStreet Map,但使用ggmap包来获取和绘制地图。这get_map函数可以从多种来源获取地图:osm、google、stamen 和 cloudmade;设置为source。此外,源有不同的样式,设置为maptype。地图的边界以位置向量给出。或者,位置向量可以给出具有适当缩放级别集的地图中心。地图是用ggplot2,因此可以将点和标签添加到地图中,就像将它们添加到任何 ggplot 对象中一样。要运行以下命令,ggmap and ggplot2需要安装软件包。

library(ggmap)

stores <- data.frame(name=c("Commercial","Union","Bedford"),
        longitude=c(-70.25042295455933,-70.26050806045532,-70.27726650238037),
        latitude=c(43.657471302616806,43.65663299041943,43.66091757424481))
location = c(-70.2954, 43.64278, -70.2350, 43.68093)

# Fetch the map
portland = get_map(location = location, source = "osm")

# Draw the map
portlandMap = ggmap(portland)

# Add the points layer
portlandMap = portlandMap + geom_point(data = stores, aes(x = longitude, y = latitude), size = 5)

# Add the labels
portlandMap + geom_text(data = stores, aes(label = name, x = longitude+.001, y = latitude), hjust = 0)

结果是:

enter image description here

标签可能会在背景中消失。在这种情况下,类似这样的事情可能是合适的。它用代码从这里给文本一个大纲。

portlandMap = ggmap(portland) + geom_point(data = stores, aes(x = longitude, y = latitude), size = 5)

theta <- seq(pi/16, 2*pi, length.out=32)
xo <- diff(location[c(1,3)])/250
yo <- diff(location[c(2,4)])/250

for(i in theta) {
    portlandMap <- portlandMap + geom_text(data = stores,  
    aes_(x = stores$longitude + .001 + cos(i) * xo, 
         y = stores$latitude + sin(i) * yo, 
         label = stores$name), 
    size = 5, colour = 'black', hjust = 0)
 }

portlandMap + 
   geom_text(data = stores, aes(x = longitude + .001, y = latitude, label=name), 
     size = 5, colour = 'white', hjust = 0)

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OpenStreetMap 从 data.frame 绘制点 的相关文章

  • 如何在 Shiny 中提取动态生成的输入值?

    我正在创建一个闪亮的应用程序 它将根据客户的不同功能为客户生成分数 在我闪亮的应用程序中 我提供了 checkboxGroupInput 来选择所需的功能 根据所选功能 应用程序将动态地将 numericInput 添加到 Web ui 以
  • 如何在 R 中执行近似(模糊)名称匹配

    我有一个专门用于生物学期刊的大型数据集 该数据集是由不同的人长时间编写的 因此 数据不采用单一格式 例如 在 作者 栏中我可以找到John Smith Smith John Smith J等 但它们是同一个人 我连最简单的动作都做不了 例如
  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • R ggplot 中的柯尔莫哥洛夫-斯米尔诺夫图

    我正在尝试在 r 中绘制 KS 图 一切似乎都很顺利 除了我只能使用颜色来可视化两个不同的样本而不是线型这一事实 我已经尝试过以下方法 sample1 lt SD13009 sample2 lt SD13009PB group lt c r
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • data.table 抛出“找不到对象”错误[重复]

    这个问题在这里已经有答案了 我有一个数据表 library data table mydt lt data table index 1 10 当我在全局环境中尝试它时 我可以让它工作 但当我在调试器中或在包测试中使用它时却无法工作 问题是我
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • R:如何将字符/数字转为1,NA转为0?

    有没有一种简单的方法可以将列的字符 数字变为 1 将 NA 变为 0 这里有一些示例数据 我想将其应用于 3 4 structure list Item Code c 176L 187L 191L 201L 217L 220L Item x
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • R:单纯形错误:在下标赋值中不允许使用 NA

    对于以下具有目标函数和约束的最小化 boot simplex返回错误 Error in tab pr lt tab pr tab pr pc pv o tab pr NAs are not allowed in subscripted as
  • rvest 函数 html_nodes 返回 {xml_nodeset (0)}

    我正在尝试抓取以下网站的数据框 http stats nba com game 0041700404 playbyplay http stats nba com game 0041700404 playbyplay 我想创建一个表格 其中包
  • 自定义轴缩放后 ggplot2 缺少标签

    我正在尝试使用我的 x 轴应用自定义缩放ggplot2 and scales trans new 但是 当我这样做时 一些轴标签丢失了 有人可以帮我弄清楚为什么吗 Setup library tidyverse the data ds lt
  • 无法将“gather”输出的列名称更改为默认名称以外的任何名称

    我正在尝试使用gather in the tidyr包 但我无法更改默认名称的输出列名称 例如 df data frame time 1 100 a 1 100 b 101 200 df long df gt gather foo bar
  • 更改 R 中 ggplot geom_polygon 的颜色方案

    我正在使用地图库和 ggplot 的 geom polygon 创建地图 我只是想将默认的蓝色 红色 紫色配色方案更改为其他颜色 我对 ggplot 非常陌生 所以如果我没有使用正确的数据类型 请原谅 我使用的数据如下所示 gt head
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • R:改变堆积条形图的颜色

    library ggplot2 df2 lt data frame supp rep c VC OJ each 3 dose rep c D0 5 D1 D2 2 len c 6 8 15 33 4 2 10 29 5 head df2 g
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x

随机推荐

  • 如何在 JavaScript 中标准化正数列表?

    我有一个充满正 int 值的数组 如何规范化该列表以使最大值始终为 100 先感谢您 这个想法是首先找到数组中的最大数字 使用apply on Math max 然后求最大数与 100 之间的比率 之后 只需循环数组并将所有数字除以该比率即
  • 如何使用原始索引枚举切片?

    如果我想枚举一个数组 比如说map 我需要使用元素的索引及其值的函数 我可以使用enumerate 功能 例如 import Foundation let array Double 1 2 3 4 let powersArray array
  • constexpr std::array 与 static_assert

    include
  • C++ 控制台输出中的上标

    I d like to have my program output cm2 cm squared 如何制作上标2 正如 Zan 所说 这取决于您的标准输出支持的字符编码 如果它支持 Unicode 您可以使用 U 00B2 如果它支持源文
  • 生成分段迷宫的算法

    I want to generate a maze that looks like this 也就是说 它由一个方向上的路径组成 然后将这些路径连接起来 我一直在寻找一种算法来生成这样的迷宫 但没有成功 具体来说 我don t想要一个这样的
  • 我应该使用 mySQL 还是 MongoDB [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 目前有很多关于 NoSQL
  • JButton 扩展以占据整个框架/容器

    嘿大家 我正在尝试制作一个带有按钮和标签的 Swing GUI 我使用边框布局 标签 在北场 显示良好 但按钮占据了框架的其余部分 它位于中心场 知道如何解决这个问题吗 您必须将按钮添加到另一个面板 然后将该面板添加到框架 事实证明 Bor
  • Javascript:从数组中随机配对项目而不重复

    我正在尝试制作一个非常基本的 秘密圣诞老人 生成器 作为我的第一个 Javascript 项目之一 我已经搜索了几个小时来寻找这个问题的解决方案 但到目前为止我还没有发现任何有效的方法 我有一系列需要相互配对的名称 我成功地将它们配对 但现
  • 如何在 Windows 7 x64 上使用 Visual C++ 6 进行调试?

    当然答案是 你不能 或 使用 XP 模式 但我想知道是否可能 我遇到的问题是 每当我调试某个应用程序并命中断点时 当我停止调试器时 被调试者仍然卡住 它无法被杀死 我无法附加另一个调试器 它说它已经被调试 在我关闭 Visual C 之前它
  • 使用 Apollo 客户端在第二个查询中使用第一个查询的结果?

    我正在使用 Apollo React 和 Graphcool 我有一个查询来获取登录用户 ID const LoginServerQuery gql query LoginServerQuery loggedInUser id 我需要在另一
  • Console.Writeline 对性能的影响

    我有一个应用程序有 4threads 每个线程实际上是一个Timer并在特定的时间间隔内执行单独的工作 这些线程通过使用显示其日志Console Writeline 性能在此应用中非常重要 我想知道是否删除Console Writeline
  • 事件发射器从引导模式到父模式

    我想将模态事件从模态组件传递到模态的父组件 但由于某种原因 我似乎无法让 EventEmitter 工作 如果有人有想法 将不胜感激 主要代码如下 从 ng bootstrap 演示分叉的 非工作 plunk 在这里 http plnkr
  • 错误:无法卸载“wrap”。安装tensorflow-gpu时~=1.14

    我正在尝试安装以下版本的 TensorFlow GPU 因为 gitrepo 的作者建议了它here jalal goku examples pip install tensorflow gpu 1 14 Collecting tensor
  • Go 1.6 中的供应

    我已经阅读了尽可能多的文档和 StackOverflow 文章 但我没能使用 Go 1 6 中的新供应商功能进行导入 这是我整理的一个示例项目Goji去测试 目录结构是这样的 src main go vendor github com ze
  • Android - 无法找到与目标“Android 1.6”错误兼容的 AVD

    我第一次尝试运行 Android 版 Hello World 应用程序 但我不断收到 Failed to find an AVD compatible with target Android 1 6 当我尝试创建 AVD 时出错 我已尝试以
  • 为什么 git push origin master 会画 ASCII 艺术? [复制]

    这个问题在这里已经有答案了 当我跑的时候git push origin master 我看到了一张非常不寻常的 ASCII 图片 我跑了git push几百次了 以前从未见过这种情况 有什么解释吗 git push origin maste
  • 换行符或“\n”不起作用。

    你能告诉我为什么换行符 n 不起作用吗 itemsToWriteToFile Number 1 12 nNumber 2 13 nNumber 3 13 nNumber 4 14 itemsToWriteToFile str itemsTo
  • 在 LESS css 中增加一个变量

    如何在 LESS css 中增加变量 这是例子 counter 1 someSelector nameOfClass counter counter counter 1 someSelector nameOfClass counter 上面
  • 使用纯 CSS 隐藏一个元素的列表

    如果列表仅包含一个仅使用 CSS 的元素 是否有一种方法可以隐藏列表 奖励 想想 IE8 ul li hide this li ul But ul li show this li li and others li ul 我正在和所有兄弟姐妹
  • 使用 OpenStreetMap 从 data.frame 绘制点

    我对空间数据完全是新手 我有以下代码成功绘制了有界地图 我想添加 作为 data frame 存储的点 我提前道歉 无法从 OpenStreetMap 文档中弄清楚这一点 代码如下 library OpenStreetMap stores