-
Notifications
You must be signed in to change notification settings - Fork 34
/
13_import_tiger_2015.sh
executable file
·41 lines (32 loc) · 1.21 KB
/
13_import_tiger_2015.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
cd /mnt/tmp/tiger2015
# For shp2pgsql
sudo apt-get install -y postgis
if [ -z $PGHOST ]; then
echo "You must set PGHOST environment variable to the hostname of the PostgreSQL server to operate on."
exit 1
fi
psql -d census -U census -v ON_ERROR_STOP=1 -q -c "DROP SCHEMA IF EXISTS tiger2015 CASCADE; CREATE SCHEMA tiger2015;"
psql -d census -U census -v ON_ERROR_STOP=1 -q -c "ALTER SCHEMA tiger2015 OWNER TO census;"
for i in CBSA CD COUNTY CSA PLACE STATE ELSD SCSD ZCTA5 COUSUB PUMA SLDL SLDU AIANNH AITS ANRC BG CNECTA CONCITY METDIV NECTA NECTADIV SUBMCD TBG TTRACT TABBLOCK TRACT UAC UNSD
do
for j in $i/*.zip
do
unzip -q -n $j -d $i
done
# Pick one of the shapefiles to build schema with
one_shapefile=`ls -a $i/*.shp | head -n 1`
# Start by preparing the table
shp2pgsql -W "latin1" -s 4326 -p -I $one_shapefile tiger2015.$i | psql -d census -U census -v ON_ERROR_STOP=1 -q
# Then append all the geometries
for j in $i/*.shp
do
shp2pgsql -W "latin1" -s 4326 -a $j tiger2015.$i | psql -d census -U census -v ON_ERROR_STOP=1 -q
done
if [ $? -ne 0 ]
then
echo "Couldn't import $i.sql."
exit 1
fi
rm -f $i.sql
done