Merge remote-tracking branch 'origin/QLIK' into qlik-alfa-plproxy
Conflicts: src/pg/test/expected/40_observatory_utility_test.out src/pg/test/sql/40_observatory_utility_test.sql
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
-- OBS_GeomTable
|
||||
-- get table with known geometry_id
|
||||
-- should give back a table like obs_{hex hash}
|
||||
SELECT
|
||||
SELECT
|
||||
cdb_observatory.OBS_GeomTable(
|
||||
CDB_LatLng(40.7128,-74.0059),
|
||||
'"us.census.tiger".census_tract'
|
||||
@@ -13,19 +13,26 @@ SELECT
|
||||
|
||||
-- get null for unknown geometry_id
|
||||
-- should give back null
|
||||
SELECT
|
||||
SELECT
|
||||
cdb_observatory.OBS_GeomTable(
|
||||
CDB_LatLng(40.7128,-74.0059),
|
||||
'"us.census.tiger".nonexistant_id'
|
||||
'"us.census.tiger".nonexistant_id' -- not in catalog
|
||||
);
|
||||
|
||||
-- future test: give back nulls when geometry doesn't intersect
|
||||
-- SELECT
|
||||
-- cdb_observatory.OBS_GeomTable(
|
||||
-- CDB_LatLng(0,0), -- should give back null since it's in the ocean?
|
||||
-- '"us.census.tiger".census_tract'
|
||||
-- );
|
||||
|
||||
-- OBS_GetColumnData
|
||||
-- should give back:
|
||||
-- colname | tablename | aggregate
|
||||
-- -----------|-----------------|-----------
|
||||
-- geoid | obs_{hex table} | null
|
||||
-- total_pop | obs_{hex table} | sum
|
||||
SELECT
|
||||
SELECT
|
||||
(unnest(cdb_observatory.OBS_GetColumnData(
|
||||
'"us.census.tiger".census_tract',
|
||||
Array['"us.census.tiger".census_tract_geoid', '"us.census.acs".B01001001'],
|
||||
@@ -33,18 +40,39 @@ SELECT
|
||||
))).*
|
||||
ORDER BY colname, tablename ASC;
|
||||
|
||||
-- should be null-valued
|
||||
SELECT
|
||||
(unnest(cdb_observatory.OBS_GetColumnData(
|
||||
'"us.census.tiger".census_tract',
|
||||
Array['"us.census.tiger".baloney'], -- entry not in catalog
|
||||
'2009 - 2013'
|
||||
))).*
|
||||
ORDER BY 1 ASC;
|
||||
|
||||
-- OBS_LookupCensusHuman
|
||||
-- should give back: {"\"us.census.acs\".B19083001"}
|
||||
SELECT
|
||||
SELECT
|
||||
cdb_observatory.OBS_LookupCensusHuman(
|
||||
Array['gini_index']
|
||||
);
|
||||
|
||||
-- should be empty array
|
||||
SELECT
|
||||
cdb_observatory.OBS_LookupCensusHuman(
|
||||
Array['cookies']
|
||||
);
|
||||
|
||||
-- OBS_BuildSnapshotQuery
|
||||
-- Should give back: SELECT vals[1] As total_pop, vals[2] As male_pop, vals[3] As female_pop, vals[4] As median_age
|
||||
SELECT
|
||||
SELECT
|
||||
cdb_observatory.OBS_BuildSnapshotQuery(
|
||||
Array['total_pop','male_pop','female_pop','median_age']
|
||||
);
|
||||
|
||||
-- should give back: SELECT vals[1] As mandarin_orange
|
||||
SELECT
|
||||
cdb_observatory.OBS_BuildSnapshotQuery(
|
||||
Array['mandarin_orange']
|
||||
);
|
||||
|
||||
\i test/sql/drop_fixtures.sql
|
||||
|
||||
135
src/pg/test/sql/41_observatory_augmentation_test.sql
Normal file
135
src/pg/test/sql/41_observatory_augmentation_test.sql
Normal file
@@ -0,0 +1,135 @@
|
||||
SELECT set_config(
|
||||
'search_path',
|
||||
current_setting('search_path') || ',cdb_observatory,observatory',
|
||||
false
|
||||
) WHERE current_setting('search_path') !~ '(^|,)(cdb_observatory|observatory)(,|$)';
|
||||
|
||||
\i test/sql/load_fixtures.sql
|
||||
|
||||
--
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_GetDemographicSnapshot(
|
||||
cdb_observatory._TestPoint(),
|
||||
'2009 - 2013',
|
||||
'"us.census.tiger".block_group'
|
||||
) As snapshot;
|
||||
|
||||
--
|
||||
-- dimension | dimension_value
|
||||
-- ----------|----------------
|
||||
-- total_pop | 9516.27915900609
|
||||
-- male_pop | 6152.51885204623
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
cdb_observatory.OBS_GetCensus(
|
||||
cdb_observatory._TestPoint(),
|
||||
Array['total_pop','male_pop']::text[]
|
||||
);
|
||||
|
||||
-- what happens on null island?
|
||||
-- expect nulls back: {female_pop, male_pop} | {NULL, NULL}
|
||||
SELECT *
|
||||
FROM
|
||||
cdb_observatory.OBS_GetCensus(
|
||||
ST_Buffer(CDB_LatLng(0, 0)::geography, 5000)::geometry,
|
||||
Array['female_pop','male_pop']::text[]
|
||||
);
|
||||
-- expect nulls back {female_pop, male_pop} | {NULL, NULL}
|
||||
SELECT *
|
||||
FROM
|
||||
cdb_observatory.OBS_GetCensus(
|
||||
CDB_LatLng(0, 0),
|
||||
Array['female_pop', 'male_pop']::text[]
|
||||
);
|
||||
|
||||
--
|
||||
-- names | vals
|
||||
-- -----------|-------
|
||||
-- gini_index | 0.3494
|
||||
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_Get(
|
||||
cdb_observatory._TestPoint(),
|
||||
Array['"us.census.acs".B19083001']::text[],
|
||||
'2009 - 2013',
|
||||
'"us.census.tiger".block_group'
|
||||
);
|
||||
|
||||
-- gini index at null island
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_Get(
|
||||
CDB_LatLng(0, 0),
|
||||
Array['"us.census.acs".B19083001']::text[],
|
||||
'2009 - 2013',
|
||||
'"us.census.tiger".block_group'
|
||||
);
|
||||
|
||||
-- OBS_GetPoints
|
||||
-- obs_getpoints
|
||||
-- --------------------
|
||||
-- {4809.33511352425}
|
||||
|
||||
SELECT
|
||||
cdb_observatory.OBS_GetPoints(
|
||||
cdb_observatory._TestPoint(),
|
||||
'obs_a92e1111ad3177676471d66bb8036e6d057f271b'::text, -- see example in obs_geomtable
|
||||
Array[('total_pop','obs_ab038198aaab3f3cb055758638ee4de28ad70146','sum')::cdb_observatory.OBS_ColumnData]
|
||||
);
|
||||
|
||||
-- what happens at null island
|
||||
SELECT
|
||||
cdb_observatory.OBS_GetPoints(
|
||||
CDB_LatLng(0, 0),
|
||||
'obs_a92e1111ad3177676471d66bb8036e6d057f271b'::text, -- see example in obs_geomtable
|
||||
Array[('total_pop','obs_ab038198aaab3f3cb055758638ee4de28ad70146','sum')::cdb_observatory.OBS_ColumnData]
|
||||
);
|
||||
|
||||
-- OBS_GetPolygons
|
||||
-- obs_getpolygons
|
||||
-- --------------------
|
||||
-- {12996.8172420752}
|
||||
|
||||
SELECT
|
||||
OBS_GetPolygons(
|
||||
_TestArea(),
|
||||
'obs_a92e1111ad3177676471d66bb8036e6d057f271b'::text, -- see example in obs_geomtable
|
||||
Array[('total_pop','obs_ab038198aaab3f3cb055758638ee4de28ad70146','sum')::OBS_ColumnData]
|
||||
);
|
||||
|
||||
-- see what happens around null island
|
||||
SELECT
|
||||
OBS_GetPolygons(
|
||||
ST_Buffer(CDB_LatLng(0, 0)::geography, 500)::geometry,
|
||||
'obs_a92e1111ad3177676471d66bb8036e6d057f271b'::text, -- see example in obs_geomtable
|
||||
Array[('total_pop','obs_ab038198aaab3f3cb055758638ee4de28ad70146','sum')::OBS_ColumnData]
|
||||
);
|
||||
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_GetSegmentSnapshot(
|
||||
_TestPoint(),
|
||||
'"us.census.tiger".census_tract'
|
||||
);
|
||||
|
||||
-- segmentation around null island
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_GetSegmentSnapshot(
|
||||
CDB_LatLng(0, 0),
|
||||
'"us.census.tiger".census_tract'
|
||||
);
|
||||
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_GetCategories(
|
||||
_TestPoint(),
|
||||
Array['"us.census.spielman_singleton_segments".X10'],
|
||||
'"us.census.tiger".census_tract'
|
||||
);
|
||||
|
||||
SELECT * FROM
|
||||
cdb_observatory.OBS_GetCategories(
|
||||
CDB_LatLng(0, 0),
|
||||
Array['"us.census.spielman_singleton_segments".X10'],
|
||||
'"us.census.tiger".census_tract'
|
||||
);
|
||||
|
||||
\i test/sql/drop_fixtures.sql
|
||||
@@ -27,4 +27,20 @@ DROP TABLE observatory.obs_85328201013baa14e8e8a4a57a01e6f6fbc5f9b1;
|
||||
DROP TABLE observatory.obs_3e7cc9cfd403b912c57b42d5f9195af9ce2f3cdb;
|
||||
\echo Done.
|
||||
|
||||
\echo Dropping obs_ab038198aaab3f3cb055758638ee4de28ad70146 fixture table...
|
||||
DROP TABLE observatory.obs_ab038198aaab3f3cb055758638ee4de28ad70146;
|
||||
\echo Done.
|
||||
|
||||
\echo Dropping obs_a92e1111ad3177676471d66bb8036e6d057f271b fixture table...
|
||||
DROP TABLE observatory.obs_a92e1111ad3177676471d66bb8036e6d057f271b;
|
||||
\echo Done.
|
||||
|
||||
\echo Dropping obs_11ee8b82c877c073438bc935a91d3dfccef875d1 fixture table...
|
||||
DROP TABLE observatory.obs_11ee8b82c877c073438bc935a91d3dfccef875d1;
|
||||
\echo Done.
|
||||
|
||||
\echo Dropping obs_d34555209878e8c4b37cf0b2b3d072ff129ec470 fixture table...
|
||||
DROP TABLE observatory.obs_d34555209878e8c4b37cf0b2b3d072ff129ec470;
|
||||
\echo Done.
|
||||
|
||||
\unset ECHO
|
||||
|
||||
@@ -27,4 +27,20 @@ SET client_min_messages TO WARNING;
|
||||
\i test/fixtures/obs_3e7cc9cfd403b912c57b42d5f9195af9ce2f3cdb.sql
|
||||
\echo Done.
|
||||
|
||||
\echo Loading obs_ab038198aaab3f3cb055758638ee4de28ad70146.sql fixture file...
|
||||
\i test/fixtures/obs_ab038198aaab3f3cb055758638ee4de28ad70146.sql
|
||||
\echo Done.
|
||||
|
||||
\echo Loading obs_a92e1111ad3177676471d66bb8036e6d057f271b.sql fixture file...
|
||||
\i test/fixtures/obs_a92e1111ad3177676471d66bb8036e6d057f271b.sql
|
||||
\echo Done.
|
||||
|
||||
\echo Loading obs_11ee8b82c877c073438bc935a91d3dfccef875d1.sql fixture file...
|
||||
\i test/fixtures/obs_11ee8b82c877c073438bc935a91d3dfccef875d1.sql
|
||||
\echo Done.
|
||||
|
||||
\echo Loading obs_d34555209878e8c4b37cf0b2b3d072ff129ec470.sql fixture file...
|
||||
\i test/fixtures/obs_d34555209878e8c4b37cf0b2b3d072ff129ec470.sql
|
||||
\echo Done.
|
||||
|
||||
\unset ECHO
|
||||
|
||||
Reference in New Issue
Block a user