Updated GeoDjango installation docs and spatial database template script for latest Ubuntu/Debian packages.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15520 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c40a1d1835
commit
c7618d5fa6
|
@ -1,9 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
POSTGIS_SQL_PATH=/usr/share/postgresql-8.3-postgis
|
||||
createdb -E UTF8 template_postgis # Create the template spatial database.
|
||||
createlang -d template_postgis plpgsql # Adding PLPGSQL language support.
|
||||
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';"
|
||||
psql -d template_postgis -f $POSTGIS_SQL_PATH/lwpostgis.sql # Loading the PostGIS SQL routines
|
||||
psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql
|
||||
psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" # Enabling users to alter spatial tables.
|
||||
#!/bin/bash
|
||||
|
||||
# For Ubuntu 8.x and 9.x releases.
|
||||
if [ -d "/usr/share/postgresql-8.3-postgis" ]
|
||||
then
|
||||
POSTGIS_SQL_PATH=/usr/share/postgresql-8.3-postgis
|
||||
POSTGIS_SQL=lwpostgis.sql
|
||||
fi
|
||||
|
||||
# For Ubuntu 10.04
|
||||
if [ -d "/usr/share/postgresql/8.4/contrib" ]
|
||||
then
|
||||
POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib
|
||||
POSTGIS_SQL=postgis.sql
|
||||
fi
|
||||
|
||||
# For Ubuntu 10.10 (with PostGIS 1.5)
|
||||
if [ -d "/usr/share/postgresql/8.4/contrib/postgis-1.5" ]
|
||||
then
|
||||
POSTGIS_SQL_PATH=/usr/share/postgresql/8.4/contrib/postgis-1.5
|
||||
POSTGIS_SQL=postgis.sql
|
||||
GEOGRAPHY=1
|
||||
else
|
||||
GEOGRAPHY=0
|
||||
fi
|
||||
|
||||
createdb -E UTF8 template_postgis && \
|
||||
createlang -d template_postgis plpgsql && \
|
||||
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';" && \
|
||||
psql -d template_postgis -f $POSTGIS_SQL_PATH/$POSTGIS_SQL && \
|
||||
psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql && \
|
||||
psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" && \
|
||||
psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
|
||||
|
||||
if ((GEOGRAPHY))
|
||||
then
|
||||
psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"
|
||||
fi
|
||||
|
|
|
@ -89,7 +89,7 @@ Program Description Required
|
|||
======================== ==================================== ================================ ==========================
|
||||
:ref:`GEOS <ref-geos>` Geometry Engine Open Source Yes 3.2, 3.1, 3.0
|
||||
`PROJ.4`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 4.7, 4.6, 4.5, 4.4
|
||||
:ref:`GDAL <ref-gdal>` Geospatial Data Abstraction Library No (but, required for SQLite) 1.7, 1.6, 1.5, 1.4
|
||||
:ref:`GDAL <ref-gdal>` Geospatial Data Abstraction Library No (but, required for SQLite) 1.8, 1.7, 1.6, 1.5, 1.4
|
||||
:ref:`GeoIP <ref-geoip>` IP-based geolocation library No 1.4
|
||||
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 1.5, 1.4, 1.3
|
||||
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 2.4, 2.3
|
||||
|
@ -176,7 +176,7 @@ When GeoDjango can't find GEOS, this error is raised::
|
|||
The most common solution is to properly configure your :ref:`libsettings` *or* set
|
||||
:ref:`geoslibrarypath` in your settings.
|
||||
|
||||
If using a binary package of GEOS (e.g., on Ubuntu 8.10), you may need to :ref:`binutils`.
|
||||
If using a binary package of GEOS (e.g., on Ubuntu), you may need to :ref:`binutils`.
|
||||
|
||||
.. _geoslibrarypath:
|
||||
|
||||
|
@ -274,9 +274,9 @@ supports :ref:`GDAL's vector data <ref-gdal>` capabilities [#]_.
|
|||
|
||||
First download the latest GDAL release version and untar the archive::
|
||||
|
||||
$ wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz
|
||||
$ tar xzf gdal-1.7.3.tar.gz
|
||||
$ cd gdal-1.7.3
|
||||
$ wget http://download.osgeo.org/gdal/gdal-1.8.0.tar.gz
|
||||
$ tar xzf gdal-1.8.0.tar.gz
|
||||
$ cd gdal-1.8.0
|
||||
|
||||
Configure, make and install::
|
||||
|
||||
|
@ -517,14 +517,15 @@ user. For example, you can use the following to become the ``postgres`` user::
|
|||
whereas version 1.4 uses ``<sharedir>/contrib/postgis.sql`` and
|
||||
version 1.5 uses ``<sharedir>/contrib/postgis-1.5/postgis.sql``.
|
||||
|
||||
To complicate matters, :ref:`ubuntudebian` distributions have their
|
||||
own separate directory naming system that changes each release.
|
||||
|
||||
The example below assumes PostGIS 1.5, thus you may need to modify
|
||||
``POSTGIS_SQL_PATH`` and the name of the SQL file for the specific
|
||||
version of PostGIS you are using.
|
||||
|
||||
Once you're a database super user, then you may execute the following commands
|
||||
to create a PostGIS spatial database template. If running Ubuntu :ref:`ibex`
|
||||
or Debian :ref:`lenny`, please refer to their specific documentation for
|
||||
modifications to these commands::
|
||||
to create a PostGIS spatial database template::
|
||||
|
||||
$ POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis-1.5
|
||||
# Creating the template spatial database.
|
||||
|
@ -549,6 +550,7 @@ PostGIS Version Shell Script
|
|||
1.3 `create_template_postgis-1.3.sh`_
|
||||
1.4 `create_template_postgis-1.4.sh`_
|
||||
1.5 `create_template_postgis-1.5.sh`_
|
||||
Debian/Ubuntu `create_template_postgis-debian.sh`_
|
||||
=============== ==========================================
|
||||
|
||||
Afterwards, you may create a spatial database by simply specifying
|
||||
|
@ -919,22 +921,30 @@ __ http://www.macports.org/
|
|||
Ubuntu & Debian GNU/Linux
|
||||
-------------------------
|
||||
|
||||
.. note::
|
||||
|
||||
The PostGIS SQL files are not placed the PostgreSQL share directory in the
|
||||
Debian and Ubuntu packages, and are located instead special directory
|
||||
depending on the release. Thus, when :ref:`spatialdb_template` use the
|
||||
`create_template_postgis-debian.sh`_ script instead
|
||||
|
||||
.. _ubuntu:
|
||||
|
||||
Ubuntu
|
||||
^^^^^^
|
||||
|
||||
.. _heron:
|
||||
.. _ubuntu10:
|
||||
|
||||
8.04 and lower
|
||||
~~~~~~~~~~~~~~
|
||||
10.04 and 10.10
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The 8.04 (and lower) versions of Ubuntu use GEOS v2.2.3 in their binary packages,
|
||||
which is incompatible with GeoDjango. Thus, do *not* use the binary packages
|
||||
for GEOS or PostGIS and build some prerequisites from source, per the instructions
|
||||
in this document; however, it is okay to use the PostgreSQL binary packages.
|
||||
In Ubuntu 10 PostgreSQL was upgraded to 8.4 and GDAL was upgraded to 1.6.
|
||||
Ubuntu 10.04 uses PostGIS 1.4, while Ubuntu 10.10 uses PostGIS 1.5 (with
|
||||
geography support). The installation commands are::
|
||||
|
||||
For more details, please see the Debian instructions for :ref:`etch` below.
|
||||
$ sudo apt-get install binutils gdal-bin postgresql-8.4-postgis \
|
||||
postgresql-server-dev-8.4 python-psycopg2 python-setuptools
|
||||
$ sudo easy_install Django
|
||||
|
||||
.. _ibex:
|
||||
|
||||
|
@ -943,7 +953,7 @@ For more details, please see the Debian instructions for :ref:`etch` below.
|
|||
|
||||
Use the synaptic package manager to install the following packages::
|
||||
|
||||
$ sudo apt-get install binutils libgdal1-1.5.0 postgresql-8.3-postgis \
|
||||
$ sudo apt-get install binutils gdal-bin postgresql-8.3-postgis \
|
||||
postgresql-server-dev-8.3 python-psycopg2 python-setuptools
|
||||
|
||||
Afterwards, you may install Django with Python's ``easy_install`` script (the
|
||||
|
@ -970,24 +980,14 @@ Optional packages to consider:
|
|||
* ``gdal-bin``: for GDAL command line programs like ``ogr2ogr``
|
||||
* ``python-gdal`` for GDAL's own Python bindings -- includes interfaces for raster manipulation
|
||||
|
||||
10.04
|
||||
~~~~~
|
||||
|
||||
In Ubuntu 10.04 LTS PostgreSQL was upgraded to 8.4, as was GDAL, which is now
|
||||
at version 1.6.0. Because of that, the package installation mentioned above
|
||||
has to be slightly changed::
|
||||
|
||||
$ sudo apt-get install binutils libgdal1-1.6.0 postgresql-8.4-postgis \
|
||||
postgresql-server-dev-8.4 python-psycopg2 python-setuptools
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
The Ubuntu ``proj`` package does not come with the datum shifting files
|
||||
installed, which will cause problems with the geographic admin because
|
||||
the ``null`` datum grid is not available for transforming geometries to the
|
||||
spherical mercator projection. A solution is to download the
|
||||
datum-shifting files, create the grid file, and install it yourself::
|
||||
On this version of Ubuntu the ``proj`` package does not come with the
|
||||
datum shifting files installed, which will cause problems with the
|
||||
geographic admin because the ``null`` datum grid is not available for
|
||||
transforming geometries to the spherical mercator projection. A solution
|
||||
is to download the datum-shifting files, create the grid file, and
|
||||
install it yourself::
|
||||
|
||||
$ wget http://download.osgeo.org/proj/proj-datumgrid-1.4.tar.gz
|
||||
$ mkdir nad
|
||||
|
@ -1000,11 +1000,17 @@ has to be slightly changed::
|
|||
do not plan on doing any database transformation of geometries to the
|
||||
Google projection (900913).
|
||||
|
||||
.. note::
|
||||
.. _heron:
|
||||
|
||||
The PostGIS SQL files are not placed the PostgreSQL share directory in the
|
||||
Ubuntu packages. Use the `create_template_postgis-debian.sh`_ script
|
||||
instead when :ref:`spatialdb_template`.
|
||||
8.04 and lower
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
The 8.04 (and lower) versions of Ubuntu use GEOS v2.2.3 in their binary packages,
|
||||
which is incompatible with GeoDjango. Thus, do *not* use the binary packages
|
||||
for GEOS or PostGIS and build some prerequisites from source, per the instructions
|
||||
in this document; however, it is okay to use the PostgreSQL binary packages.
|
||||
|
||||
For more details, please see the Debian instructions for :ref:`etch` below.
|
||||
|
||||
.. _debian:
|
||||
|
||||
|
@ -1051,6 +1057,7 @@ directions carefully.
|
|||
|
||||
5.0 (Lenny)
|
||||
^^^^^^^^^^^
|
||||
|
||||
This version is comparable to Ubuntu :ref:`ibex`, so the command
|
||||
is very similar::
|
||||
|
||||
|
|
Loading…
Reference in New Issue