首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:从世界地图shapefile上的点绘制径向距离

R:从世界地图shapefile上的点绘制径向距离
EN

Stack Overflow用户
提问于 2013-08-15 18:47:43
回答 1查看 582关注 0票数 0

类似于我之前的问题here,假设我正在使用地图工具在世界地图上绘制国家,如果我要绘制一个国家,是否有一种方法可以找到这个国家的中心点,并从这个点绘制一个径向距离?我使用的是maptools附带的shapefile wrld_simpl,所以如果我绘制德国:

代码语言:javascript
运行
复制
 plot(wrld_simpl[wrld_simpl$NAME=='Germany',], col='red', add=T)

我想要找到德国的中心,并从这一点画一个圆圈,显示任何落入例如100公里距离内的区域。同样,我希望能够为许多不同的国家这样做,所以理想情况下,我希望有一个通用的解决方案,而不仅仅是针对德国的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2013-08-15 19:26:27

这是一个部分的答案。下面的代码片段计算多边形的质心,所以如果您可以提取您感兴趣的国家的多边形顶点数据,这将为您提供“中心”,然后就可以很容易地绘制一个圆。(polyx和polyy是x和y坐标的向量

代码语言:javascript
运行
复制
require(pracma)
pchit <- polyarea(polyx,polyy)
centx <- centy <- 0
    for (kk in 1:(length(polyx)-1) ) {
        centx <- centx + (polyx[kk]+polyx[kk+1]) * (polyx[kk]*polyy[kk+1]-polyx[kk+1]*polyy[kk])
        centy <- centy + (polyy[kk]+polyy[kk+1]) * (polyx[kk]*polyy[kk+1]-polyx[kk+1]*polyy[kk])
    }
    centx <- -1/pchit/6 * centx
    centy <- -1/pchit/6 * centy
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18251137

复制
相关文章

相似问题

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