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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
#!/bin/sh
# $NetBSD: epsg-load,v 1.3 2007/07/28 11:06:36 gdt Exp $
# epsg - import EPSG data into a relational database
# Copyright (c) 2006,2007 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
VERS=@VERS@
SRCDIR=@EPSGDIR@
PSQL=@PREFIX@/bin/psql
MYSQL=@PREFIX@/bin/mysql
if [ $# = 0 ]; then
HELP=1
fi
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_v$VERS.mdb_Tables_PostgreSQL.sql $PSQL_FLAGS
$PSQL -f $SRCDIR/EPSG_v$VERS.mdb_Data_PostgreSQL.sql $PSQL_FLAGS
$PSQL -f $SRCDIR/EPSG_v$VERS.mdb_FKeys_PostgreSQL.sql $PSQL_FLAGS
fi
if [ $USE_MYSQL -eq 1 ]; then
echo "importing into a mySQL database ..."
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_Tables_MySQL.sql
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_Data_MySQL.sql
$MYSQL $MYSQL_FLAGS < $SRCDIR/EPSG_v$VERS.mdb_FKeys_MySQL.sql
fi
|