This gist helps storing data to import into the database for the ThinkHazard project to run.
GAUL data downloaded from fao.org geonetwork website:
- countries for 2014,
- first division for 2014,
- second division for2014
g2015* |
#! /bin/bash | |
echo "Creating database" | |
sudo -u postgres dropdb gaul | |
sudo -u postgres createdb gaul | |
sudo -u postgres psql -d gaul -c "CREATE EXTENSION postgis;" | |
echo "Unzipping shapefiles" | |
unzip -o g2015_2014_0.zip | |
unzip -o g2015_2014_1.zip | |
unzip -o g2015_2014_2.zip | |
echo "Shapefile > PostGIS" | |
shp2pgsql -s 4326 -W LATIN1 g2015_2014_0/g2015_2014_0.shp | sudo -u postgres psql -d gaul | |
shp2pgsql -s 4326 -W LATIN1 g2015_2014_1/g2015_2014_1.shp | sudo -u postgres psql -d gaul | |
shp2pgsql -s 4326 -W LATIN1 g2015_2014_2/g2015_2014_2.shp | sudo -u postgres psql -d gaul | |
echo "Removing duplicates" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_0 WHERE gid = 177;" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_2 WHERE gid = 5340;" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_2 WHERE gid = 5382;" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_2 WHERE gid = 5719;" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_2 WHERE gid = 20775;" | |
sudo -u postgres psql -d gaul -c "DELETE FROM g2015_2014_2 WHERE gid = 1059;" | |
echo "Creating administrative divisions" | |
sudo -u postgres psql -d gaul -c " | |
CREATE TABLE administrativedivision ( | |
id SERIAL PRIMARY KEY, | |
code integer UNIQUE, | |
leveltype_id integer, | |
name varchar, | |
parent_code integer | |
); | |
SELECT AddGeometryColumn('administrativedivision', 'geom', 3857, 'MULTIPOLYGON', 2); | |
INSERT INTO administrativedivision (code, leveltype_id, name, parent_code, geom) | |
SELECT adm0_code, 1, adm0_name, NULL, ST_Transform(geom, 3857) as geom | |
FROM g2015_2014_0; | |
INSERT INTO administrativedivision (code, leveltype_id, name, parent_code, geom) | |
SELECT adm1_code, 2, adm1_name, adm0_code, ST_Transform(geom, 3857) as geom | |
FROM g2015_2014_1; | |
INSERT INTO administrativedivision (code, leveltype_id, name, parent_code, geom) | |
SELECT adm2_code, 3, adm2_name, adm1_code, ST_Transform(geom, 3857) as geom | |
FROM g2015_2014_2; | |
" |