Add tags to obs_getavailablegeometries

Fixes #260

* Adds `geom_type`, `geom_extra`, and `geom_tags` to `OBS_GetAvailableGeometries`. This brings it up to spec with existing docs.
* Adds `timespan_type`, `timespan_extra`, and `timespan_tags` to `OBS_GetAvailableTimespans` for consistency.
This commit is contained in:
John Krauss 2017-04-03 21:51:32 +00:00
parent 536af5e4a2
commit 26e1a2f461
4 changed files with 26 additions and 3 deletions

View File

@ -327,9 +327,12 @@ timespan_id | Text | The ID of the timespan
timespan_name | Text | A human readable name for the timespan timespan_name | Text | A human readable name for the timespan
timespan_description | Text | Ignored timespan_description | Text | Ignored
timespan_weight | Numeric | Ignored timespan_weight | Numeric | Ignored
timespan_aggregate | Text | Ignored
timespan_license | Text | Ignored timespan_license | Text | Ignored
timespan_source | Text | Ignored timespan_source | Text | Ignored
timespan_aggregate | Text | Ignored timespan_type | Text | Ignored
timespan_extra | JSONB | Ignored
timespan_tags | JSONB | Ignored
valid_numer | Boolean | True if the `numer_id` argument is a valid numerator for this timespan, False otherwise valid_numer | Boolean | True if the `numer_id` argument is a valid numerator for this timespan, False otherwise
valid_denom | Boolean | True if the `timespan` argument is a valid timespan for this timespan, False otherwise valid_denom | Boolean | True if the `timespan` argument is a valid timespan for this timespan, False otherwise
valid_geom | Boolean | True if the `geom_id` argument is a valid geometry for this timespan, False otherwise valid_geom | Boolean | True if the `geom_id` argument is a valid geometry for this timespan, False otherwise

View File

@ -252,6 +252,9 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableGeometries(
geom_aggregate TEXT, geom_aggregate TEXT,
geom_license TEXT, geom_license TEXT,
geom_source TEXT, geom_source TEXT,
geom_type TEXT,
geom_extra JSONB,
geom_tags JSONB,
valid_numer BOOLEAN, valid_numer BOOLEAN,
valid_denom BOOLEAN, valid_denom BOOLEAN,
valid_timespan BOOLEAN, valid_timespan BOOLEAN,
@ -286,6 +289,9 @@ BEGIN
NULL::TEXT geom_aggregate, NULL::TEXT geom_aggregate,
NULL::TEXT license, NULL::TEXT license,
NULL::TEXT source, NULL::TEXT source,
geom_type::TEXT,
geom_extra::JSONB,
geom_tags::JSONB,
$1 = ANY(numers) valid_numer, $1 = ANY(numers) valid_numer,
$2 = ANY(denoms) valid_denom, $2 = ANY(denoms) valid_denom,
$3 = ANY(timespans) valid_timespan $3 = ANY(timespans) valid_timespan
@ -319,6 +325,9 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetAvailableTimespans(
timespan_aggregate TEXT, timespan_aggregate TEXT,
timespan_license TEXT, timespan_license TEXT,
timespan_source TEXT, timespan_source TEXT,
timespan_type TEXT,
timespan_extra JSONB,
timespan_tags JSONB,
valid_numer BOOLEAN, valid_numer BOOLEAN,
valid_denom BOOLEAN, valid_denom BOOLEAN,
valid_geom BOOLEAN valid_geom BOOLEAN
@ -343,8 +352,11 @@ BEGIN
timespan_description::TEXT, timespan_description::TEXT,
timespan_weight::NUMERIC, timespan_weight::NUMERIC,
NULL::TEXT timespan_aggregate, NULL::TEXT timespan_aggregate,
NULL::TEXT license, NULL::TEXT timespan_license,
NULL::TEXT source, NULL::TEXT timespan_source,
NULL::TEXT timespan_type,
NULL::JSONB timespan_extra,
NULL::JSONB timespan_tags,
$1 = ANY(numers) valid_numer, $1 = ANY(numers) valid_numer,
$2 = ANY(denoms) valid_denom, $2 = ANY(denoms) valid_denom,
$3 = ANY(geoms) valid_geom_id $3 = ANY(geoms) valid_geom_id

View File

@ -120,6 +120,9 @@ t
_obs_getavailablegeometries_bg_not_1996 _obs_getavailablegeometries_bg_not_1996
t t
(1 row) (1 row)
_obs_getavailablegeometries_has_boundary_tag
t
(1 row)
_obs_getavailabletimespans_2010_2014_in_all _obs_getavailabletimespans_2010_2014_in_all
t t
(1 row) (1 row)

View File

@ -289,6 +289,11 @@ FROM cdb_observatory.OBS_GetAvailableGeometries(
) WHERE valid_timespan = True) ) WHERE valid_timespan = True)
AS _obs_getavailablegeometries_bg_not_1996; AS _obs_getavailablegeometries_bg_not_1996;
SELECT 'subsection/tags.boundary' IN (SELECT (Jsonb_Each(geom_tags)).key
FROM cdb_observatory.OBS_GetAvailableGeometries(
ST_SetSRID(ST_MakePoint(-73.9, 40.7), 4326)
)) AS _obs_getavailablegeometries_has_boundary_tag;
-- --
-- OBS_GetAvailableTimespans tests -- OBS_GetAvailableTimespans tests
-- --