Create 2021 cartographic boundary files

This commit is contained in:
Diego Ripley
2025-06-04 16:36:45 +00:00
parent 13a86dc3dc
commit fad884efc8
18 changed files with 1324 additions and 971 deletions
+118 -46
View File
@@ -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);