是否可以更改几何类型列的srid?我只想从原始latlon数据创建几何类型数据的视图,并在geoserver中使用它。然而,在使用pointfromtext函数之后,我生成的数据类型是几何而不是点,并且地理服务器会将其视为字节数组的特征类型,不能在地理服务器中使用。但是如果我直接在mysql中使用'point'函数,我可以得到确切的点类型但是srid不正确。
所以我的问题是我可以为几何类型的数据设置srid吗?
答案 0 :(得分:3)
这是在MySQL中实现它的一种方式:
securityContext:
fsGroup: <GROUPID OF SONAR>
其中SRID应为新的SRID代码(例如,WGS84为4326)。请记住,这只会更改SRID代码,而不会更改存储在形状中的实际坐标。
答案 1 :(得分: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)
我希望它可以帮到你。
答案 2 :(得分:0)
在MySQL上订购SRID:
UPDATE YourTable, (SELECT @rownum := 0) Australopithecus
SET YourField = GeomFromText(AsText(YourField), (@rownum := @rownum + 1))
答案 3 :(得分:0)
我能够使用以下技术在MySQL 5.7中执行此操作:
update location_polygons
set multipoly = ST_GeomFromGeoJSON(ST_AsGeoJSON(multipoly), 2, 0)
where SRID(multipoly) <> 0
基于此文档网址:https://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html