私は、地理空間フィールドがMySQL(5.7.20)でどのように機能するかを学びたいと考えています。MySQL Spatial - EPSG 4326から25831への変換ポイント
私が持っているように、テーブル:
INSERT INTO geom VALUES (ST_PointFromText('POINT(2.427475 41.534244)', 4326));
INSERT INTO geom VALUES (ST_PointFromText('POINT(2.428602 41.533272)', 4326));
INSERT INTO geom VALUES (ST_PointFromText('POINT(2.430147 41.534075)', 4326));
INSERT INTO geom VALUES (ST_PointFromText('POINT(2.429321 41.535191)', 4326));
は、私が実行します:私はこの情報を挿入していた
CREATE TABLE `geom` (
`g` geometry NOT NULL,
SPATIAL KEY `g` (`g`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SELECT * FROM geom;
私が得るすべては、BLOBと4行ですフィールド。
私が実行します。
SELECT ST_AsText(g) FROM geom;
私が挿入していたと私は同じことを得る:
POINT(2.429321 41.535191)
POINT(2.430147 41.534075)
POINT(2.428602 41.533272)
POINT(2.427475 41.534244)
そして今、私はEPSGからの出力coordenates変換しようとしています:EPSGに4326を:25831を。
私は"MySQL Spatial - Convert from SRID 31287 to 4326"を発見し、代わりに、インサートの選択でそれを試みたが、SRIDを変更:
SELECT ST_AsText(g), ST_SRID(g), ST_AsText(ST_GeomFromText(ST_AsText(g), 25831)), ST_SRID(ST_GeomFromText(ST_AsText(g), 25831)) FROM geom;
そして私が手:
ST_AsText(g) || ST_SRID(g) || ST_AsText(ST_GeomFromText(ST_AsText(g), 25831)) || ST_SRID(ST_GeomFromText(ST_AsText(g), 25831))
POINT(2.429321 41.535191) || 4326 || POINT(2.429321 41.535191) || 25831
POINT(2.430147 41.534075) || 4326 || POINT(2.430147 41.534075) || 25831
POINT(2.428602 41.533272) || 4326 || POINT(2.428602 41.533272) || 25831
POINT(2.427475 41.534244) || 4326 || POINT(2.427475 41.534244) || 25831
のでST_AsText(ST_GeomFromText(ST_AsText(g), 25831))
からの結果は私に同じことを取得します挿入された値としての座標。
私が得ようとしているのは、EPSG:4326からEPSG:25831への変換です。何か(または少なくとも座標):
POINT(452240.56 4598224.20)
POINT(452333.86 4598115.66)
POINT(452463.33 4598203.96)
POINT(452395.25 4598328.31)
私は間違っていますか?