了解包 geosphere 中 `areaPolygon()` 的输出

2023-12-06

From 这个问题我获得了很棒的功能areaPolygon()这给了我坐标多边形内的区域。然而,当我尝试该函数时,计算结果似乎很奇怪:

我首先创建一组两点

 require(fields)
 coords <- c(11.3697193956209, 47.233380520521, 11.3723606043791, 
 47.235179479479)
 coords <- matrix(coords, nrow=2, ncol=2, byrow=TRUE)

然后我检查两者之间的距离:

 rdist.earth(coords,coords,miles=FALSE)[1,2]

获得:0.2827821公里(这将是矩形的对角线)

我继续创建一个矩形

 polygon <- matrix(coords, nrow=2, ncol=2)
 polygon <- rbind(polygon, polygon)
 polygon[4,2] <- polygon[1,2]
 polygon[4,1] <- polygon[2,1]
 polygon[3,2] <- polygon[2,2]
 polygon[3,1] <- polygon[1,1]
 polygon <- rbind(polygon, polygon[1,])

看看这看起来是否不错:plot(polygon)

第四步:计算多边形内的面积。

geosphere::areaPolygon(polygon)
[1] 31.99288 #from the help file I know this ought to be square metres.

然而,我本来期望200*200=40000 m²因为我的直角边长是 200 x 200 米。这可以通过检查

rdist.earth(polygon,coords,miles=FALSE)

           [,1]         [,2]
 [1,] 0.0000000 2.827821e-01
 [2,] 0.2827821 9.504539e-05
 [3,] 0.2002671 1.996434e-01
 [4,] 0.1996501 2.002671e-01

现在来回答我的问题(最后)我做错了什么?非常感谢您的帮助!


您创建了一个无效的多边形!如果你用它来绘制它type="l"你会看到一个领结:

> plot(polygon,type="l")

领结的一半具有负面积,另一半具有正面积,因此结果是两半尺寸的差异。它们不会完全相同,因为地球是球形的......

您只需要重新排序您的积分polygon.

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

