增加边框大小,但保持比率(Lon/Lat) [英] Increase the BBOX size but keep the ratio (Lon/Lat)

查看:19
本文介绍了增加边框大小,但保持比率(Lon/Lat)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个由下列值定义的Bbox:

xmin: 11.555333537980914 
ymin: 47.76067947037518 
xmax: 11.995692579075694 
ymax: 48.281587762758136

我希望增加此Bbox的大小,但保持该比例。 我尝试的一种方法是计算Bbox的中点,并计算半径值增加50%的新Bbox。 问题是:比率丢失了。

我如何才能将Bbox的大小增加到50%,同时保持该比例。

推荐答案

可能ST_Expand就是您要找的。您可以首先使用ST_Area计算输入BBox的面积,然后以输出为单位展开BBox。

SELECT            -- here you can play with different sizes
  ST_Expand(geom, ST_Area(geom)/2) 
FROM yourtable;

示例:

WITH j (geom) AS (
  SELECT ST_MakeEnvelope(11.555333537980914,
                         47.76067947037518,
                         11.995692579075694,
                         48.281587762758136,4326)
)
SELECT 
  ST_Expand(geom,ST_Area(geom)/2) 
FROM j;

下图表示结果集。内部BBox是您提供的,外部BBox是使用ST_Expand创建的。

演示:db<>fiddle

这篇关于增加边框大小,但保持比率(Lon/Lat)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