微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在斜多边形内生成网格

如何解决在斜多边形内生成网格

任何人都可以指导我解决以下问题:我必须生成一个网格(我需要使用的点为中心)。与我一直使用通用贴图工具(GMT)求解的情况相反,我想在R中进行。但是,品脱需要遵循多边形的角度遵循正态分布。我举了一个例子来说明我的问题-谢谢你的想法。

enter image description here

有了这个主意,我设法部分解决Creating a regular polygon grid over a spatial extent,rotated by a given angle)。但是,我有一个多边形(带有地理坐标),该多边形应适合点。该图显示了应该与多边形一起出现的点,但是网格没有旋转,因此这些点没有均匀分布。

  library(sf)
  rotang = 45
  rot = function(a) matrix(c(cos(a),sin(a),-sin(a),cos(a)),2,2)
  tran = function(geo,ang,center) (geo - center) * rot(ang * pi / 180) + center
  inpoly <- st_read(system.file("shape/nc.shp",package="sf"))[1,] %>% 
  sf::st_transform(3857) %>% 
   sf::st_geometry()
   center <- st_centroid(st_union(inpoly))
   Grd <- sf::st_make_grid(tran(inpoly,-rotang,center),cellsize = 3000)
   Grd_rot <- tran(Grd,rotang,center)
   plot(inpoly,col = "blue")
   plot(Grd_rot,add = TRUE)

'''

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。