如果我在 MySQL 中有一个名为 Poly 的多边形类型的列,并且我想获得 NW 角和 NE 角以及 SE 角和 SW 角,我该怎么做?从 Envelope() 应该有 lat1、lat2、lon1 和 lon2 形成四个角,如下所示 lat1,lon1 是 NW;lat1,lon2 是东北; lat2,lon2 是 SE;lat2,lon1 是 SW。当我尝试 X(PointN(Envelope(Poly),1)) AS lat1 时,它总是返回 NULL。这可以在 MySQL 中完成吗?
SELECT
X(PointN(Envelope(Poly),1)) AS lat1, X(PointN(Envelope(Poly),3)) AS lat2,
Y(PointN(Envelope(Poly),1)) AS lon1, Y(PointN(Envelope(Poly),2)) AS lon2
FROM boundaries.mt_us_zip5_2013_boundaries_polys_bin
WHERE zip = '00601';
上面的查询返回:
NULL,NULL,NULL,NULL
这是信封的样子:
SELECT AsText(Envelope(Poly))
FROM boundaries.mt_us_zip5_2013_boundaries_polys_bin
WHERE zip = '00601';
最后一个查询返回:
POLYGON((18.111929 -66.836366,18.250344 -66.836366,18.250344 -66.659293,18.111929 -66.659293,18.111929 -66.836366))
我正在使用 MySQL 5.5.36 版本,升级到新版本的 MySQL 是否会给我所需的功能?