ベクトルp1、p2と、ベクトルp3、p4の角度を算出するプログラム
postgresで実行。
SELECT ABS(
CASE WHEN diff_deg > 180 THEN diff_deg - 360
ELSE diff_deg END
) AS diff_deg
FROM (
SELECT ABS(
DEGREES( ST_Azimuth( p1, p2 )) - DEGREES( ST_Azimuth( p3, p4 ))
) AS diff_deg
FROM (
SELECT
ST_GeomFromText('POINT(0 0)') p1,
ST_GeomFromText('POINT(1 1)') p2,
ST_GeomFromText('POINT(0 0)') p3,
ST_GeomFromText('POINT(1 2)') p4
) AS p
) AS tmp