将多边形转换为边界框数组

时间:2018-01-01 13:54:06

标签: java polygon bounding-box

我正在寻找一种算法,将多边形(即点阵列)转换为一个边界框数组(具有给定的容差)。

请参阅以下(不完整)示例: enter image description here

1 个答案:

答案 0 :(得分:1)

经过进一步调查,我认为我可以使用jillesvangurp优秀的库来获取一组地理哈希值,然后将它们解码为边界框列表。

示例代码:

Set<String> geoHashesForPolygon = GeoHashUtils.geoHashesForPolygon(points);
List<BoundingBox> bboxes = new ArrayList<>(geoHashesForPolygon.size());
for (String geoHash : geoHashesForPolygon) {
    double[] bbox = GeoHashUtils.decode_bbox(geoHash);
    bboxes.add(new BoundingBox(bbox));
}