既存のテーブルの経度と緯度の列を使用してポイントを作成したいと思います。ST_MakePoint
のドキュメントへのリンクは次のとおりです。
これが私のテーブルです:
CREATE TABLE sysinst.bio (
oid INTEGER PRIMARY KEY,
longitude FLOAT,
latitude FLOAT,
geom GEOMETRY(POINT, 26913)
);
ジオメトリ列の追加:
SELECT AddGeometryColumn ('sysinst', 'bio', 'geom', 26913, 'POINT', 2);
これが私のクエリです:
UPDATE sysinst.bio SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 26913);
QGISで表示したときにポイントが誤ってプロットされていても、エラーは返されません。
のために(-97.5959, 21.1922)
、私は受け取ります(-109.4896, 0.0002)
助言がありますか?
より簡単な方法があれば、私はこれをより効率的に行うことにオープンです。
クエリに問題はありません。おそらく、部分的に問題を診断しようとすることができます-QGISの部分を排除して、postgisにコマンドラインを使用するだけでしょうか?
—
BradHards 2013年
多分私は理解していませんが、経度緯度座標(-97、21)を度単位で、UTMベースのCRSに入力し、メーターを使用しているようです。これをSRID 26918として宣言する場合、long / lat値はそのCRSに含まれている必要があります。Long / Latの値が度単位の場合、ジオメトリをST_SetSRID(MakePoint(...)、4326)として作成し、レイヤーを26913に変換する必要があります
—
Micha
@Michaさん、コメントを回答として追加してください。適切なSRIDがOPの問題を解決すると期待しています。ST_Transformを追加する方法とその例を含めると役立つ場合もあります。
—
katahdin 2013年