summaryrefslogtreecommitdiff
path: root/geography/epsg/files/epsg.sh
diff options
context:
space:
mode:
Diffstat (limited to 'geography/epsg/files/epsg.sh')
-rw-r--r--geography/epsg/files/epsg.sh112
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