summaryrefslogtreecommitdiff
path: root/databases/postgis
diff options
context:
space:
mode:
authorSam Lawrance <lawrance@FreeBSD.org>2005-04-23 08:44:08 +0000
committerSam Lawrance <lawrance@FreeBSD.org>2005-04-23 08:44:08 +0000
commitd330210a51267e5fb698f0553eb742d65a0150d4 (patch)
treeebeeb31a177078eff2a315015c5a06900c86c996 /databases/postgis
parentUnbreak on 4.x by using the port's included wide character functions. (diff)
Update PostGIS to 1.0.0.
PR: ports/80223 Submitted by: Anderson S. Ferreira <anderson@cnpm.embrapa.br> (maintainer) Approved by: clement (mentor)
Notes
Notes: svn path=/head/; revision=133987
Diffstat (limited to 'databases/postgis')
-rw-r--r--databases/postgis/Makefile6
-rw-r--r--databases/postgis/distinfo4
-rw-r--r--databases/postgis/files/README.postgis214
-rw-r--r--databases/postgis/files/patch-doc16
-rw-r--r--databases/postgis/files/patch-lwgeom10
-rw-r--r--databases/postgis/pkg-install11
-rw-r--r--databases/postgis/pkg-message9
7 files changed, 239 insertions, 31 deletions
diff --git a/databases/postgis/Makefile b/databases/postgis/Makefile
index fb1a0267ba9f..431b0aa9855b 100644
--- a/databases/postgis/Makefile
+++ b/databases/postgis/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= postgis
-DISTVERSION= 1.0.0-rc5
+DISTVERSION= 1.0.0
CATEGORIES= databases
MASTER_SITES= http://postgis.refractions.net/
@@ -19,7 +19,6 @@ USE_GMAKE= yes
USE_BISON= yes
USE_PERL5_BUILD= yes
-PKGMESSAGE= pkg-message
PGSQL_SRC= ${WRKDIR}/pgsql/postgresql
INSTALL_TARGET= install
@@ -41,6 +40,8 @@ MAKE_ARGS= PGSQL_SRC="${PGSQL_SRC}" \
PGSQL_PORTDIR= ${PORTSDIR}/databases/postgresql${PGSQL_VER}-server
+MAN1= pgsql2shp.1 shp2pgsql.1
+
.if !defined(NOPORTDOCS)
BUILD_DEPENDS+= xsltproc:${PORTSDIR}/textproc/libxslt \
${LOCALBASE}/share/xsl/docbook/html/chunk.xsl:${PORTSDIR}/textproc/docbook-xsl
@@ -73,7 +74,6 @@ pre-configure:
post-install:
@ ${SETENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PORTNAME} POST-INSTALL
- @ ${CAT} ${PKGMESSAGE}
post-deinstall:
@ ${SETENV} PKG_PREFIX=${PREFIX} \
diff --git a/databases/postgis/distinfo b/databases/postgis/distinfo
index 7e846bbc65de..b08f3bedc49b 100644
--- a/databases/postgis/distinfo
+++ b/databases/postgis/distinfo
@@ -1,2 +1,2 @@
-MD5 (postgis-1.0.0-rc5.tar.gz) = 6918a4c11ca70ab5685effd0f39b3ecf
-SIZE (postgis-1.0.0-rc5.tar.gz) = 1372632
+MD5 (postgis-1.0.0.tar.gz) = 15a5f625a7ebe2cbc66db51881d78d08
+SIZE (postgis-1.0.0.tar.gz) = 1383594
diff --git a/databases/postgis/files/README.postgis b/databases/postgis/files/README.postgis
new file mode 100644
index 000000000000..12163a476453
--- /dev/null
+++ b/databases/postgis/files/README.postgis
@@ -0,0 +1,214 @@
+PostGIS - Geographic Information Systems Extensions to PostgreSQL
+~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+VERSION: 1.0.0 (2005/01/13)
+
+MORE INFORMATION: http://postgis.refractions.net
+
+INTRODUCTION:
+This distribution contains a module which implements GIS simple
+features, ties the features to rtree indexing, and provides some
+spatial functions for accessing and analyzing geographic data.
+
+Directory structure:
+
+ ./ Build scripts and install directions.
+ ./lwgeom Library source code.
+ ./jdbc Extensions to the PostgreSQL JDBC drivers to support
+ the GIS objects.
+ ./doc Documentation on the code, objects and functions
+ provided.
+ ./loader A program to convert ESRI Shape files into SQL text
+ suitable for uploading into a PostGIS/PostgreSQL database
+ and a program for converting PostGIS spatial tables into
+ Shape files..
+ ./examples Small programs which demonstrate ways of accessing
+ GIS data.
+
+
+INSTALLATION:
+
+PostGIS is compatible with PostgreSQL 7.2 and above.
+
+To install the module, move this directory to the "contrib" directory of your
+PostgreSQL source installation. Alternately, point PGSQL_SRC at your
+PostgreSQL source tree either in an environment variable or editing
+Makefile.config.
+
+You *must* have a PostgreSQL source tree, and you *must* have succesfully
+built and installed it for this to work.
+
+SEE THE NOTE ON GEOS SUPPORT BELOW FOR SPECIAL COMPILATION INSTRUCTIONS
+
+
+* PROJ4 SUPPORT (Recommended):
+ The Proj4 reprojection library is required if you want to use the
+ transform() function to reproject features within the database.
+
+ http://www.remotesensing.org/proj
+
+ Install Proj4 in the default location.
+ Edit the postgis Makefile.config and change the USE_PROJ variable to 1
+ and ensure that the PROJ_DIR variable points to your Proj4
+ installation location (/usr/local is the default).
+
+* SPATIAL PREDICATE / GEOS SUPPORT (Recommended):
+ The GEOS library provides support for exact topological tests
+ such as Touches(), Contains(), Disjoint() and spatial operations
+ such as Intersection(), Union() and Buffer().
+
+ http://geos.refractions.net
+
+ In order to use the GEOS support, you *may* need to specially compile
+ your version of PostgreSQL to link the C++ runtime library.
+ To do this, invoke the PgSQL configuration script this way:
+
+ LDFLAGS=-lstdc++ ./configure --your-options-go-here
+
+ The initial LDFLAGS variable is passed through to the Makefile and
+ adds the C++ library to the linking stage.
+ Once you have compiled PgSQL with C++ support, you can enable GEOS
+ support in PostGIS by setting the USE_GEOS variable in the PostGIS
+ Makefile.config to 1, and ensure that the GEOS_DIR variable points
+ to your GEOS installation location (/usr/local is the default).
+
+
+To compile PostGIS, as root run:
+
+ make
+ make install
+
+PostGIS now requires the PL/pgSQL procedural language in order to operate
+correctly. To install PL/pgSQL use the 'createlang' program from the PostgreSQL
+installation. (The PostgreSQL Programmer's Guide has details if you want
+to this manually for some reason.)
+
+As postgres run:
+
+ createlang plpgsql yourdatabase
+ psql -f lwpostgis.sql -d yourdatabase
+
+Installation should now be complete.
+
+
+UPGRADING:
+
+Upgrading PostGIS can be tricky, because the underlying C libraries which
+support the object types and geometries may have changed between versions.
+
+For this purpose PostGIS provides an utility script to restore a dump
+produced with the pg_dump -Fc command. It is experimental so redirecting
+its output to a file will help in case of problems. The procedure is
+as follow:
+
+ # Create a "custom-format" dump of the database you want
+ # to upgrade (let's call it "olddb")
+ $ pg_dump -Fc olddb olddb.dump
+
+ # Restore the dump contextually upgrading postgis into
+ # a new database. The new database doesn't have to exist.
+ # Let's call it "newdb"
+ $ sh utils/postgis_restore.pl lwpostgis.sql newdb olddb.dump > restore.log
+
+ # Check that all restored dump objects really had to be restored from dump
+ # and do not conflict with the ones defined in lwpostgis.sql
+ $ grep ^KEEPING restore.log | less
+
+ # If upgrading from PostgreSQL < 7.5 to >= 7.5 you might want to
+ # drop the attrelid, varattnum and stats columns in the geometry_columns
+ # table, which are no-more needed. Keeping them won't hurt.
+ # !!! DROPPING THEM WHEN REALLY NEEDED WILL DO HURT !!!!
+ $ psql newdb -c "ALTER TABLE geometry_columns DROP attrelid"
+ $ psql newdb -c "ALTER TABLE geometry_columns DROP varattnum"
+ $ psql newdb -c "ALTER TABLE geometry_columns DROP stats"
+
+ # spatial_ref_sys table is restore from the dump, to ensure your custom
+ # additions are kept, but the distributed one might contain modification
+ # so you should backup your entries, drop the table and source the new one.
+ # If you did make additions we assume you know how to backup them before
+ # upgrading the table. Replace of it with the new one is done like this:
+ $ psql newdb
+ newdb=> drop table spatial_ref_sys;
+ DROP
+ newdb=> \i spatial_ref_sys.sql
+
+Following is the "old" procedure description. IT SHOULD BE AVOIDED if possible,
+as it will leave in the database many spurious functions. It is kept in this document
+as a "backup" in case postgis_restore.pl won't work for you:
+
+ pg_dump -t "*" -f dumpfile.sql yourdatabase
+ dropdb yourdatabase
+ createdb yourdatabase
+ createlang plpgsql yourdatabase
+ psql -f lwpostgis.sql -d yourdatabase
+ psql -f dumpfile.sql -d yourdatabase
+ vacuumdb -z yourdatabase
+
+
+USAGE:
+
+Try the following example SQL statements to create non-OpenGIS tables and
+geometries:
+
+ CREATE TABLE geom_test ( gid int4, geom geometry,name varchar(25) );
+ INSERT INTO geom_test ( gid, geom, name )
+ VALUES ( 1, 'POLYGON((0 0 0,0 5 0,5 5 0,5 0 0,0 0 0))', '3D Square');
+ INSERT INTO geom_test ( gid, geom, name )
+ VALUES ( 2, 'LINESTRING(1 1 1,5 5 5,7 7 5)', '3D Line' );
+ INSERT INTO geom_test ( gid, geom, name )
+ VALUES ( 3, 'MULTIPOINT(3 4,8 9)', '2D Aggregate Point' );
+ SELECT * from geom_test WHERE geom && 'BOX3D(2 2 0,3 3 0)'::box3d;
+
+The following SQL creates proper OpenGIS entries in the SPATIAL_REF_SYS
+and GEOMETRY_COLUMNS tables, and ensures that all geometries are created
+with an SRID.
+
+ INSERT INTO SPATIAL_REF_SYS
+ ( SRID, AUTH_NAME, AUTH_SRID, SRTEXT ) VALUES
+ ( 1, 'EPSG', 4269,
+ 'GEOGCS["NAD83",
+ DATUM[
+ "North_American_Datum_1983",
+ SPHEROID[
+ "GRS 1980",
+ 6378137,
+ 298.257222101
+ ]
+ ],
+ PRIMEM["Greenwich",0],
+ UNIT["degree",0.0174532925199433]]'
+ );
+
+ CREATE TABLE geotest (
+ id INT4,
+ name VARCHAR(32)
+ );
+
+ SELECT AddGeometryColumn('db','geotest','geopoint',1,'POINT',2);
+
+ INSERT INTO geotest (id, name, geopoint)
+ VALUES (1, 'Olympia', GeometryFromText('POINT(-122.90 46.97)',1));
+ INSERT INTO geotest (id, name, geopoint)
+ VALUES (2, 'Renton', GeometryFromText('POINT(-122.22 47.50)',1));
+
+ SELECT name,AsText(geopoint) FROM geotest;
+
+
+Spatial Indexes:
+
+PostgreSQL provides support for GiST spatial indexing. The GiST scheme offers
+indexing even on large objects, using a system of "lossy" indexing where
+a large object is proxied by a smaller one in the index. In the case
+of the PostGIS indexing system, all objects are proxied in the index by
+their bounding boxes.
+
+You can build a GiST index with:
+
+ CREATE INDEX <indexname>
+ ON <tablename>
+ USING GIST ( <geometryfield> );
+
+Always run the "VACUUM ANALYZE <tablename>" on your tables after
+creating an index. This gathers statistics which the query planner
+uses to optimize index usage.
+
diff --git a/databases/postgis/files/patch-doc b/databases/postgis/files/patch-doc
index dc97f38b2b7d..3d87ee3c56ab 100644
--- a/databases/postgis/files/patch-doc
+++ b/databases/postgis/files/patch-doc
@@ -1,5 +1,5 @@
---- doc/Makefile Fri Mar 4 16:34:47 2005
-+++ doc/Makefile Mon Mar 21 09:07:57 2005
+--- doc/Makefile Tue Apr 12 08:17:04 2005
++++ doc/Makefile Thu Apr 21 17:20:56 2005
@@ -1,11 +1,14 @@
COMMONOPTS = -f docbook -b html -e no-valid
@@ -13,10 +13,10 @@
-XSLBASE?=/usr/share/sgml/docbook/xsl-stylesheets
+XSLBASE?=/usr/local/share/xsl/docbook
+ #XSLBASE = /usr/share/xml/docbook/stylesheet/nwalsh
all: html
-
-@@ -15,14 +18,13 @@
+@@ -16,14 +19,13 @@
chunked-html: postgis-out.xml
xsltproc \
--output html/ \
@@ -32,10 +32,12 @@
html/postgis.html: postgis-out.xml
xsltproc \
-@@ -66,5 +68,15 @@
+@@ -67,6 +69,15 @@
maintainer-clean: clean
@rm -f html/*.html
+-install: html/postgis.html man/shp2pgsql.1 man/pgsql2shp.1
+-
+install: chunked-html
+ $(mkinstalldirs) $(DOCSDIR)
+ $(INSTALL_DATA) html/index.html $(DOCSDIR)/index.html
@@ -45,6 +47,6 @@
+ $(INSTALL_DATA) html/ch04.html $(DOCSDIR)/ch04.html
+ $(INSTALL_DATA) html/ch05.html $(DOCSDIR)/ch05.html
+ $(INSTALL_DATA) html/ch06.html $(DOCSDIR)/ch06.html
-+ $(INSTALL_DATA) html/ch07.html $(DOCSDIR)/ch07.html
-
++ $(INSTALL_DATA) html/apa.html $(DOCSDIR)/apa.html
++
.PHONY: html
diff --git a/databases/postgis/files/patch-lwgeom b/databases/postgis/files/patch-lwgeom
index d596d42e62d5..a85162cacf85 100644
--- a/databases/postgis/files/patch-lwgeom
+++ b/databases/postgis/files/patch-lwgeom
@@ -1,5 +1,5 @@
---- lwgeom/Makefile Fri Mar 18 09:43:23 2005
-+++ lwgeom/Makefile Mon Mar 21 08:58:26 2005
+--- lwgeom/Makefile Mon Apr 4 06:48:57 2005
++++ lwgeom/Makefile Thu Apr 21 17:08:37 2005
@@ -21,10 +21,10 @@
ifeq (${USE_VERSION},71)
@@ -23,10 +23,10 @@
+ $(INSTALL_DATA) lwpostgis.sql $(DESTDIR)$(DATADIR)/lwpostgis.sql.default
+ $(INSTALL_DATA) ../spatial_ref_sys.sql $(DESTDIR)$(DATADIR)/spatial_ref_sys.sql
+ $(INSTALL_DATA) ../README.postgis $(DESTDIR)$(DATADIR)/README.postgis
+ $(INSTALL_DATA) ../doc/man/pgsql2shp.1 $(DESTDIR)$(mandir)/man1/pgsql2shp.1
+ $(INSTALL_DATA) ../doc/man/shp2pgsql.1 $(DESTDIR)$(mandir)/man1/shp2pgsql.1
- #- This has been copied from postgresql and adapted
- install-lwgeom-lib: $(shlib)
-@@ -169,9 +169,9 @@
+@@ -171,9 +171,9 @@
sh ../geos_version.sh $(GEOS_DIR) > postgis_geos_version.h
installdirs:
diff --git a/databases/postgis/pkg-install b/databases/postgis/pkg-install
index 276ec257c4f4..f0516ea8eac6 100644
--- a/databases/postgis/pkg-install
+++ b/databases/postgis/pkg-install
@@ -2,14 +2,15 @@
msg(){
echo "
- ================== ** Postgis Upgrade Notice ** ===================
+ ================== ** Postgis Upgrade Notice ** ====================
- If you are a user from a old version of Postgis (0.9.1 or older),
- make a backup from your databases before continue !
+ If you are a user from old versions of Postgis (1.0.0-RC5 or older),
+ stop now and read the README.postgis file located in port's files
+ directory to know how to make a dump from your databases !
If you need to backup your data, press CTRL-C now !
- ======================= GEOS Support Notice =======================
+ ======================= GEOS Support Notice ========================
In order to use the GEOS support, you may need to specially compile
your version of PostgreSQL to link the C++ runtime library.
To do this, invoke the PostgreSQL Makefile script this way:
@@ -27,7 +28,7 @@ msg(){
The initial LDFLAGS variable is passed through to the Makefile and
adds the C++ library to the linking stage.
- ===================================================================
+ ====================================================================
"
sleep 10
diff --git a/databases/postgis/pkg-message b/databases/postgis/pkg-message
deleted file mode 100644
index fe8e71755310..000000000000
--- a/databases/postgis/pkg-message
+++ /dev/null
@@ -1,9 +0,0 @@
-=============================================================
-
-Postgis Installation note
-
-* The name of the postgis library has changed.
- Users from older versions (0.9.1 or older), *must* read
- PREFIX/share/postgis/README.postgis for instructions.
-
-=============================================================