diff options
Diffstat (limited to 'geography/epsg/files/epsg.sh')
-rw-r--r-- | geography/epsg/files/epsg.sh | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/geography/epsg/files/epsg.sh b/geography/epsg/files/epsg.sh new file mode 100644 index 00000000000..66a891093a8 --- /dev/null +++ b/geography/epsg/files/epsg.sh @@ -0,0 +1,112 @@ +#!/bin/sh +# $NetBSD: epsg.sh,v 1.1 2006/10/03 12:53:44 gdt Exp $ + +# epsg - import EPSG data into a relational database + +# Copyright (c) 2006 Brook Milligan <brook@nmsu.edu> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# 3. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +HOST= +PORT= +DB=epsg +USERNAME=$USER + +HELP=0 +USE_PGSQL=0 +USE_MYSQL=0 + +SRCDIR=${EPSGDIR} + +PSQL=${PREFIX}/bin/psql +MYSQL=${PREFIX}/bin/mysql + +while [ $# -gt 0 ]; do + case $1 in + --help) HELP=1;; + --dbname) DB=$2; shift;; + --host) HOST=$2; shift;; + --mysql) USE_MYSQL=1;; + --port) PORT=$2; shift;; + --pgsql) USE_PGSQL=1;; + --srcdir) SRCDIR=$2; shift;; + --username) USERNAME=$2; shift;; + *) HELP=1; echo "epsg: unrecognized option: $1";; + esac + shift; +done + +if [ $HELP -eq 1 ]; then + echo "epsg -- load the EPSG dataset into a database" + echo "usage: epsg [options]" + echo "options:" + echo " --help [ print a help message ]" + echo " --pgsql [ connect to a PostgreSQL database ]" + echo " --mysql [ connect to a mySQL database ]" + echo " --host hostname [ connect to a specific host ]" + echo " --port port [ connect to a specific port ]" + echo " --dbname database [ connect to a specific database ]" + echo " --username user [ connect as user ]" + exit 1 +fi + +echo "epsg - importing EPSG data ..." +if [ "$HOST" != "" ]; then + echo " host: $HOST" + PSQL_FLAGS="$PSQL_FLAGS --host $HOST" + MYSQL_FLAGS="$MYSQL_FLAGS --host=$HOST" +fi +if [ "$PORT" != "" ]; then + echo " port: $PORT" + PSQL_FLAGS="$PSQL_FLAGS --port $PORT" + MYSQL_FLAGS="$MYSQL_FLAGS --port=$PORT" +fi +if [ "$DB" != "" ]; then + echo " database: $DB" + PSQL_FLAGS="$PSQL_FLAGS --dbname $DB" + MYSQL_FLAGS="$MYSQL_FLAGS --database=$DB" +fi +if [ "$USERNAME" != "" ]; then + echo " username: $USERNAME" + PSQL_FLAGS="$PSQL_FLAGS --username $USERNAME" + MYSQL_FLAGS="$MYSQL_FLAGS --user=$USERNAME" +fi + +if [ $USE_PGSQL -eq 1 ]; then + echo "importing into a PostgreSQL database ..." + $PSQL -f $SRCDIR/EPSG_v6_11.mdb_Tables_PostgreSQL.sql $PSQL_FLAGS + $PSQL -f $SRCDIR/EPSG_v6_11.mdb_Data_PostgreSQL.sql $PSQL_FLAGS + $PSQL -f $SRCDIR/EPSG_v6_11.mdb_FKeys_PostgreSQL.sql $PSQL_FLAGS +fi + +if [ $USE_MYSQL -eq 1 ]; then + echo "importing into a mySQL database ..." + $MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v6_11.mdb_Tables_MySQL.sql + $MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v6_11.mdb_Data_MySQL.sql + $MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v6_11.mdb_FKeys_MySQL.sql +fi |