是否可以更改几何类型列的srid?我只想从原始的latlon数据创建一个几何类型数据的视图,并在geoserver中使用它。然而,在使用pointfromtext函数后,我生成的数据类型是几何而不是点,geoserver会将其视为不能在geoserver中使用的字节数组的特征类型。然而,如果我直接在mysql中使用' point‘函数,我可以获得确切的点类型,但是srid是不正确的。
所以我的问题是,我可以为数据的几何类型设置srid吗?
发布于 2018-03-15 23:54:53
这是在MySQL中实现的一种方法:
UPDATE table SET shape = ST_GeomFromText(ST_AsText(shape), SRID);其中,SRID应为新的SRID码(例如,对于WGS84,为4326 )。请记住,这只更改了SRID代码,而不是存储在形状中的实际坐标。
发布于 2010-10-05 20:20:15
实际上,为了在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)我希望它能帮助你。
发布于 2016-10-15 06:41:36
在MySQL 5.7中,我使用以下技术做到了这一点:
update location_polygons
set multipoly = ST_GeomFromGeoJSON(ST_AsGeoJSON(multipoly), 2, 0)
where SRID(multipoly) <> 0基于此文档的URL:https://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html
https://stackoverflow.com/questions/3463942
复制相似问题