在mysql中更改srid

在mysql中更改srid,mysql,geoserver,Mysql,Geoserver,是否可以更改几何图形类型列的srid?我只想从原始latlon数据创建几何体类型数据的视图,并在geoserver中使用它。但是,在使用pointfromtext函数后,我生成的数据类型是几何体而不是点,geoserver会将其视为无法在geoserver中使用的字节数组的特征类型。但是,如果我在mysql中直接使用'point'函数,我可以得到点的确切类型,但是srid不正确 因此,我的问题是,我可以为数据的几何类型设置srid吗?实际上,要在SQL Server 2008中执行您想要的操作,

是否可以更改几何图形类型列的srid?我只想从原始latlon数据创建几何体类型数据的视图,并在geoserver中使用它。但是,在使用pointfromtext函数后,我生成的数据类型是几何体而不是点,geoserver会将其视为无法在geoserver中使用的字节数组的特征类型。但是,如果我在mysql中直接使用'point'函数,我可以得到点的确切类型,但是srid不正确


因此,我的问题是,我可以为数据的几何类型设置srid吗?

实际上,要在SQL Server 2008中执行您想要的操作,我必须执行以下操作(更改EPGS中的所有数据:4326):

我不知道在MySQL中你是否可以做同样的事情。否则,您可以使用类似以下内容重建表:

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

我希望它能帮助你

我能够在MySQL 5.7中使用以下技术实现这一点:

update location_polygons
set multipoly = ST_GeomFromGeoJSON(ST_AsGeoJSON(multipoly), 2, 0)
where SRID(multipoly) <> 0
更新位置\u多边形
设置multipoly=ST_geomefromgeojson(ST_AsGeoJSON(multipoly),2,0)
其中SRID(多端口)0

基于此文档URL:

这是在MySQL中执行此操作的一种方法:

   UPDATE table SET shape = ST_GeomFromText(ST_AsText(shape), SRID);

其中SRID应为新的SRID代码(例如,WGS84的4326)。请记住,这只会更改SRID代码,而不会更改形状中存储的实际坐标。

Er。。更新TestGeom SET geom.STSrid=4326;有什么问题?当您说更改SRID时,您是指重新投影还是更改内部表示。SRID识别系统中的坐标。如果不进行坐标转换,就无法从一个SRID转到另一个SRID。您可以更改内部格式,这可能会毁掉您的一切。
   UPDATE table SET shape = ST_GeomFromText(ST_AsText(shape), SRID);