2

ジオメトリタイプの列のsridを変更することは可能ですか?生のlatlonデータからジオメトリタイプデータのビューを作成し、それをジオサーバーで使用したいだけです。ただし、pointfromtext関数を使用した後、生成するデータのタイプはポイントではなくジオメトリであり、geoserverはそれをgeoserverで使用できないバイト配列の機能タイプとして扱います。ただし、mysqlで「point」関数を直接使用すると、正確なタイプのポイントを取得できますが、sridは正しくありません。

だから私の質問は、データのジオメトリタイプのsridを設定できますか?

4

3 に答える 3

0

次の手法を使用して、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

于 2016-10-14T22:41:36.127 に答える
0

実際に 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)

お役に立てば幸いです。

于 2010-10-05T12:20:15.490 に答える