球体上圆的最小边界矩形

时间:2010-06-25 04:09:54

标签: r geometry great-circle

哪些R包可用于计算大圆的最小边界框?

例如:

box <- polycirc( c( longitude, latitude ), distance=35 )

这将返回距离给定坐标(地球上)中心点半径35公里的圆的边界框。其中:

box.longitude_min = The longitude of the circle's western-most point.
box.longitude_max = The longitude of the circle's eastern-most point.
box.latitude_min = The latitude of the circle's southern-most point.
box.latitude_max = The latitude of the circle's northern-most point.

这样的东西应该已经存在于R中,但我找不到它。我最近发现的(从SO)最接近R的是:

http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates

此外,圆的最小边界矩形的单词(如果有的话)是什么? (与circumscribed相反。)

2 个答案:

答案 0 :(得分:1)

给我:

  library( geosphere )
  p <- c( longitude, latitude )
  box <- apply( destPoint( p, c(0, 90, 180, 270), distance ), 2, range )
  print( box )

答案 1 :(得分:0)

使用polycirc函数生成圆的点,然后minmax找到边界框:)

require(pgirmess)
circle <- polycirc(20, c(10, 20))
plot(circle, type = "l")
rect(min(circle[,1]), min(circle[,2]), max(circle[,1]), max(circle[,2]))