-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use"ALTER EXTENSION earthdistance UPDATE TO '1.2'"toload this file. \quit
CREATEORREPLACE FUNCTION earth() RETURNS float8
LANGUAGE SQL IMMUTABLE PARALLEL SAFE RETURN'6378168'::float8;
CREATEORREPLACE FUNCTION sec_to_gc(float8)
RETURNS float8
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURNCASE WHEN $1 < '0'::float8THEN'0'::float8 WHEN $1 / ('2'::float8 * earth()) > '1'::float8THEN pi() * earth() ELSE'2'::float8 * earth() * asin($1 / ('2'::float8 * earth()))
END;
CREATEORREPLACE FUNCTION gc_to_sec(float8)
RETURNS float8
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURNCASE WHEN $1 < '0'::float8THEN'0'::float8 WHEN $1 / earth() > pi() THEN'2'::float8 * earth() ELSE'2'::float8 * earth() * sin($1 / ('2'::float8 * earth()))
END;
CREATEORREPLACE FUNCTION latitude(earth)
RETURNS float8
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURNCASE WHEN @extschema:cube@.cube_ll_coord($1, 3) / earth() < '-1'::float8THEN'-90'::float8 WHEN @extschema:cube@.cube_ll_coord($1, 3) / earth() > '1'::float8THEN'90'::float8 ELSE degrees(asin(@extschema:cube@.cube_ll_coord($1, 3) / earth()))
END;
CREATEORREPLACE FUNCTION longitude(earth)
RETURNS float8
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURN degrees(atan2(@extschema:cube@.cube_ll_coord($1, 2),
@extschema:cube@.cube_ll_coord($1, 1)));
CREATEORREPLACE FUNCTION earth_distance(earth, earth)
RETURNS float8
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURN sec_to_gc(@extschema:cube@.cube_distance($1, $2));
CREATEORREPLACE FUNCTION earth_box(earth, float8)
RETURNS @extschema:cube@.cube
LANGUAGE SQL
IMMUTABLE STRICT
PARALLEL SAFE RETURN @extschema:cube@.cube_enlarge($1, gc_to_sec($2), 3);
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.9Bemerkung:
(vorverarbeitet am 2026-09-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.