在MySQL中我有大約100桌的數據庫。MySQL中的空間 - 從轉換SRID 31287至4326
它們都含有一種名爲'shape'列,這是一個多邊形類型字段。
它包含了我所相信的信息(ST_SRID返回1,但它是錯的)是SRID 31287.
我想將其轉換爲SRID 4326,我將如何去做到這一點?
在MySQL中我有大約100桌的數據庫。MySQL中的空間 - 從轉換SRID 31287至4326
它們都含有一種名爲'shape'列,這是一個多邊形類型字段。
它包含了我所相信的信息(ST_SRID返回1,但它是錯的)是SRID 31287.
我想將其轉換爲SRID 4326,我將如何去做到這一點?
這裏有兩個問題。
ST_SRID
,PostGIS中有ST_SetSRID
要解決PostGIS中的第一個問題,您將使用ST_SetSRID
,並解決您使用ST_Transform
的第二個問題。
這是正確的 - 我在開發過程中切換到了postgis。不知道爲什麼這個答案被標記爲正確的。 – alexisdevarennes
我只能希望這會幫助你(直接或作爲一個指針)作爲其SQL Server的一個答案,但如何...
UPDATE Table SET SpatialColumn = Geometry::STGeomFromText(SpatialColumn.STAsText(), 4326);
當然,你可以換爲幾何,如果地理你正在使用地理欄目。您需要用您的表名和SpatialColumn替換您的空間列的名稱。
注意:這假定你的31287 SRID座標定義爲數字緯度/經度值。
在MySQL中,它看起來是這樣的:
UPDATE `table name` SET `column name` = ST_GeomFromText(ST_AsText(`column name`), 4326);
希望這有助於
這爲我工作
(對於MySQL)
UPDATE Table SET SpatialColumn = ST_GeomFromText(ST_AsText(SpatialColumn), 4326);
請看我的答案,因爲選擇的答案很簡單。 https://stackoverflow.com/a/47559573/124486 –