Mysql

通過在 XY 中添加/減去來更新所有幾何點

  • March 15, 2019

我想更新表中所有行的 POINT 幾何列。

例如,我想將 POINT(1 1) 更改為 POINT(1.1 .9)

UPDATE myTable SET geoPoint = asText(geoPointX+1 geoPoint Y-1)

查詢是我想要實現的範例,但我不確定如何拆分文本然後處理值。

這絕對沒有意義,但你會想做這樣的事情

UPDATE myTable
 SET geoPoint = Point( ST_X(geoPoint)+0.1, ST_Y(geoPoint)-0.1 );

這將絕對在 SRS 的基本單元中移動。

如果您將 x 和 y 新欄位分開,這種方式在速度和準確性上都不好。

UPDATE myTable SET geoPoint_x = :x ,  geoPoint_y = :y where geoPoint_id = :id

例如,我使用 :x 和 :y 。

如果需要拆分文本,則必須在 Web 伺服器或前端 jquery 中拆分,並將 x,y 發送到數據庫

引用自:https://dba.stackexchange.com/questions/141483