2010-08-12 58 views
2

是否可以更改幾何類型列的srid?我只想從原始的latlon數據創建幾何類型數據的視圖,並將其用於geoserver。然而,在使用pointfromtext函數之後,我生成的數據類型是幾何而不是點,geoserver將它視爲字節數組的典型特徵,它不能在geoserver中使用。然而,如果我直接在mysql中使用'point'函數,我可以得到確切類型的點,但是srid不正確。在mysql中更改ssh

所以我的問題是我可以設置幾何類型的數據srid?

+0

當你說更改SRID,你的意思是重責或改變內部表示。 SRID識別系統中的座標。如果沒有座標轉換,您無法從一個SRID轉到另一個SRID。您可以更改可能會毀掉所有內容的內部格式。 – 2017-11-29 18:25:34

回答

1

其實做你在SQL Server 2008中想要什麼,我不得不做以下的(改變所有在EPGS的數據:4326):

update TestGeom set geom = geometry::STGeomFromText(geom.STAsText(), 4326) 

我不知道,如果在MySQL中,你可以做同樣的事情。否則,你可以用類似的東西重建你的桌子:

update TestGeom 
set geom = geometry::STGeomFromText('POINT ('+ REPLACE(CONVERT(nvarchar, TestGeom.Lon), ',','.')+' '+REPLACE(CONVERT(nvarchar, TestGeom.Lat), ',','.')+')', 4326) 

我希望它能幫助你。在MySQL

+0

呃.. UPDATE有什麼問題TestGeom SET geom.STSrid = 4326; ? – 2012-02-03 11:31:35

+0

我還沒有嘗試過這種解決方案。這可能會更好。 – Nordes 2012-02-06 08:38:49

0

訂購SRIDs:

UPDATE YourTable, (SELECT @rownum := 0) Australopithecus 
SET YourField = GeomFromText(AsText(YourField), (@rownum := @rownum + 1))