了解包 geosphere 中 `areaPolygon()` 的输出 的相关文章

  • R 中的“右”滚动平均值和“左”滚动平均值是什么?

    如果我想计算之前的n意味着年份滞后于当年 我将如何实现这一点 它像 右 滚动平均窗口一样简单吗 或者它是一个 左 滚动平均窗口 我不确定这里使用哪个窗口 样本数据 set seed 1234 dat lt data frame year c
  • 使用 data.table 对分组数据进行插值

    这是我最初发布的问题的延续http r 789695 n4 nabble com subset Between data table list and single data table object tp4673202 html http
  • 使用 ggplot 2 使用线条或线段将堆栈条形图与多个组连接起来

    我正在对一些患有某种疾病的患者进行一项研究 并在 3 个不同的时间点使用顺序量表评估功能状态 我想在这些时间点的堆叠条形图中连接多个组 我查看了这些主题 但尚未使用这些建议使其发挥作用 如何将线条放置在堆积条形图的边缘 https stac
  • 如何对 lm() 中的一系列值进行子集化

    lm 的帮助文件没有涉及子集参数的语法 我不知道如何让它找到最适合我的数据集的一部分的线 这个问题是类似的 但我无法使用它解决我的特定问题 子集参数在 lm 函数中如何工作 https stackoverflow com questions
  • 我可以在 r 中使用传单“map_shape_click”事件来用数据表填充 box() 吗?

    我已经在网络上搜索了好几个星期 试图找到一个示例或代码来实现我想要用我的闪亮应用程序 shinydashboard 完成的任务 我是 r 的新手 我开始认为我想做的事情是不可能的 我基本上有一个带有县多边形 shapefile 的传单地图
  • 如何使用“NA”作为字符串

    我有一个 csv 文件 其中一列是字符类型 该变量的很少有值是 NA 字符串 但是当我使用 read csv 读取 R 中的 csv 文件时 NA 字符串存储为 NA 我该如何修复它 您可以使用na strings论证中read csv r
  • 在 R data.table 中计算时间增量

    我有一个篮球运动员数据的数据表 其中包括每场比赛和多名球员的比赛日期 我想创建一个列来计算自上一场比赛以来的天数 我在 R 中使用 data table 包 PLAYERID GAME DATE 1 2989 2014 01 1 2 298
  • 在 R 中使用 apply() 时出现未使用参数错误

    当我尝试对日期列使用 apply 条件以返回一组系数时 收到错误消息 我有一个数据集 为简单起见 此处进行了修改 但可重现 ADataset lt data table Epoch c 2007 11 15 2007 11 16 2007
  • 基于两列对数据框中的行进行求和[重复]

    这个问题在这里已经有答案了 我想添加一列的值 将它们按两列分组 我找到了如何在一列上执行此操作 但无法弄清楚如何在两列上执行此操作 例如 如果我有以下数据框 x c a a b b c c a a b b c c a a b b c c y
  • 使用 R 将图例添加到绘图中

    我使用 R 在一个图中创建了 4 条线 这是代码 Define 2 vectors cars lt c 123 07 110 51 96 14 98 71 101 3 trucks lt c 110 31 89 91 89 81 89 31
  • 写入抓取数据的 csv 文件时如何拆分项目名称

    我有兴趣使用 R 从网上抓取的数据创建 csv 或类似的 Excel 兼容文件 到目前为止 我通过执行以下操作来存储数据 require textreadr spiegel lt read html http www spiegel de
  • R:从 Github 安装包时出现编码问题

    我正在尝试安装dcStockR https github com yutannihilation dcStockR来自 Github 的包 这是一个htmlwidgets http www htmlwidgets org 周围的包装纸dc
  • R:交换两个变量而不使用第三个变量

    我有两个变量 即 a lt 1 b lt 2 我想交换他们的价值观 是否有任何内置的 R 函数能够执行该操作 或者是否有其他优雅的方式 而不使用第三个 临时 变量 Note 如果可能的话适用于字符串或其他数据类型 有一个通用的解决方案或 技
  • 为什么表达式“1”==1 的计算结果为 TRUE? [复制]

    这个问题在这里已经有答案了 1 是字符值 其他1是数字 甚至 当我尝试在下面执行时 它给了我 TRUE as character 0 as numeric 0 谁能帮助我理解 为什么 来自help 如果两个参数是不同类型的原子向量 则其中一
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 如何修改反应链以便最后修改的对象控制其他链接的对象?

    新注释 1 最终解决的代码发布在最底部 反映了 ismirsehregal 于 2021 年 12 月 3 日的解决方案 以及一些标记为 ADDED 和 MODIFIED 的小调整 ADD 是为了解决我在矩阵 2 添加值后从矩阵 1 中删除
  • 省略 RColorBrewer 调色板上较亮的颜色以在 ggplot2 中使用

    我想在 RColorBrewer 的 Oranges 调色板中使用较深的颜色 以便在我的 ggplot 条形图 中使用 然而我却做不到 帮助 下面是示例代码 my palette brewer pal n 9 Oranges 4 9 Bar
  • ggplot2以限制为中心的多边形世界地图给出了有趣的边缘

    使用下面的代码我生成了一张以华盛顿特区为中心的地图 解决方案基于科斯克的解决方案在这里 https stackoverflow com questions 10620862 use different center than the pri
  • 如何在复杂的皂膜GAM中设置更平滑的边界条件?

    我正在对南太平洋岛屿泻湖中宽吻海豚的分布进行建模 我想使用肥皂膜平滑器来模拟海豚在二维表面 经度 x 纬度 上存在的概率 考虑到陆地边界 显然海豚不能在陆地上行走 我想知道如何将我的研究区域 陆地和近海水域 的边界固定为等于零的条件 因为我

