在正投影中绘制世界地图给出“非有限点”

2024-05-04

我有一个世界国家的形状文件,从下载here http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip。我可以使用 R 在 R 中绘制它

countries <- readOGR("shp","TM_WORLD_BORDERS-0.3",encoding="UTF-8",stringsAsFactors=F)
par(mar=c(0,0,0,0),bg=rgb(0.3,0.4,1))
plot(countries,col=rgb(1,0.8,0.4))

现在我想用正交投影(从外太空看到的地球)来绘制它,所以我正在尝试

countries <- spTransform(countries,CRS("+proj=ortho +lat_0=-10 +lon_0=-60"))

我还使用了 x_0 和 y_0 参数(如上所述here http://www.remotesensing.org/geotiff/proj_list/orthographic.html),但我总是收到错误:

non finite transformation detected:
[1] 45.08332 39.76804      Inf      Inf
Erro em .spTransform_Polygon(input[[i]], to_args = to_args, from_args = from_args,  : 
  failure in Polygons 3 Polygon 1 points 1
Além disso: Mensagens de aviso perdidas:
In .spTransform_Polygon(input[[i]], to_args = to_args, from_args = from_args,  :
  108 projected point(s) not finite

有时在第三个多边形,有时在第七个多边形。那些“Inf”从哪里来?我需要更改任何参数吗?我想像这样绘制地图

但以南美洲为中心。感谢您的帮助!


maps打包试试。它会发出有关无法投影的点的警告,但不会给出错误并关闭进程。稍微摆弄一下,即设置海洋的填充颜色(this https://stackoverflow.com/a/8473810/4055438答案帮助解决了这个问题),我能够用几行模拟您附加的地图:

library(maps)

## start plot & extract coordinates from orthographic map
o <- c(-10,-60,0) # oreantation
xy <- map("world",proj="orthographic", orientation=o, bg="black")
xy <- na.omit(data.frame(do.call(cbind, xy[c("x","y")])))

## draw a circle around the points for coloring the ocean 
polygon(max(xy$x)*sin(seq(0,2*pi,length.out=100)),max(xy$y)*cos(seq(0,2*pi,length.out=100)), 
        col="blue4", border=rgb(1,1,1,0.5), lwd=2)

## overlay world map
colRamp <- colorRampPalette(c("lemonchiffon", "orangered"))
map("world",proj="orthographic", orientation=o, 
    fill=TRUE, col=colRamp(5), add=TRUE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在正投影中绘制世界地图给出“非有限点” 的相关文章

随机推荐

  • 如何调试 Jenkins 作业中无法运行程序“C:\Program Files\Git”?

    我正在使用 jenkins 构建我的 git 项目 这是我在查看日志时收到的错误 我在 jenkins 中使用 git 插件 您将如何解决该错误消息 Started by user anonymous Building in workspa
  • 使用 JWT 验证单独的 API 微服务

    我正在 NodeJS 中使用微服务开发一个应用程序 我已经构建了一个 auth api 它处理通常的注册登录等 并且它发出 JWT 如何使用它们来保护用 Express 编写的单独 API 微服务中的路由 我是否需要使用 JWT 和密钥来解
  • Spring Boot 中的 spring.jpa.open-in-view=true 属性是什么?

    I saw spring jpa open in view trueSpring Boot 文档中用于 JPA 配置的属性 Is the true如果根本没有提供此属性的默认值 这到底有什么作用 我没有找到任何好的解释 它让你使用Sessi
  • 使用 CSS 定位文本节点

    我正在研究容器对象的 CSS 我大部分时间都在工作 具体来说 我正在查看测试用例 1 2 和 3 它们都有文本节点 有没有办法像对待任何子元素一样对待文本节点 有什么方法可以调整 CSS 以使文本节点及其兄弟节点正常工作吗 除非有一个 CS
  • 类图中的组合和依赖之间的区别?

    我知道 有人就这个案例问过同样的问题 但我仍然不明白 我需要一个具体的答案 谢谢你 D 既然冈努斯没有正确解释构图的含义 我就只好这么做了 正如 Gangnus 所解释的 聚合是一种特殊形式协会具有预期含义部分 整体关系 但没有精确的语义
  • 如何应用非标准 SQL 列排序顺序?

    考虑下表Persons Key Name Type Date Pack 1 Pocoyo KIND 30 11 2011 1 2 Erik MAN 10 10 1980 1 3 Alinda VROUW 12 12 1991 1 4 Pin
  • 根域上的 Heroku SSL

    我正在尝试为我的 heroku 应用程序设置 SSL 我正在使用基于主机名的 SSL 插件 赫罗库文档 http devcenter heroku com articles ssl customdomain ssl wwwyourdomai
  • 如何更改 Android 中状态栏通知图标的颜色/色调(棉花糖及 23+ 以上)?

    正如标题所示 如何将状态栏图标的颜色更改为深色而不是默认的白色 FROM TO 要使状态栏图标具有深色而不是默认的白色 请在您的styles xml 或者更准确地说 在values v23 styles xml file
  • 保存并加载 .bat 游戏

    我正在制作一个用bat编写的文本游戏 并且游戏已经完成 或者更多 其中的很大一部分 例如命令 以及可以玩它的阶段 但是 我想添加保存游戏并再次加载的功能 我认为可以通过让 bat 文件写入需要保存的变量 例如项目变量 来做到这一点 但是 我
  • 新主题产品给出“ValueError:主题 my.theme 不可用”

    我使用这些说明通过 zopeskel 创建了一个新主题http docs plone org adapt and extend theming theme product with diazo html http docs plone or
  • Android:OneSignal 如何使用自定义图标或应用程序图标更改通知账单图标?

    收到通知时 将显示帐单图标 而不是我覆盖它以从代码中显示的应用程序图标或自定义图标 我可以从仪表板更改图标 但我想从代码中处理它 内化 OneSignal startInit this inFocusDisplaying OneSignal
  • 这些比较应该返回什么?

    我有一个使用 string compare string string 对某些值进行排序的应用程序 我不明白的是为什么 1022 比较小于 10 23 而 10 23 比较小于 1024 是否有特定于 值的东西导致了这个结果 string
  • 找不到“folly/Portability.h”文件 React 库

    我的 React Native 项目在 Xcode 上遇到构建失败 错误是 folly Portability h file not found 在过去的几天里 我一直在尝试自己解决这个问题 但无法解决 RN info React Nati
  • 如何让 ckeditor 停止删除空 div

    stackoverflow 上也有类似的问题 但这些问题的答案对我不起作用 所以请不要将其标记为重复 在我的 cms 中 我希望人们能够添加 SPA 单页应用程序 内容页面 此类应用程序通常只有一个具有某些属性的 div 并且使用 java
  • android 设置按下 Enter 键时隐藏键盘(在 EditText 中)

    When my user press Enter on the virtual android user validate entry keyboard my keyboard stay visible Why 这是我的 Java 代码 p
  • 使用自签名证书将本地 Docker 镜像推送到私有存储库

    我正在尝试推送图像 比如说foo bar 从我的本地 Docker 注册表到在 OpenShift 3 11 上运行的注册表 实际上迷你换档 https github com minishift minishiftv1 33 0 ba294
  • 尝试将 CLI 登录到 Firebase 时出现“出现问题”

    大约 2 年后 我重新开始使用 Firebase 现在我在尝试将 CLI 登录到 Firebase 时遇到问题 是的 我已经安装了npm i g firebase tools 我已经尝试了 3 个不同的命令 所有这些命令都会生成下面的图像之
  • WCF:配置已知类型

    我想知道如何在 WCF 中配置已知类型 例如 我有一个Person类和一个Employee班级 这Employee类是 的子类Person班级 两个类都标有 DataContract 属性 我不想对类的已知类型进行硬编码 例如将 Servi
  • xamarin 谷歌地图不工作

    我使用以下链接创建了地图http developer xamarin com guides android platform features maps and location maps part 2 maps api http deve
  • 在正投影中绘制世界地图给出“非有限点”

    我有一个世界国家的形状文件 从下载here http thematicmapping org downloads TM WORLD BORDERS 0 3 zip 我可以使用 R 在 R 中绘制它 countries lt readOGR