首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中更改srid

在mysql中更改srid
EN

Stack Overflow用户
提问于 2010-08-12 08:48:40
回答 3查看 7K关注 0票数 2

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

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

EN

回答 3

Stack Overflow用户

发布于 2018-03-15 23:54:53

这是在MySQL中实现的一种方法:

代码语言:javascript
复制
   UPDATE table SET shape = ST_GeomFromText(ST_AsText(shape), SRID);

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

票数 6
EN

Stack Overflow用户

发布于 2010-10-05 20:20:15

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

代码语言:javascript
复制
update TestGeom set geom = geometry::STGeomFromText(geom.STAsText(), 4326)

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

代码语言:javascript
复制
update TestGeom 
set geom = geometry::STGeomFromText('POINT ('+ REPLACE(CONVERT(nvarchar, TestGeom.Lon), ',','.')+' '+REPLACE(CONVERT(nvarchar, TestGeom.Lat), ',','.')+' )', 4326)

我希望它能帮助你。

票数 0
EN

Stack Overflow用户

发布于 2016-10-15 06:41:36

在MySQL 5.7中,我使用以下技术做到了这一点:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3463942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档