기존 테이블의 경도 및 위도 열을 사용하여 포인트 를 만들고 싶습니다 .
다음은 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에서 볼 때 POINTS가 잘못 표시 되어도 반환 된 오류가 없습니다.
에 대해 (-97.5959, 21.1922)
, 나는 받는다(-109.4896, 0.0002)
어떤 제안?
더 쉬운 방법이 있다면이 작업을보다 효율적으로 수행 할 수 있습니다.
쿼리에 문제가 없습니다. 아마도 당신은 부분적으로 문제를 진단하려고 시도 할 수 있습니다-아마도 QGIS 부분을 제거하고 postgis에 명령 줄을 사용 하시겠습니까?
—
BradHards
어쩌면 이해하지 못하지만 UTM 기반이며 미터를 사용하는 CRS에 경도 위도 좌표 (-97, 21)를도 단위로 입력하는 것 같습니다. 이것을 SRID 26918로 선언하는 경우 long / lat 값은 해당 CRS에 있어야합니다. Long / Lat 값이도 단위이면 형상을 ST_SetSRID (MakePoint (...), 4326)로 작성하고 레이어를 26913으로 변환해야합니다.
—
Micha
@Micha, 귀하의 의견을 답변으로 추가해야합니다. 올바른 SRID가 OP 문제를 해결할 것으로 기대합니다. ST_Transform 을 추가하는 방법을 포함하고 예제를 포함하는 것도 도움이 될 수 있습니다 .
—
katahdin