mirror of
https://github.com/dataforcanada/d4c-datapkg-statistical.git
synced 2026-06-13 14:10:55 +02:00
Create 2021 cartographic boundary files
This commit is contained in:
@@ -6,8 +6,9 @@ Aggregate Dissemination Areas
|
||||
Definition here: https://web.archive.org/web/20240731061904/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo053
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.ada_2021;
|
||||
CREATE TABLE silver.ada_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.ada_2021_digital;
|
||||
CREATE TABLE silver.ada_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
cd.country_dguid,
|
||||
cd.country_en_name,
|
||||
@@ -36,9 +37,9 @@ SELECT DISTINCT
|
||||
dgr.ada_dguid,
|
||||
ada.geom
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN silver.cd_2021 AS cd
|
||||
LEFT JOIN silver.cd_2021_digital AS cd
|
||||
ON dgr.cd_dguid = cd.cd_dguid
|
||||
LEFT JOIN silver.cma_2021 AS cma
|
||||
LEFT JOIN silver.cma_2021_digital AS cma
|
||||
ON
|
||||
concat(dgr.cma_dguid, dgr.cma_p_dguid)
|
||||
= concat(cma.cma_dguid, cma.cma_p_dguid)
|
||||
@@ -47,13 +48,61 @@ LEFT JOIN bronze.lada000a21a_e AS ada
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ada_2021
|
||||
silver.ada_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ada_2021_geom_idx ON silver.ada_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX ada_2021_digital_geom_idx ON silver.ada_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.ada_2021_cartographic;
|
||||
CREATE TABLE silver.ada_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
b.ada_dguid,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lada000b21a_e AS a,
|
||||
silver.ada_2021_digital AS b
|
||||
WHERE a.dguid = b.ada_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ada_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ada_2021_cartographic_geom_idx ON silver.ada_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Census Agricultural Regions
|
||||
Definition here: https://web.archive.org/web/20250401192328/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/definition-eng.cfm?ID=geo006
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.car_2021;
|
||||
CREATE TABLE silver.car_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.car_2021_digital;
|
||||
CREATE TABLE silver.car_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -28,7 +29,7 @@ SELECT DISTINCT
|
||||
car.carfname AS car_fr_name,
|
||||
car.geom
|
||||
FROM
|
||||
silver.pr_2021 AS pr,
|
||||
silver.pr_2021_digital AS pr,
|
||||
silver.dissemination_geographies_relationship_2021 AS dgr,
|
||||
bronze.lcar000a21a_e AS car
|
||||
WHERE
|
||||
@@ -37,13 +38,54 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.car_2021
|
||||
silver.car_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX car_2021_geom_idx ON silver.car_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX car_2021_digital_geom_idx ON silver.car_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.car_2021_cartographic;
|
||||
CREATE TABLE silver.car_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lcar000b21a_e AS a,
|
||||
silver.car_2021_digital AS b
|
||||
WHERE
|
||||
a.dguid = b.car_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.car_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX car_2021_cartographic_geom_idx ON silver.car_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Census Consolidated Subdivisions
|
||||
Definition here: https://web.archive.org/web/20250401192303/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo007
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.ccs_2021;
|
||||
CREATE TABLE silver.ccs_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.ccs_2021_digital;
|
||||
CREATE TABLE silver.ccs_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
cd.country_dguid,
|
||||
cd.country_en_name,
|
||||
@@ -33,7 +34,7 @@ SELECT DISTINCT
|
||||
ccs.ccsname AS ccs_name,
|
||||
ccs.geom
|
||||
FROM
|
||||
silver.cd_2021 AS cd,
|
||||
silver.cd_2021_digital AS cd,
|
||||
silver.dissemination_geographies_relationship_2021 AS dgr,
|
||||
bronze.lccs000a21a_e AS ccs
|
||||
WHERE
|
||||
@@ -43,13 +44,59 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ccs_2021
|
||||
silver.ccs_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ccs_2021_geom_idx ON silver.ccs_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX ccs_2021_digital_geom_idx ON silver.ccs_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.ccs_2021_cartographic;
|
||||
CREATE TABLE silver.ccs_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
b.ccs_dguid,
|
||||
b.ccs_name,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lccs000b21a_e AS a,
|
||||
silver.ccs_2021_digital AS b
|
||||
WHERE
|
||||
a.dguid = b.ccs_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ccs_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ccs_2021_cartographic_geom_idx ON silver.ccs_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Census Divisions
|
||||
Definition here: https://web.archive.org/web/20250131082459/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/definition-eng.cfm?ID=geo008#moreinfo
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.cd_2021;
|
||||
CREATE TABLE silver.cd_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.cd_2021_digital;
|
||||
CREATE TABLE silver.cd_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -31,7 +32,7 @@ SELECT DISTINCT
|
||||
cd.cdtype AS cd_type,
|
||||
cd.geom
|
||||
FROM
|
||||
silver.pr_2021 AS pr,
|
||||
silver.pr_2021_digital AS pr,
|
||||
bronze.lcd_000a21a_e AS cd,
|
||||
silver.dissemination_geographies_relationship_2021 AS dgr,
|
||||
bronze.lcar000a21a_e AS car
|
||||
@@ -42,16 +43,59 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.cd_2021
|
||||
silver.cd_2021_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX cd_2021_geom_idx ON silver.cd_2021
|
||||
CREATE INDEX cd_2021_digital_geom_idx ON silver.cd_2021_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.cd_2021_cartographic;
|
||||
CREATE TABLE silver.cd_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lcd_000b21a_e AS a,
|
||||
silver.cd_2021_digital AS b
|
||||
WHERE
|
||||
a.dguid = b.cd_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.cd_2021_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX cd_2021_cartographic_geom_idx ON silver.cd_2021_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
/* 2016
|
||||
Definition here: https://web.archive.org/web/20250304001456/https://www12.statcan.gc.ca/census-recensement/2016/ref/dict/geo008-eng.cfm
|
||||
*/
|
||||
*/
|
||||
@@ -6,8 +6,9 @@ Census Metropolitan Areas
|
||||
Definition here: https://web.archive.org/web/20250518133322/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo009
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.cma_2021;
|
||||
CREATE TABLE silver.cma_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.cma_2021_digital;
|
||||
CREATE TABLE silver.cma_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -29,7 +30,7 @@ SELECT DISTINCT
|
||||
cma.cmatype AS cma_type,
|
||||
cma.geom
|
||||
FROM
|
||||
silver.pr_2021 AS pr,
|
||||
silver.pr_2021_digital AS pr,
|
||||
bronze.lcma000a21a_e AS cma,
|
||||
silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
WHERE
|
||||
@@ -44,13 +45,60 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.cma_2021
|
||||
silver.cma_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX cma_2021_geom_idx ON silver.cma_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX cma_2021_digital_geom_idx ON silver.cma_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.cma_2021_cartographic;
|
||||
CREATE TABLE silver.cma_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lcma000b21a_e AS a,
|
||||
silver.cma_2021_digital AS b
|
||||
WHERE
|
||||
concat(
|
||||
a.dguid,
|
||||
a.dguidp) = concat(
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid
|
||||
);
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.cma_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX cma_2021_cartographic_geom_idx ON silver.cma_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Census Subdivisions
|
||||
Definition here: https://web.archive.org/web/20240526213705/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo012
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.csd_2021;
|
||||
CREATE TABLE silver.csd_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.csd_2021_digital;
|
||||
CREATE TABLE silver.csd_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
cd.country_dguid,
|
||||
cd.country_en_name,
|
||||
@@ -44,28 +45,84 @@ SELECT DISTINCT
|
||||
gaf.sac_code,
|
||||
csd.geom
|
||||
FROM silver.gaf_2021 AS gaf
|
||||
LEFT JOIN silver.cma_2021 AS cma
|
||||
LEFT JOIN silver.cma_2021_digital AS cma
|
||||
ON
|
||||
concat(gaf.cma_dguid, gaf.cma_p_dguid)
|
||||
= concat(cma.cma_dguid, cma.cma_p_dguid)
|
||||
LEFT JOIN silver.cd_2021 AS cd
|
||||
LEFT JOIN silver.cd_2021_digital AS cd
|
||||
ON gaf.cd_dguid = cd.cd_dguid
|
||||
LEFT JOIN silver.er_2021 AS er
|
||||
LEFT JOIN silver.er_2021_digital AS er
|
||||
ON gaf.er_dguid = er.er_dguid
|
||||
LEFT JOIN silver.ccs_2021 AS ccs
|
||||
LEFT JOIN silver.ccs_2021_digital AS ccs
|
||||
ON gaf.ccs_dguid = ccs.ccs_dguid
|
||||
LEFT JOIN bronze.lcsd000a21a_e AS csd
|
||||
ON gaf.csd_dguid = csd.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.csd_2021
|
||||
silver.csd_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX csd_2021_geom_idx ON silver.csd_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX csd_2021_digital_geom_idx ON silver.csd_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.csd_2021_cartographic;
|
||||
CREATE TABLE silver.csd_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.er_dguid,
|
||||
b.er_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
b.ccs_dguid,
|
||||
b.ccs_name,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
b.csd_dguid,
|
||||
b.csd_name,
|
||||
b.csd_type,
|
||||
b.sac_type,
|
||||
b.sac_code,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lcsd000b21a_e AS a,
|
||||
silver.csd_2021_digital AS b
|
||||
WHERE a.dguid = b.csd_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.csd_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX csd_2021_cartographic_geom_idx ON silver.csd_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Census Tracts
|
||||
Definition here: https://web.archive.org/web/20241013011815/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo013
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.ct_2021;
|
||||
CREATE TABLE silver.ct_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.ct_2021_digital;
|
||||
CREATE TABLE silver.ct_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
cma.country_dguid,
|
||||
cma.country_en_name,
|
||||
@@ -32,7 +33,7 @@ SELECT DISTINCT
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN bronze.lct_000a21a_e AS ct
|
||||
ON dgr.ct_dguid = ct.dguid
|
||||
LEFT JOIN silver.cma_2021 AS cma
|
||||
LEFT JOIN silver.cma_2021_digital AS cma
|
||||
ON
|
||||
concat(dgr.cma_dguid, dgr.cma_p_dguid)
|
||||
= concat(cma.cma_dguid, cma.cma_p_dguid)
|
||||
@@ -40,13 +41,55 @@ WHERE dgr.ct_dguid IS NOT null;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ct_2021
|
||||
silver.ct_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ct_2021_geom_idx ON silver.ct_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX ct_2021_digital_geom_idx ON silver.ct_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.ct_2021_cartographic;
|
||||
CREATE TABLE silver.ct_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
b.ct_dguid,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lct_000b21a_e AS a,
|
||||
silver.ct_2021_digital AS b
|
||||
WHERE a.dguid = b.ct_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.ct_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX ct_2021_cartographic_geom_idx ON silver.ct_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
+118
-46
@@ -2,9 +2,9 @@
|
||||
Canada
|
||||
*/
|
||||
|
||||
-- 2021 Canada;
|
||||
DROP TABLE IF EXISTS silver.country_2021;
|
||||
CREATE TABLE silver.country_2021 AS
|
||||
-- 2021 Canada digital boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2021_digital;
|
||||
CREATE TABLE silver.country_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
'2021A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
@@ -17,19 +17,44 @@ FROM
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2021
|
||||
silver.country_2021_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2021_geom_idx ON silver.country_2021
|
||||
CREATE INDEX country_2021_digital_geom_idx ON silver.country_2021_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2016 Canada;
|
||||
DROP TABLE IF EXISTS silver.country_2016;
|
||||
CREATE TABLE silver.country_2016 AS
|
||||
-- 2021 Canada cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2021_cartographic;
|
||||
CREATE TABLE silver.country_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
'2021A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2021_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2021_cartographic_geom_idx ON silver.country_2021_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2016 Canada digital boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2016_digital;
|
||||
CREATE TABLE silver.country_2016_digital AS
|
||||
SELECT DISTINCT
|
||||
'2016A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
@@ -42,44 +67,94 @@ FROM
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2016
|
||||
silver.country_2016_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2016_geom_idx ON silver.country_2016
|
||||
CREATE INDEX country_2016_digital_geom_idx ON silver.country_2016_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2011 Canada;
|
||||
DROP TABLE IF EXISTS silver.country_2011;
|
||||
CREATE TABLE silver.country_2011 AS
|
||||
-- 2016 Canada cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2016_cartographic;
|
||||
CREATE TABLE silver.country_2016_cartographic AS
|
||||
SELECT DISTINCT
|
||||
'2016A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2016_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2016_cartographic_geom_idx ON silver.country_2016_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2011 Canada digital boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2011_digital;
|
||||
CREATE TABLE silver.country_2011_digital AS
|
||||
SELECT DISTINCT
|
||||
'2011A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
st_union(geom) AS geom
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.gpr_000a11a_e;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2011
|
||||
silver.country_2011_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2011_geom_idx ON silver.country_2011
|
||||
CREATE INDEX country_2011_digital_geom_idx ON silver.country_2011_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2006 Canada;
|
||||
DROP TABLE IF EXISTS silver.country_2006;
|
||||
CREATE TABLE silver.country_2006 AS
|
||||
-- 2011 Canada cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2011_cartographic;
|
||||
CREATE TABLE silver.country_2011_cartographic AS
|
||||
SELECT DISTINCT
|
||||
'2011A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.gpr_000b11a_e;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2011_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2011_cartographic_geom_idx ON silver.country_2011_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2006 Canada digital boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2006_digital;
|
||||
CREATE TABLE silver.country_2006_digital AS
|
||||
SELECT DISTINCT
|
||||
'2006A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
@@ -92,40 +167,37 @@ FROM
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2006
|
||||
silver.country_2006_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2006_geom_idx ON silver.country_2006
|
||||
CREATE INDEX country_2006_digital_geom_idx ON silver.country_2006_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2001 Canada;
|
||||
-- TODO
|
||||
/*
|
||||
-- Clean Provinces and Territories layer;
|
||||
UPDATE
|
||||
bronze.gpr_000a06a_e
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
DROP TABLE IF EXISTS country_2001;
|
||||
|
||||
CREATE TABLE country_2001 AS
|
||||
SELECT
|
||||
DISTINCT '2001A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
st_union(geom) AS geom
|
||||
-- 2006 Canada cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.country_2006_cartographic;
|
||||
CREATE TABLE silver.country_2006_cartographic AS
|
||||
SELECT DISTINCT
|
||||
'2006A000011124' AS country_dguid,
|
||||
'Canada' AS country_en_name,
|
||||
'Canada' AS country_fr_name,
|
||||
'CAN' AS country_en_abbreviation,
|
||||
'CAN' AS country_fr_abbreviation,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
lpr_000a21a_e;
|
||||
bronze.gpr_000b06a_e;
|
||||
|
||||
CREATE INDEX country_2001_geom_idx ON
|
||||
country_2001
|
||||
USING GIST(geom) WITH (FILLFACTOR = 100);
|
||||
*/
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.country_2006_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX country_2006_cartographic_geom_idx ON silver.country_2006_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
@@ -6,8 +6,9 @@ Designated Places
|
||||
Definition here: https://web.archive.org/web/20240731061904/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo018
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.dpl_2021;
|
||||
CREATE TABLE silver.dpl_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.dpl_2021_digital;
|
||||
CREATE TABLE silver.dpl_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -28,7 +29,7 @@ SELECT DISTINCT
|
||||
dpl.dpltype AS dpl_type,
|
||||
dpl.geom
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN silver.pr_2021 AS pr
|
||||
LEFT JOIN silver.pr_2021_digital AS pr
|
||||
ON dgr.pr_dguid = pr.pr_dguid
|
||||
LEFT JOIN bronze.ldpl000a21a_e AS dpl
|
||||
ON dgr.dpl_dguid = dpl.dguid
|
||||
@@ -36,13 +37,53 @@ WHERE dgr.dpl_dguid IS NOT null;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.dpl_2021
|
||||
silver.dpl_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX dpl_2021_geom_idx ON silver.dpl_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX dpl_2021_digital_geom_idx ON silver.dpl_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.dpl_2021_cartographic;
|
||||
CREATE TABLE silver.dpl_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.dpl_dguid,
|
||||
b.dpl_name,
|
||||
b.dpl_type,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.ldpl000b21a_e AS a,
|
||||
silver.dpl_2021_digital AS b
|
||||
WHERE b.dpl_dguid = a.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.dpl_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX dpl_2021_cartographic_geom_idx ON silver.dpl_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Dissemination Areas
|
||||
Definition here: https://web.archive.org/web/20240731061905/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/definition-eng.cfm?ID=geo021
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.da_2021;
|
||||
CREATE TABLE silver.da_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.da_2021_digital;
|
||||
CREATE TABLE silver.da_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
csd.country_dguid,
|
||||
csd.country_en_name,
|
||||
@@ -47,20 +48,79 @@ SELECT DISTINCT
|
||||
dgr.da_dguid,
|
||||
da.geom
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN silver.csd_2021 AS csd
|
||||
LEFT JOIN silver.csd_2021_digital AS csd
|
||||
ON dgr.csd_dguid = csd.csd_dguid
|
||||
LEFT JOIN bronze.lda_000a21a_e AS da
|
||||
ON dgr.da_dguid = da.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
bronze.lda_000a21a_e
|
||||
silver.da_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX da_2021_geom_idx ON silver.da_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX da_2021_digital_geom_idx ON silver.da_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.da_2021_cartographic;
|
||||
CREATE TABLE silver.da_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.er_dguid,
|
||||
b.er_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
b.ccs_dguid,
|
||||
b.ccs_name,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
b.csd_dguid,
|
||||
b.csd_name,
|
||||
b.csd_type,
|
||||
b.sac_type,
|
||||
b.sac_code,
|
||||
b.ct_dguid,
|
||||
b.ada_dguid,
|
||||
b.da_dguid,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lda_000b21a_e AS a,
|
||||
silver.da_2021_digital AS b
|
||||
WHERE a.dguid = b.da_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.da_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX da_2021_cartographic_geom_idx ON silver.da_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Dissemination Blocks
|
||||
Definition here: https://web.archive.org/web/20250212081621/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/definition-eng.cfm?ID=geo014
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.db_2021;
|
||||
CREATE TABLE silver.db_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.db_2021_digital;
|
||||
CREATE TABLE silver.db_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
csd.country_dguid,
|
||||
csd.country_en_name,
|
||||
@@ -52,22 +53,86 @@ SELECT DISTINCT
|
||||
dgr.db_dguid,
|
||||
db.geom
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN silver.csd_2021 AS csd
|
||||
LEFT JOIN silver.csd_2021_digital AS csd
|
||||
ON dgr.csd_dguid = csd.csd_dguid
|
||||
LEFT JOIN silver.fed_2021 AS fed
|
||||
LEFT JOIN silver.fed_2021_2013_digital AS fed
|
||||
ON dgr.fed_dguid = fed.fed_dguid
|
||||
LEFT JOIN bronze.ldb_000a21a_e AS db
|
||||
ON dgr.db_dguid = db.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.db_2021
|
||||
silver.db_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX db_2021_geom_idx ON silver.db_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX db_2021_digital_geom_idx ON silver.db_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.db_2021_cartographic;
|
||||
CREATE TABLE silver.db_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.car_dguid,
|
||||
b.car_en_name,
|
||||
b.car_fr_name,
|
||||
b.er_dguid,
|
||||
b.er_name,
|
||||
b.cd_dguid,
|
||||
b.cd_name,
|
||||
b.cd_type,
|
||||
b.ccs_dguid,
|
||||
b.ccs_name,
|
||||
b.cma_dguid,
|
||||
b.cma_p_dguid,
|
||||
b.cma_name,
|
||||
b.cma_type,
|
||||
b.csd_dguid,
|
||||
b.csd_name,
|
||||
b.csd_type,
|
||||
b.sac_type,
|
||||
b.sac_code,
|
||||
b.fed_dguid,
|
||||
b.fed_name,
|
||||
b.fed_en_name,
|
||||
b.fed_fr_name,
|
||||
b.ct_dguid,
|
||||
b.ada_dguid,
|
||||
b.da_dguid,
|
||||
b.db_dguid,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.ldb_000b21a_e AS a,
|
||||
silver.db_2021_digital AS b
|
||||
WHERE b.db_dguid = a.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.db_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX db_2021_cartographic_geom_idx ON silver.db_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Economic Regions
|
||||
Definition here: https://web.archive.org/web/20250518132130/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo022
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.er_2021;
|
||||
CREATE TABLE silver.er_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.er_2021_digital;
|
||||
CREATE TABLE silver.er_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -27,7 +28,7 @@ SELECT DISTINCT
|
||||
er.ername AS er_name,
|
||||
er.geom
|
||||
FROM
|
||||
silver.pr_2021 AS pr,
|
||||
silver.pr_2021_digital AS pr,
|
||||
silver.dissemination_geographies_relationship_2021 AS dgr,
|
||||
bronze.ler_000a21a_e AS er
|
||||
WHERE
|
||||
@@ -37,13 +38,53 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.er_2021
|
||||
silver.er_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX er_2021_geom_idx ON silver.er_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX er_2021_digital_geom_idx ON silver.er_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.er_2021_cartographic;
|
||||
CREATE TABLE silver.er_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.er_dguid,
|
||||
b.er_name,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.ler_000b21a_e AS a,
|
||||
silver.er_2021_digital AS b
|
||||
WHERE
|
||||
a.dguid = b.er_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.er_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX er_2021_cartographic_geom_idx ON silver.er_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,9 +6,9 @@ Federal Electoral Districts
|
||||
Definition here: https://web.archive.org/web/20240731061905/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo025
|
||||
*/
|
||||
|
||||
-- 2021 vintage, 2013 representation order;
|
||||
DROP TABLE IF EXISTS silver.fed_2021_2013;
|
||||
CREATE TABLE silver.fed_2021_2013 AS
|
||||
-- 2021 vintage, 2013 representation order. Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.fed_2021_2013_digital;
|
||||
CREATE TABLE silver.fed_2021_2013_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -30,7 +30,7 @@ SELECT DISTINCT
|
||||
fed.fedfname AS fed_fr_name,
|
||||
fed.geom
|
||||
FROM silver.dissemination_geographies_relationship_2021 AS dgr
|
||||
LEFT JOIN silver.pr_2021 AS pr
|
||||
LEFT JOIN silver.pr_2021_digital AS pr
|
||||
ON dgr.pr_dguid = pr.pr_dguid
|
||||
LEFT JOIN bronze.lfed000a21a_e AS fed
|
||||
ON dgr.fed_dguid = fed.dguid
|
||||
@@ -38,13 +38,54 @@ WHERE dgr.fed_dguid IS NOT null;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.fed_2021_2013
|
||||
silver.fed_2021_2013_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX fed_2021_2013_geom_idx ON silver.fed_2021_2013 USING gist (geom) WITH (
|
||||
CREATE INDEX fed_2021_2013_digital_geom_idx ON silver.fed_2021_2013_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- 2021 vintage, 2013 representation order. Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.fed_2021_2013_cartographic;
|
||||
CREATE TABLE silver.fed_2021_2013_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.fed_dguid,
|
||||
b.fed_name,
|
||||
b.fed_en_name,
|
||||
b.fed_fr_name,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lfed000b21a_e AS a,
|
||||
silver.fed_2021_2013_digital AS b
|
||||
WHERE a.dguid = b.fed_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.fed_2021_2013_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX fed_2021_2013_cartographic_geom_idx ON silver.fed_2021_2013_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,8 +6,9 @@ Forward Sortation Areas
|
||||
Definition here: https://web.archive.org/web/20241102112247/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/Definition-eng.cfm?ID=geo036
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.fsa_2021;
|
||||
CREATE TABLE silver.fsa_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.fsa_2021_digital;
|
||||
CREATE TABLE silver.fsa_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -26,18 +27,56 @@ SELECT DISTINCT
|
||||
fsa.dguid AS fsa_dguid,
|
||||
fsa.geom
|
||||
FROM bronze.lfsa000a21a_e AS fsa,
|
||||
silver.pr_2021 AS pr
|
||||
silver.pr_2021_digital AS pr
|
||||
WHERE concat('2021A0002', fsa.pruid) = pr.pr_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.fsa_2021
|
||||
silver.fsa_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX fsa_2021_geom_idx ON silver.fsa_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX fsa_2021_digital_geom_idx ON silver.fsa_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.fsa_2021_cartographic;
|
||||
CREATE TABLE silver.fsa_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.fsa_dguid,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lfsa000b21a_e AS a,
|
||||
silver.fsa_2021_digital AS b
|
||||
WHERE a.dguid = b.fsa_dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.fsa_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX fsa_2021_cartographic_geom_idx ON silver.fsa_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
@@ -6,9 +6,9 @@ Geographic Regions of Canada
|
||||
Definition here: https://web.archive.org/web/20240624230708/https://www150.statcan.gc.ca/n1/pub/92-195-x/2021001/geo/region/region-eng.htm
|
||||
*/
|
||||
|
||||
-- With geometries;
|
||||
DROP TABLE IF EXISTS silver.grc_2021;
|
||||
CREATE TABLE silver.grc_2021 AS
|
||||
-- With geometries. Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.grc_2021_digital;
|
||||
CREATE TABLE silver.grc_2021_digital AS
|
||||
WITH territories AS (
|
||||
SELECT
|
||||
'2021A00016' AS grc_dguid,
|
||||
@@ -71,7 +71,7 @@ final AS (
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -82,7 +82,7 @@ final AS (
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -93,7 +93,7 @@ final AS (
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -104,7 +104,7 @@ final AS (
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
@@ -113,14 +113,131 @@ FROM
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.grc_2021
|
||||
silver.grc_2021_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX grc_2021_geom_idx ON silver.grc_2021
|
||||
CREATE INDEX grc_2021_digital_geom_idx ON silver.grc_2021_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- With geometries. Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.grc_2021_cartographic;
|
||||
CREATE TABLE silver.grc_2021_cartographic AS
|
||||
WITH territories AS (
|
||||
SELECT
|
||||
'2021A00016' AS grc_dguid,
|
||||
'Territories' AS grc_en_name,
|
||||
'Territoires' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e
|
||||
WHERE
|
||||
pruid IN ('60', '61', '62')
|
||||
),
|
||||
|
||||
atlantic AS (
|
||||
SELECT
|
||||
'2021A00011' AS grc_dguid,
|
||||
'Atlantic' AS grc_en_name,
|
||||
'Atlantique' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e
|
||||
WHERE
|
||||
pruid IN ('10', '11', '12', '13')
|
||||
),
|
||||
|
||||
prairies AS (
|
||||
SELECT
|
||||
'2021A00014' AS grc_dguid,
|
||||
'Prairies' AS grc_en_name,
|
||||
'Prairies' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e
|
||||
WHERE
|
||||
pruid IN ('48', '47', '46')
|
||||
),
|
||||
|
||||
the_rest AS (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN pruid = '59' THEN '2021A00015'
|
||||
WHEN pruid = '35' THEN '2021A00013'
|
||||
WHEN pruid = '24' THEN '2021A00012'
|
||||
END AS grc_dguid,
|
||||
prename AS grc_en_name,
|
||||
prfname AS grc_fr_name,
|
||||
geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e
|
||||
WHERE
|
||||
pruid IN ('59', '35', '24')
|
||||
),
|
||||
|
||||
final AS (
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2021_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
final;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.grc_2021_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX grc_2021_cartographic_geom_idx ON silver.grc_2021_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2021 without geometries, and with pr_dguid;
|
||||
@@ -188,7 +305,7 @@ final AS (
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -199,7 +316,7 @@ final AS (
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -210,7 +327,7 @@ final AS (
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -221,7 +338,7 @@ final AS (
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2021 AS country
|
||||
silver.country_2021_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
@@ -232,9 +349,9 @@ FROM
|
||||
Definition here: https://web.archive.org/web/20240224030001/https://www12.statcan.gc.ca/census-recensement/2016/ref/dict/geo027a-eng.cfm
|
||||
*/
|
||||
|
||||
-- With geometries;
|
||||
DROP TABLE IF EXISTS silver.grc_2016;
|
||||
CREATE TABLE silver.grc_2016 AS
|
||||
-- With geometries. Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.grc_2016_digital;
|
||||
CREATE TABLE silver.grc_2016_digital AS
|
||||
WITH territories AS (
|
||||
SELECT
|
||||
'2016A00016' AS grc_dguid,
|
||||
@@ -297,7 +414,7 @@ final AS (
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -308,7 +425,7 @@ final AS (
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -319,7 +436,7 @@ final AS (
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -330,7 +447,7 @@ final AS (
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
@@ -339,14 +456,131 @@ FROM
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.grc_2016
|
||||
silver.grc_2016_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX grc_2016_geom_idx ON silver.grc_2016
|
||||
CREATE INDEX grc_2016_digital_geom_idx ON silver.grc_2016_digital
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- With geometries. Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.grc_2016_cartographic;
|
||||
CREATE TABLE silver.grc_2016_cartographic AS
|
||||
WITH territories AS (
|
||||
SELECT
|
||||
'2016A00016' AS grc_dguid,
|
||||
'Territories' AS grc_en_name,
|
||||
'Territoires' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e
|
||||
WHERE
|
||||
pruid IN ('60', '61', '62')
|
||||
),
|
||||
|
||||
atlantic AS (
|
||||
SELECT
|
||||
'2016A00011' AS grc_dguid,
|
||||
'Atlantic' AS grc_en_name,
|
||||
'Atlantique' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e
|
||||
WHERE
|
||||
pruid IN ('10', '11', '12', '13')
|
||||
),
|
||||
|
||||
prairies AS (
|
||||
SELECT
|
||||
'2016A00014' AS grc_dguid,
|
||||
'Prairies' AS grc_en_name,
|
||||
'Prairies' AS grc_fr_name,
|
||||
ST_UNION(geom) AS geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e
|
||||
WHERE
|
||||
pruid IN ('48', '47', '46')
|
||||
),
|
||||
|
||||
the_rest AS (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN pruid = '59' THEN '2016A00015'
|
||||
WHEN pruid = '35' THEN '2016A00013'
|
||||
WHEN pruid = '24' THEN '2016A00012'
|
||||
END AS grc_dguid,
|
||||
prename AS grc_en_name,
|
||||
prfname AS grc_fr_name,
|
||||
geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e
|
||||
WHERE
|
||||
pruid IN ('59', '35', '24')
|
||||
),
|
||||
|
||||
final AS (
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
country.country_en_name,
|
||||
country.country_fr_name,
|
||||
country.country_en_abbreviation,
|
||||
country.country_fr_abbreviation,
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2016_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
final;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.grc_2016_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX grc_2016_cartographic_geom_idx ON silver.grc_2016_cartographic
|
||||
USING gist (geom) WITH (fillfactor = 100);
|
||||
|
||||
-- 2016 without geometries, and with pr_dguid;
|
||||
@@ -415,7 +649,7 @@ final AS (
|
||||
territories.*
|
||||
FROM
|
||||
territories,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -426,7 +660,7 @@ final AS (
|
||||
prairies.*
|
||||
FROM
|
||||
prairies,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -437,7 +671,7 @@ final AS (
|
||||
atlantic.*
|
||||
FROM
|
||||
atlantic,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
UNION
|
||||
SELECT
|
||||
country.country_dguid,
|
||||
@@ -448,7 +682,7 @@ final AS (
|
||||
the_rest.*
|
||||
FROM
|
||||
the_rest,
|
||||
silver.country_2016 AS country
|
||||
silver.country_2016_digital AS country
|
||||
)
|
||||
|
||||
SELECT *
|
||||
|
||||
@@ -6,8 +6,9 @@ Population Centres
|
||||
Definition here: https://web.archive.org/web/20250324222733/https://www12.statcan.gc.ca/census-recensement/2021/ref/dict/az/definition-eng.cfm?ID=geo049a
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.pop_ctr_2021;
|
||||
CREATE TABLE silver.pop_ctr_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.pop_ctr_2021_digital;
|
||||
CREATE TABLE silver.pop_ctr_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
pr.country_dguid,
|
||||
pr.country_en_name,
|
||||
@@ -34,19 +35,61 @@ LEFT JOIN bronze.lpc_000a21a_e AS pop_ctr
|
||||
ON
|
||||
concat(gaf.pop_ctr_dguid, gaf.pop_ctr_p_dguid)
|
||||
= concat(pop_ctr.dguid, pop_ctr.dguidp)
|
||||
LEFT JOIN silver.pr_2021 AS pr
|
||||
LEFT JOIN silver.pr_2021_digital AS pr
|
||||
ON gaf.pr_dguid = pr.pr_dguid
|
||||
WHERE gaf.pop_ctr_dguid IS NOT null OR gaf.pop_ctr_p_dguid IS NOT null;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pop_ctr_2021
|
||||
silver.pop_ctr_2021_digital
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pop_ctr_2021_geom_idx ON silver.pop_ctr_2021 USING gist (
|
||||
CREATE INDEX pop_ctr_2021_digital_geom_idx ON silver.pop_ctr_2021_digital USING gist (
|
||||
geom
|
||||
) WITH (fillfactor = 100);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.pop_ctr_2021_cartographic;
|
||||
CREATE TABLE silver.pop_ctr_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
b.pop_ctr_dguid,
|
||||
b.pop_ctr_p_dguid,
|
||||
b.pop_ctr_name,
|
||||
b.pop_ctr_type,
|
||||
b.pop_ctr_class,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lpc_000b21a_e AS a,
|
||||
silver.pop_ctr_2021_digital AS b
|
||||
WHERE concat(b.pop_ctr_dguid, b.pop_ctr_p_dguid) = concat(a.dguid, a.dguidp);
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pop_ctr_2021_cartographic
|
||||
SET
|
||||
geom = st_makevalid(geom)
|
||||
WHERE
|
||||
st_isvalid(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pop_ctr_2021_cartographic_geom_idx ON silver.pop_ctr_2021_cartographic USING gist (
|
||||
geom
|
||||
) WITH (fillfactor = 100);
|
||||
@@ -6,8 +6,9 @@ Provinces and territories
|
||||
Definition here: https://web.archive.org/web/20240402175445/https://www150.statcan.gc.ca/n1/pub/92-195-x/2021001/geo/prov/prov-eng.htm
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.pr_2021;
|
||||
CREATE TABLE silver.pr_2021 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.pr_2021_digital;
|
||||
CREATE TABLE silver.pr_2021_digital AS
|
||||
SELECT DISTINCT
|
||||
grc.country_dguid,
|
||||
grc.country_en_name,
|
||||
@@ -46,14 +47,52 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pr_2021
|
||||
silver.pr_2021_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pr_2021_geom_idx ON pr_2021 USING gist (geom) WITH (
|
||||
CREATE INDEX pr_2021_digital_geom_idx ON pr_2021_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.pr_2021_cartographic;
|
||||
CREATE TABLE silver.pr_2021_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lpr_000b21a_e AS a,
|
||||
silver.pr_2021_digital AS b
|
||||
WHERE
|
||||
b.pr_dguid = a.dguid;
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pr_2021_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pr_2021_cartographic_geom_idx ON pr_2021_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
@@ -61,8 +100,9 @@ CREATE INDEX pr_2021_geom_idx ON pr_2021 USING gist (geom) WITH (
|
||||
Definition here: https://web.archive.org/web/20241104061057/https://www12.statcan.gc.ca/census-recensement/2016/ref/dict/geo038-eng.cfm
|
||||
*/
|
||||
|
||||
DROP TABLE IF EXISTS silver.pr_2016;
|
||||
CREATE TABLE silver.pr_2016 AS
|
||||
-- Digital boundary;
|
||||
DROP TABLE IF EXISTS silver.pr_2016_digital;
|
||||
CREATE TABLE silver.pr_2016_digital AS
|
||||
SELECT DISTINCT
|
||||
grc.country_dguid,
|
||||
grc.country_en_name,
|
||||
@@ -101,13 +141,51 @@ WHERE
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pr_2016
|
||||
silver.pr_2016_digital
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pr_2016_geom_idx ON pr_2016 USING gist (geom) WITH (
|
||||
CREATE INDEX pr_2016_digital_geom_idx ON pr_2016_digital USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
|
||||
-- Cartographic boundary;
|
||||
DROP TABLE IF EXISTS silver.pr_2016_cartographic;
|
||||
CREATE TABLE silver.pr_2016_cartographic AS
|
||||
SELECT DISTINCT
|
||||
b.country_dguid,
|
||||
b.country_en_name,
|
||||
b.country_fr_name,
|
||||
b.country_en_abbreviation,
|
||||
b.country_fr_abbreviation,
|
||||
b.grc_dguid,
|
||||
b.grc_en_name,
|
||||
b.grc_fr_name,
|
||||
b.pr_dguid,
|
||||
b.pr_en_name,
|
||||
b.pr_fr_name,
|
||||
b.pr_en_abbreviation,
|
||||
b.pr_fr_abbreviation,
|
||||
b.pr_iso_code,
|
||||
a.geom
|
||||
FROM
|
||||
bronze.lpr_000b16a_e AS a,
|
||||
silver.pr_2016_digital AS b
|
||||
WHERE
|
||||
b.pr_dguid = CONCAT('2016A0002', a.pruid);
|
||||
|
||||
-- Make geometries valid
|
||||
UPDATE
|
||||
silver.pr_2016_cartographic
|
||||
SET
|
||||
geom = ST_MAKEVALID(geom)
|
||||
WHERE
|
||||
ST_ISVALID(geom) = 'f';
|
||||
|
||||
-- Create spatial index
|
||||
CREATE INDEX pr_2016_cartographic_geom_idx ON pr_2016_cartographic USING gist (geom) WITH (
|
||||
fillfactor = 100
|
||||
);
|
||||
Reference in New Issue
Block a user