-
Notifications
You must be signed in to change notification settings - Fork 34
/
13_import_tiger_2013.sh
executable file
·39 lines (31 loc) · 1.11 KB
/
13_import_tiger_2013.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
#!/bin/bash
cd /mnt/tmp/tiger2013
if [ -z $PGHOST ]; then
echo "You must set PGHOST environment variable to the hostname of the PostgreSQL server to operate on."
exit 1
fi
for i in **/*.zip
do
unzip -q -n $i -d `dirname $i`
done
psql -h $PGHOST -d census -c "DROP SCHEMA IF EXISTS tiger2013; CREATE SCHEMA tiger2013;"
psql -h $PGHOST -d census -c "ALTER SCHEMA tiger2013 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 VTD
do
# 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 tiger2013.$i > $i.sql
# Then append all the geometries
for j in $i/*.shp
do
shp2pgsql -W "latin1" -s 4326 -a $j tiger2013.$i >> $i.sql
done
# Then load them in to postgres
psql -d census -h $PGHOST -U census -q -f $i.sql
if [ $? -ne 0 ]
then
echo "Couldn't import $i.sql."
exit 1
fi
done