PostGIS에서 교차하는 두 선 사이의 각도를 계산하고 싶습니다.
PostGIS에서 각도 계산의 시작점은 ST_Azimuth 인 것처럼 보이지만 점을 입력으로 사용합니다. 나의 첫 번째 생각은 교차 선의 끝점을 취하고 그에 대한 방위각 계산을 수행하는 것이 었습니다. 대부분의 선 피쳐가 직선적이지 않기 때문에 충분하지 않으며 교차 각도에 관심이 있습니다. 그래서 내가 생각해 낸 것은 다음 단계를 거치는 중첩 된 작업입니다.
- 두 선 피쳐 테이블 간의 모든 교차점을 식별하십시오.
- 교차점 주위에 매우 작은 버퍼를 만듭니다.
- 라인 피처가 버퍼 외부와 교차하는 지점을 식별하십시오 (두 개 이상인 경우 첫 번째 점을 찍습니다-각도가 0, 90 또는 180도에 가까운 지 여부에만 관심이 있습니다)
- 이 두 점에 대한 ST_Azimuth를 계산하십시오.
전체 SQL은 여기에 게시하는 것이 길지만 관심이 있으시면 여기에 설명했습니다 . (그런데 WITH 문을 따르는 모든 필드를 처리하는 것보다 더 좋은 방법이 있습니까?)
결과가 올바르게 보이지 않으므로 분명히 뭔가 잘못하고 있습니다.
편집 EPSG : 3785에서 계산을 다시 실행했는데 결과가 약간 다르지만 여전히 올바르지 않습니다.
내 질문은 결함 이이 과정에서 어디에 있는지입니다. ST_Azimuth가하는 일을 오해하고 있습니까? CRS 문제가 있습니까? 다른 거 있어요? 아니면이 작업을 수행하는 훨씬 더 간단한 방법이 있습니까?