You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostGIS 能否生成正方形的 bounding box?

正方形Bounding Box生成方法

完全可以实现,核心逻辑是基于原始边界框的中心点,将边长统一为原始宽高的最大值,保证原有空间要素完全被包裹在内,具体实现步骤如下:

  • 先提取原始边界框的基础坐标值min_x, max_x, min_y, max_y,计算原始宽高:
    width = max_x - min_x
    height = max_y - min_y
  • 取宽高的最大值作为正方形边界框的边长:
    side_len = max(width, height)
  • 计算原始边界框的中心点坐标,再基于中心点和边长推导正方形边界框的四个坐标:
    # 计算中心点
    center_x = (min_x + max_x) / 2
    center_y = (min_y + max_y) / 2
    # 生成正方形边界框坐标
    square_min_x = center_x - side_len / 2
    square_max_x = center_x + side_len / 2
    square_min_y = center_y - side_len / 2
    square_max_y = center_y + side_len / 2
    

最终得到的square_min_x、square_max_x、square_min_y、square_max_y就是你需要的正方形边界框,效果和你给出的示例一致:
正方形bounding box示例

特殊场景注意事项:

  1. 如果你需要固定边长的正方形边界框,直接把side_len替换为你指定的固定值即可,计算逻辑不变
  2. 如果是地理空间要素,建议先投影到平面坐标系再执行上述计算,避免经纬度的球面特性导致生成的边界框实际不是正方形

内容的提问来源于stack exchange,提问作者Jamie Dunbar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:45:05