SRID3857データのジオメトリフィールドを持つPostGISテーブルがあります。ジオメトリの図心を緯度/経度座標として取得したいのですが、値を正しく変換できないようです。
SELECT
ST_X(ST_CENTROID(geometry)),
ST_Y(ST_CENTROID(geometry)),
ST_X(ST_TRANSFORM(ST_CENTROID(geometry),3857)) AS LONG,
ST_Y(ST_CENTROID(ST_TRANSFORM(geometry,3857))) AS LAT
FROM my_table
=> -8220067.19453888107、4997528.08142071683、-8220067.19453888107、4997528.08142071683
lon / lat度ではなく、メートル単位の3857投影法(疑似メルカトル図法)を使用しています。
lon / lat値を取得するには、4326プロジェクションを使用する必要があります。
db=# SELECT
ST_X(ST_Centroid(geometry)),
ST_Y(ST_Centroid(geometry)),
ST_X(ST_Centroid(ST_Transform(geometry, 4326))) AS long,
ST_Y(ST_Centroid(ST_Transform(geometry, 4326))) AS lat
FROM my_table;
st_x | st_y | long | lat
-------------------+------------------+-------------------+------------------
-8220067.19453888 | 4997528.08142072 | -73.8421199734375 | 40.8994922746749
(1 row)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加