해안선을 따라 1000km마다 샘플 포인트를 가져와 남극 대륙에 문제가 발생하는 작업을 수행하고 있습니다. 내가 알 수있는 것은 실제로이 작업 에 지리를 사용해야 한다고 생각할 때 함수에서 기하학 을 사용하는 데 문제가있는 것 같습니다 .
이 매우 비슷한 질문 의 함수를 사용하면 다음과 같은 결과를 얻을 수 있습니다 .
당신이 볼 수있는 것처럼 ST_AddMeasure()
및 ST_LocateAlong()
남극에 앉아 많은 점에서 어떤 결과, 구면 형상을 취급하지 않는 것. 날짜 선을 따라 클립에 포인트가 추가되었습니다 (왼쪽). 이 두 함수의 문서에 따라 지오메트리 만 사용할 수 있습니다.
다각형과 점을 생성하는 데 사용되는 코드 는 여기 에서 찾을 수 있지만 점을 생성하는 데 사용되는 SQL입니다.
CREATE TABLE atest AS WITH line AS
(SELECT
id,
ST_ExteriorRing((ST_Dump(geom)).geom) AS geom
FROM line_sample_test),
linemeasure AS
(SELECT
ST_AddMeasure(line.geom, 0, (ST_Length(line.geom))::int) AS linem,
generate_series(0, (ST_Length(line.geom))::int, 10) AS i
FROM line),
geometries AS (
SELECT
i,
ST_LocateAlong(linem, i) AS geom
FROM linemeasure)
SELECT
* from geometries;
이 해안선을 따라 1000km마다 포인트를 어떻게 생성 할 수 있습니까?
ST_Segmentize를 사용해 보셨습니까? 또한 지오메트리에서만 작동 할 수 있지만 적어도 포인트를 생성하는 더 빠른 방법처럼 보입니다. 어쨌든 극점을 제거하는 것이 어떻습니까? 버그보다는 사용 된 투영의 부작용처럼 보입니다.
—
lynxlynxlynx 2018 년
그림에서 EPSG : 4326의 형상이있는 것 같습니다. 남극 대륙은 EPSG : 3031과 같은 극좌표 입체 투영에 더 적합합니다. 그럼에도 불구하고 날짜 줄을 따라 기둥에 대한 컷 라인을 처리해야 할 수도 있습니다.
—
Toby Speight