增加边框大小,但保持比率(Lon/Lat) [英] Increase the BBOX size but keep the ratio (Lon/Lat)
本文介绍了增加边框大小,但保持比率(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屋!
查看全文