add etl files with specific db name
This commit is contained in:
parent
4139120f5a
commit
226c9a1a5f
9
etl/create_building_records_cl.sh
Normal file
9
etl/create_building_records_cl.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Create corresponding 'building' record with
|
||||
# id: <building-guid>,
|
||||
# doc: {},
|
||||
# geom_id: <polygon-guid>
|
||||
#
|
||||
psql -d colouringlondon -c "INSERT INTO buildings ( geometry_id, ref_toid ) SELECT geometry_id, source_id from geometries;"
|
32
etl/load_geometries_cl.sh
Normal file
32
etl/load_geometries_cl.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Load geometries from GeoJSON to Postgres
|
||||
# - assume postgres connection details are set in the environment using PGUSER, PGHOST etc.
|
||||
#
|
||||
: ${1?"Usage: $0 ./path/to/mastermap/dir"}
|
||||
|
||||
mastermap_dir=$1
|
||||
|
||||
#
|
||||
# Create 'geometry' record with
|
||||
# id: <polygon-guid>,
|
||||
# source_id: <toid>,
|
||||
# geom: <geom>
|
||||
#
|
||||
find $mastermap_dir -type f -name '*.3857.csv' \
|
||||
-printf "$mastermap_dir/%f\n" | \
|
||||
parallel \
|
||||
cat {} '|' psql -d colouringlondon -c "\"COPY geometries ( geometry_geom, source_id ) FROM stdin WITH CSV HEADER;\""
|
||||
|
||||
#
|
||||
# Delete any duplicated geometries (by TOID)
|
||||
#
|
||||
psql -d colouringlondon -c "DELETE FROM geometries a USING (
|
||||
SELECT MIN(ctid) as ctid, source_id
|
||||
FROM geometries
|
||||
GROUP BY source_id
|
||||
HAVING COUNT(*) > 1
|
||||
) b
|
||||
WHERE a.source_id = b.source_id
|
||||
AND a.ctid <> b.ctid;"
|
Loading…
Reference in New Issue
Block a user