>我有一个MySQL表,其中包含存储在名称为lonlat
(POINT数据类型(的POINT数据类型中的地方的经度/纬度。
我还有一个名称area
的列POLYGON
具有MySQL数据类型。
我想用矩形多边形填充area
列,该矩形多边形的半径(例如 100 米(lonlat
列lonlat
是此矩形多边形的中心。
如何使用更新命令执行此操作?我想要这样的查询,但我如何填充区域?
UPDATE places SET area={?}
注意:MySQL 版本是 5.7
经过尝试,我找到了这段代码,但它构建了半径为 15 米的菱形lonlat
绳:
update places set area=ST_GEOMFROMTEXT(concat( 'POLYGON((', ST_X(lonlat)+0.000135,' ',ST_Y(lonlat) ,',', ST_X(lonlat),' ',ST_Y(lonlat)-0.000135 ,',', ST_X(lonlat)-0.000135,' ',ST_Y(lonlat) ,',', ST_X(lonlat),' ',ST_Y(lonlat)+0.000135 , ',', ST_X(lonlat)+0.000135,' ',ST_Y(lonlat) ,'))'))