是否可以更改几何类型列的srid?我只想从原始latlon数据创建几何类型数据的视图,并在geoserver中使用它 . 然而,在使用pointfromtext函数之后,我生成的数据类型是几何而不是点,并且地理服务器会将其视为字节数组的特征类型,不能在地理服务器中使用 . 但是如果我直接在mysql中使用'point'函数,我可以得到确切的点类型但是srid不正确 .
所以我的问题是我可以为几何类型的数据设置srid吗?
这是在MySQL中执行此操作的一种方法:
UPDATE table SET shape = ST_GeomFromText(ST_AsText(shape), SRID);
其中SRID应该是新的SRID代码(例如,WGS84的4326) . 请记住,这只会更改SRID代码,而不会更改存储在形状中的实际坐标 .
实际上要在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上订购SRID:
UPDATE YourTable, (SELECT @rownum := 0) Australopithecus SET YourField = GeomFromText(AsText(YourField), (@rownum := @rownum + 1))
我可以使用以下技术在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
4 回答
这是在MySQL中执行此操作的一种方法:
其中SRID应该是新的SRID代码(例如,WGS84的4326) . 请记住,这只会更改SRID代码,而不会更改存储在形状中的实际坐标 .
实际上要在SQL Server 2008中执行您想要的操作,我必须执行以下操作(更改EPGS中的所有数据:4326):
我不知道在MySQL中你是否可以做同样的事情 . 否则,您可以使用类似于此的内容重建表:
我希望它可以帮到你 .
在MySQL上订购SRID:
我可以使用以下技术在MySQL 5.7中执行此操作:
基于此文档URL:https://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html