PostGIS를 사용하여 테이블의 위도 / 경도에서 형상을 작성 하시겠습니까?


15

위도 및 긴 열을 포함하여 800,000 개가 넘는 레코드가있는 테이블이 있습니다. 데이터 소스가 지오메트리를 작성하지 않았으므로이를 수행하는 방법을 살펴 보았습니다. ST_MakePoint (x, y, SRID)가 있지만 모든 설명서 및 기타 스레드는 단일 점을 만드는 방법을 보여줍니다. 이 열을 사용하여 지오메트리 유형을 작성하는 방법


1
이 지점에서 선을 만드는 것을 의미합니까? 점은 선과 다각형과 같은 형상이므로 ...이 점에서 선을 만들 려면
DPSSpatial

아니. 공간 쿼리에 사용하기 위해 지오메트리 유형으로 변환하는 것을 의미했습니다. 내 질문에 대한 답변이 있지만 감사합니다.
dknuth 2016 년

답변:


32

최신 PostGIS 버전에서는 다음과 같은 약간 더 일반적인 구문이 허용됩니다.

ALTER TABLE your_table ADD COLUMN geom geometry(Point, 4326);

그런 다음 ST_SetSrid 및 ST_MakePoint를 사용하여 열을 채우십시오.

UPDATE your_table SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

여기에서 설명서를 참조하십시오 :


14

형상 열을 아직 추가 하지 않은 경우 (EPSG : 4326으로 ​​가정) :

SELECT AddGeometryColumn ('your_table','geom',4326,'POINT',2);

그런 다음 UPDATEx 및 y 필드의 이름을 전달하십시오.

UPDATE yourtable SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

WHERE절 을 포함하지 않으면 전체 테이블이 업데이트됩니다.

ST_SetSrid에 대한 참조 : https://postgis.net/docs/ST_SetSRID.html


2
ST_SRID는 ST_SetSRID 여야한다고 생각합니다. 나는 ST_SRID를 사용하여 오류가있어
비핀 굽타
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.