随机推荐

  • 使用 Maven 或 JBoss Tools 在 Eclipse 上添加 JBoss AS 7 模块

    我正在将我的项目迁移到 JBoss AS 7 并且我已经阅读了一些有关其模块的信息 我的问题很简单 我认为 我不知道如何在开发阶段包含这个模块 例如 我使用 hibernate 在 Eclipse 中使用 JBoss Tools 和 JBo
  • 删除除文件名 php 之外的所有内容

    我试图删除文件名 ex 之前的所有内容 home mike whatever test 1 txt 只留下test 1 txt 最简单的方法是什么 thanks basename
  • 在 iPhone 核心数据中的一对多关系上使用级联删除规则和 validateForDelete

    Preface 我有两个实体定义为一对多关系 A B B 与 A 的关系称为 myAs 是一种以 Nullify 作为删除规则的一对多关系 A到B的逆关系是一对一关系 以Cascade为删除规则 我已经在 B 类上实现了 validateF
  • 使用 HTML 表单隐藏元素传递数组

    我试图在隐藏字段中发布一个数组 并希望在 PHP 中提交表单后检索该数组 postvalue array a b c
  • PowerShell 如何处理“.”在路径中?

    打开 PowerShell 终端时请考虑以下命令序列 PS C Users username gt cd source PS C Users username source gt dir temp PS C Users username s
  • Linux内核中如何加入线程?

    主要问题是 我们如何等待 Linux 内核中的线程完成 我看过一些关于在 Linux 内核中处理线程的正确方法的帖子 但我不确定我们如何等待主线程中的单个线程完成 假设我们需要线程 3 完成然后继续 include
  • 是否有在 docker alpine linux 基础映像上设置 glibc 的最佳实践?

    是否有在 docker alpine linux 基础映像上使用正确路径设置 glibc 的最佳实践 以便任何生成的进程都可以正确引用已安装 libc 库的位置 就在这里 我使用了定制的 glibc 在其上安装了 JRE 你可以找到它her
  • 无需身份验证即可从 Dropbox 链接获取元数据

    我想检查版本更改 获取带有保管箱上共享链接的文本文件的元数据 我不会使用 dropbox api 因为它会让用户使用自己的帐户 我希望他们链接到我的帐户 但我无法手动执行此操作 因为我稍后可能会更改密码 所以 没有身份验证令牌 只需从保管箱
  • 检测Firebug的Javascript?

    检测用户是否启用 Firebug 的可靠方法是什么 原答案 检查是否有console对象 仅使用 Firebug 创建 如下所示 if window console window console firebug Firebug is ena
  • FitNesse 应用程序配置

    我很难理解 http www syterra com Fit AppConfigFiles html 如果我的应用程序和装置位于 c Projects App 中 并且 FitNesse 是从 c Projects Sandbox FitN
  • 使用 wxpython 创建菜单

    我使用以下方法创建了一个菜单 fileMenu wx Menu fileMenu Append ID NEW New tCtrl N Creates a new file 我可以通过单击菜单上的 新建 或单击 Ctrl N 来访问 新建 我
  • 如何处理ajax调用的json响应

    我的网络服务返回一个 JSON 对象 如下所示 abc xyz option 3 即当我将此地址放入 Chrome 浏览器中时http localhost 8088 rest getOptions我得到上面 我正在尝试在浏览器中阅读此内容
  • 滚动线性回归

    我需要一次执行 X 个周期的滚动线性回归 我有以下熊猫数据框 value 0 4354 1 7564 2 657 3 7876 我可以使用 scipy 对整个数据框执行线性回归 如下所示 from scipy import stats sl
  • 使用 AzureReader2 插件的 Azure ImageResizer 无法调整大小

    EDIT 我让它工作 但我必须添加 RemoteReader 插件 当我从项目中删除 AzureReader2 插件时 它仍然可以工作 这是有道理的 但是 AzureReader2 插件对我有什么好处 原问题 我已经完成了概述的所有事情he
  • js中如何实现排序?

    我有一个像这样的数组 var temp rank 3 name Xan rank 1 name Man rank 2 name Han 我试图按如下方式对其进行排序 temp sort function a a rank 但它不起作用 任何
  • Apache / Tomcat 中使用 mod_jk 的多个子域

    我目前正在尝试为从一台 Tomcat 服务器运行的两个单独的应用程序设置两个子域 但我很难让它继续下去 如果没有子域 我可以为一个虚拟主机配置两个挂载点 并能够以这种方式访问 应用程序 看起来像 http url confluence 但这
  • Java中如何访问一个对象的父对象?

    看看这个例子 class Parent Child child new Child Random r new Random class Child public Child access a method from Random r fro
  • jQuery 检查图像是否已加载

    我需要有关以下不起作用的代码的帮助 var timeoutID 0 var currentImage 0 first image is position 0 in arrImages array var arrImages bla bla
  • 声明变量时出现 NoSuchMethodError

    我在使用 Spark 和 Scala 时遇到了一个奇怪的错误 我有一段声明变量的代码 var offset 0 这会导致以下异常 java lang NoSuchMethodError scala runtime IntRef create
  • 了解包 geosphere 中 `areaPolygon()` 的输出

    From 这个问题我获得了很棒的功能areaPolygon 这给了我坐标多边形内的区域 然而 当我尝试该函数时 计算结果似乎很奇怪 我首先创建一组两点 require fields coords lt c 11 3697193956209