Commit 03d6f64d authored by Bas Couwenberg's avatar Bas Couwenberg

Imported Upstream version 2.2.1+dfsg

parent 21a80bd1
test:
script:
- apt-get update -qq
- apt-get install -y
postgresql-9.4 postgresql-server-dev-9.4
build-essential autoconf libtool libcunit1-dev
xsltproc docbook-xsl docbook-mathml dblatex
libproj-dev libgdal-dev libgeos-dev libjson0-dev
- lsb_release -a
- uname -a
- service postgresql start
- su -l postgres -c "createuser -s `whoami`"
- ./autogen.sh
- ./configure
- make
- make check RUNTESTFLAGS=-v
- make install
- make installcheck RUNTESTFLAGS=-v
......@@ -30,7 +30,7 @@ notifications:
email: false
irc:
channels:
- "irc.freenode.org#postgis"
- "irc.freenode.org#postgis-activity"
on_success: change
on_failure: always
use_notice: false
This diff is collapsed.
......@@ -25,9 +25,8 @@ all: postgis_svn_revision.h
ifeq (@LIBLWGEOM_ONLY@,no)
install: all comments-install
endif
uninstall: docs-uninstall comments-uninstall
endif
clean: docs-clean clean-local
......
PostGIS 2.2.1
2016/01/06
* Bug Fixes *
- #2232, avoid accumulated error in SVG rounding
- #3321, Fix performance regression in topology loading
- #3329, Fix robustness regression in TopoGeo_addPoint
- #3349, Fix installation path of postgis_topology scripts
- #3351, set endnodes isolation on ST_RemoveIsoEdge
(and lwt_RemIsoEdge)
- #3355, geography ST_Segmentize has geometry bbox
- #3359, Fix toTopoGeom loss of low-id primitives from
TopoGeometry definition
- #3360, _raster_constraint_info_scale invalid input syntax
- #3375, crash in repeated point removal for collection(point)
- #3378, Fix handling of hierarchical TopoGeometries
in presence of multiple topologies
- #3380, #3402, Decimate lines on topology load
- #3388, #3410, Fix missing end-points in ST_Removepoints
- #3389, Buffer overflow in lwgeom_to_geojson
- #3390, Compilation under Alpine Linux 3.2
gives an error when compiling the postgis and postgis_topology extension
- #3393, ST_Area NaN for some polygons
- #3401, Improve ST_Split robustness on 32bit systems
- #3404, ST_ClusterWithin crashes backend
- #3407, Fix crash on splitting a face or an edge
defining multiple TopoGeometry objects
- #3411, Clustering functions not using spatial index
- #3412, Improve robustness of snapping step in TopoGeo_addLinestring
- #3415, Fix OSX 10.9 build under pkgsrc
- Fix memory leak in lwt_ChangeEdgeGeom [liblwgeom]
PostGIS 2.2.0
2015/10/07
......@@ -76,6 +110,7 @@ PostGIS 2.2.0
- #2349, Support for encoded_polyline input/output (Kashif Rasul)
- #2159, report libjson version from postgis_full_version()
- #2770, ST_MemSize(raster)
- #2093, ST_Simplify(geom, tol, preserveCollapsed) new parameter
- Add postgis_noop(raster)
- Added missing variants of ST_TPI(), ST_TRI() and ST_Roughness()
- Added GUC postgis.gdal_enabled_drivers to specify GDAL config
......@@ -104,7 +139,7 @@ PostGIS 2.2.0
- #3223, Add memcmp short-circuit to ST_Equals (Daniel Baston)
- #3227, Tiger geocoder upgraded to support Tiger 2015 census
- #2278, Make liblwgeom compatible between minor releases
- #2278, Make liblwgeom potentially ABI-compatible between micro releases
- #897, ST_AsX3D support for GeoCoordinates and systems "GD" "WE"
ability to flip x/y axis (use option = 2, 3)
- ST_Split: allow splitting lines by multilines, multipoints
......@@ -151,6 +186,31 @@ PostGIS 2.2.0
smaller files for ease of long-term maintenance and development
- #1220, lwerror and lwnotice function became internal to liblwgeom
PostGIS 2.1.8
2015/07/07
* Bug Fixes *
- #3159, do not force a bbox cache on ST_Affine
- #3018, GROUP BY geography sometimes returns duplicate rows
- #3048, shp2pgsql - illegal number format when specific system locale set
- #3094, Malformed GeoJSON inputs crash backend
- #3104, st_asgml introduces random characters in ID field
- #3155, Remove liblwgeom.h on make uninstall
- #3177, gserialized_is_empty cannot handle nested empty cases
- Fix crash in ST_LineLocatePoint
PostGIS 2.1.7
2015/03/30
* Bug Fixes *
- #3086, ST_DumpValues() crashes backend on cleanup with invalid
band indexes
- #3088, Do not (re)define strcasestr in a liblwgeom.h
- #3094, Malformed GeoJSON inputs crash backend
PostGIS 2.1.6
2015/03/20
......
[![Build Status](https://secure.travis-ci.org/postgis/postgis.png)]
(http://travis-ci.org/postgis/postgis)
Travis:
[![Build Status](https://secure.travis-ci.org/postgis/postgis.png?branch=svn-2.2)]
(http://travis-ci.org/postgis/postgis)
Debbie:
[![Build Status](http://debbie.postgis.net:8080/buildStatus/icon?job=PostGIS_2.2)]
(http://debbie.postgis.net:8080/view/PostGIS/job/PostGIS_2.2/)
Winnie:
[![Build Status](http://winnie.postgis.net:1500/buildStatus/icon?job=PostGIS_2.2)]
(http://winnie.postgis.net:1500/view/PostGIS/job/PostGIS_2.2/)
GitLab-CI:
[![Build Status](http://gitlab.com/ci/projects/3944/status.png?ref=svn-2.2)]
(http://gitlab.com/ci/projects/3944?ref=svn-2.2)
This file is here to play nicely with modern code repository facilities.
Actual readme is [here](README.postgis).
Official code repository, issue tracker and wiki:
## Official code repository, issue tracker and wiki:
https://trac.osgeo.org/postgis/
## Official source tarball releases
http://postgis.net/source
If you would like to contribute to this project, please refer to our
[contributing guidelines](CONTRIBUTING.md).
## Project Home Page and Manuals
Project homepage: http://postgis.net/
PostGIS Manuals: http://postgis.net/documentation
PostGIS - Geographic Information Systems Extensions to PostgreSQL
=================================================================
:Version: 2.2.0
:Date: 2014-10-07
:Version: 2.2.1
:Date: 2015-10-XX
:Website: http://postgis.net
This distribution contains a module which implements GIS simple features, ties
......
......@@ -5,5 +5,18 @@
POSTGIS_MAJOR_VERSION=2
POSTGIS_MINOR_VERSION=2
POSTGIS_MICRO_VERSION=0
POSTGIS_MICRO_VERSION=1
# Liblwgeom interface versioning, reset to 0:0:0 (cur:age:rev)
# when changing POSTGIS_MINOR_VERSION
# Current interface, increments when adding an interface
LIBLWGEOM_IFACE_CUR=5
# Age of current interface, only changes when current interface
# changes, either incrementing with it (compatible change) or
# going back to zero (incompatible change).
LIBLWGEOM_IFACE_AGE=0
# Revision of current interface, set to 0 when adding an interface
# or increment when just changing implementations.
LIBLWGEOM_IFACE_REV=0
......@@ -26,3 +26,4 @@ xingkth = Xing Lin <solo.lin@gmail.com>
yecarrillo = Eduin Carrillo <yecarrillo@yahoo.com>
bergun = Baris Ergun <barisergun75@gmail.com>
woodbri = Stephen Woodbridge <woodbri@swoodbridge.com>
dbaston = Daniel Baston <dbaston@gmail.com>
......@@ -26,3 +26,4 @@ xingkth:Xing Lin <solo.lin@gmail.com>
yecarrillo:Eduin Carrillo <yecarrillo@yahoo.com>
bergun:Baris Ergun <barisergun75@gmail.com>
woodbri:Stephen Woodbridge <woodbri@swoodbridge.com>
dbaston:Daniel Baston <dbaston@gmail.com>
......@@ -53,7 +53,7 @@ fi
./configure \
--with-pgconfig=${PROJECTS}/pg/rel/pg${PG_VER}w${OS_BUILD}/bin/pg_config \
--with-geosconfig=${PROJECTS}/geos/rel-${GEOS_VER}w${OS_BUILD}/bin/geos-config \
--with-gdalconfig=${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}/bin/gdal-config --without-interrupt-tests
--with-gdalconfig=${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}/bin/gdal-config --with-sfcgal=/usr/bin/sfcgal-config --without-interrupt-tests
make clean
## install so we can later test extension upgrade
make
......
......@@ -156,7 +156,7 @@ if [ "$MAKE_EXTENSION" == "1" ]; then
cp -r extensions/*/*.control ${PGPATHEDB}/share/extension
cp -r extensions/*/*.dll ${PGPATHEDB}/lib
make check RUNTESTFLAGS=--extension
make check RUNTESTFLAGS="--extension -v"
##test address standardizer
cd ${POSTGIS_SRC}
......@@ -175,4 +175,4 @@ fi
if [ "$MAKE_GARDEN" == "1" ]; then
export PGUSER=postgres
make garden
fi
\ No newline at end of file
fi
......@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2015-01-01'
timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || \
echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
machine=${arch}${endian}-unknown
;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
......@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
# Determine ABI tags.
case "${UNAME_MACHINE_ARCH}" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
......@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
......@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:Sortix:*:*)
echo ${UNAME_MACHINE}-unknown-sortix
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
......@@ -933,6 +950,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
e2k:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
......@@ -1021,7 +1041,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
......
......@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2015-01-01'
timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
......@@ -255,11 +255,12 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
| ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
......@@ -305,7 +306,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
......@@ -376,12 +377,13 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
......@@ -428,12 +430,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
| riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
......@@ -518,6 +521,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
asmjs)
basic_machine=asmjs-unknown
;;
aux)
basic_machine=m68k-apple
os=-aux
......@@ -1373,7 +1379,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -73,7 +73,7 @@ dnl Exporting used library symbols in the module is a source of issues,
dnl see https://trac.osgeo.org/postgis/ticket/3281
dnl
EXCLUDELIBS_LDFLAGS=""
AC_LIBTOOL_COMPILER_OPTION([if $compiler supports --exclude-libs], [_cv_exclude_libs], [[-Wl,--exclude-libs,ALL]], [], [EXCLUDELIBS_LDFLAGS="-Wl,--exclude-libs,ALL"], [])
AC_LIBTOOL_LINKER_OPTION([if $compiler supports --exclude-libs], [_cv_exclude_libs], [[-Wl,--exclude-libs,ALL]], [EXCLUDELIBS_LDFLAGS="-Wl,--exclude-libs,ALL"])
AC_SUBST([EXCLUDELIBS_LDFLAGS])
dnl
......@@ -85,9 +85,9 @@ AC_SUBST([EXESUFFIX])
dnl
dnl Version Information imported from Version.config
dnl
POSTGIS_MAJOR_VERSION=`cat Version.config | grep POSTGIS_MAJOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
POSTGIS_MINOR_VERSION=`cat Version.config | grep POSTGIS_MINOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
POSTGIS_MICRO_VERSION=`cat Version.config | grep POSTGIS_MICRO_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
POSTGIS_MAJOR_VERSION=`cat Version.config | grep ^POSTGIS_MAJOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
POSTGIS_MINOR_VERSION=`cat Version.config | grep ^POSTGIS_MINOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
POSTGIS_MICRO_VERSION=`cat Version.config | grep ^POSTGIS_MICRO_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
AC_DEFINE_UNQUOTED([POSTGIS_MAJOR_VERSION], ["$POSTGIS_MAJOR_VERSION"], [PostGIS major version])
AC_DEFINE_UNQUOTED([POSTGIS_MINOR_VERSION], ["$POSTGIS_MINOR_VERSION"], [PostGIS minor version])
......@@ -98,11 +98,11 @@ AC_SUBST([POSTGIS_MINOR_VERSION])
AC_SUBST([POSTGIS_MICRO_VERSION])
dnl
dnl Convert PostGIS version info into liblwgeom libtool-happy numbers
dnl Liblwgeom version information imported from Version.config
dnl
LIBLWGEOM_CURRENT=`expr $POSTGIS_MAJOR_VERSION + $POSTGIS_MINOR_VERSION`
LIBLWGEOM_AGE=$POSTGIS_MINOR_VERSION
LIBLWGEOM_REV=`echo $POSTGIS_MICRO_VERSION | perl -p -e 's/(\d+)\w*\d*/$1/g'`
LIBLWGEOM_CURRENT=`cat Version.config | grep ^LIBLWGEOM_IFACE_CUR | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
LIBLWGEOM_AGE=`cat Version.config | grep ^LIBLWGEOM_IFACE_AGE | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
LIBLWGEOM_REV=`cat Version.config | grep ^LIBLWGEOM_IFACE_REV | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
AC_SUBST([LIBLWGEOM_CURRENT])
AC_SUBST([LIBLWGEOM_AGE])
AC_SUBST([LIBLWGEOM_REV])
......
......@@ -597,12 +597,40 @@ into includes in the future for easier maintenance.</para></listitem>
<refsection>
<title>Examples</title>
<programlisting>SELECT num, street, city, zip, zipplus FROM parse_address('1 Devonshire Place, Boston, MA 02109-1234');
<para>Single Addresss</para>
<programlisting>SELECT num, street, city, zip, zipplus
FROM parse_address('1 Devonshire Place, Boston, MA 02109-1234') AS a;</programlisting>
<screen>
num | street | city | zip | zipplus
-----+------------------+--------+-------+---------
1 | Devonshire Place | Boston | 02109 | 1234
</programlisting>
1 | Devonshire Place | Boston | 02109 | 1234 </screen>
<para>Table of addresses</para>
<programlisting>-- basic table
CREATE TABLE places(addid serial PRIMARY KEY, address text);
INSERT INTO places(address)
VALUES ('529 Main Street, Boston MA, 02129'),
('77 Massachusetts Avenue, Cambridge, MA 02139'),
('25 Wizard of Oz, Walaford, KS 99912323'),
('26 Capen Street, Medford, MA'),
('124 Mount Auburn St, Cambridge, Massachusetts 02138'),
('950 Main Street, Worcester, MA 01610');
-- parse the addresses
-- if you want all fields you can use (a).*
SELECT addid, (a).num, (a).street, (a).city, (a).state, (a).zip, (a).zipplus
FROM (SELECT addid, parse_address(address) As a
FROM places) AS p;</programlisting>
<screen> addid | num | street | city | state | zip | zipplus
-------+-----+----------------------+-----------+-------+-------+---------
1 | 529 | Main Street | Boston | MA | 02129 |
2 | 77 | Massachusetts Avenue | Cambridge | MA | 02139 |
3 | 25 | Wizard of Oz | Walaford | KS | 99912 | 323
4 | 26 | Capen Street | Medford | MA | |
5 | 124 | Mount Auburn St | Cambridge | MA | 02138 |
6 | 950 | Main Street | Worcester | MA | 01610 |
(6 rows)</screen>
</refsection>
<!-- Optionally add a "See Also" section -->
......@@ -645,6 +673,9 @@ into includes in the future for easier maintenance.</para></listitem>
<title>Description</title>
<para>Returns an <xref linkend="stdaddr" /> form of an input address utilizing <xref linkend="lextab" /> table name, <xref linkend="gaztab" />, and <xref linkend="rulestab" /> table names and an address.</para>
<para>Variant 1: Takes an address as a single line.</para>
<para>Variant 2: Takes an address as 2 parts. A <varname>micro</varname> consisting of standard first line of postal address e.g. <code>house_num street</code>, and a macro consisting of standard postal second line of an address e.g <code>city, state postal_code country</code>.</para>
<!-- use this format if new function -->
<para>Availability: 2.2.0</para>
......@@ -655,9 +686,11 @@ into includes in the future for easier maintenance.</para></listitem>
<refsection>
<title>Examples</title>
<para>Using address_standardizer_data_us extension</para>
<programlisting>CREATE EXTENSION address_standardizer_data_us; -- only needs to be done once
SELECT house_num, name, suftype, city, country, state, unit FROM standardize_address('us_lex',
'us_gaz', 'us_rules', 'One Devonshire Place, PH 301, Boston, MA 02109-1234');</programlisting>
<programlisting>CREATE EXTENSION address_standardizer_data_us; -- only needs to be done once</programlisting>
<para>Variant 1: Single line address. This doesn't work well with non-US addresses</para>
<programlisting>SELECT house_num, name, suftype, city, country, state, unit FROM standardize_address('us_lex',
'us_gaz', 'us_rules', 'One Devonshire Place, PH 301, Boston, MA 02109');</programlisting>
<screen>house_num | name | suftype | city | country | state | unit
----------+------------+---------+--------+---------+---------------+-----------------
1 | DEVONSHIRE | PLACE | BOSTON | USA | MASSACHUSETTS | # PENTHOUSE 301</screen>
......@@ -668,7 +701,7 @@ SELECT house_num, name, suftype, city, country, state, unit FROM standardize_ad
<para>Make easier to read we'll dump output using hstore extension CREATE EXTENSION hstore; you need to install</para>
<programlisting>SELECT (each(hstore(p))).*
FROM standardize_address('tiger.pagc_lex', 'tiger.pagc_gaz',
'tiger.pagc_rules', 'One Devonshire Place, PH 301, Boston, MA 02109-1234') As p;</programlisting>
'tiger.pagc_rules', 'One Devonshire Place, PH 301, Boston, MA 02109') As p;</programlisting>
<screen> key | value
------------+-----------------
box |
......@@ -689,6 +722,31 @@ SELECT house_num, name, suftype, city, country, state, unit FROM standardize_ad
ruralroute |
(16 rows)
</screen>
<para>Variant 2: As a two part Address</para>
<programlisting>SELECT (each(hstore(p))).*
FROM standardize_address('tiger.pagc_lex', 'tiger.pagc_gaz',
'tiger.pagc_rules', 'One Devonshire Place, PH 301', 'Boston, MA 02109, US') As p;</programlisting>
<screen> key | value
------------+-----------------
box |
city | BOSTON
name | DEVONSHIRE
qual |
unit | # PENTHOUSE 301
extra |
state | MA
predir |
sufdir |
country | USA
pretype |
suftype | PL
building |
postcode | 02109
house_num | 1
ruralroute |
(16 rows)</screen>
</refsection>
<!-- Optionally add a "See Also" section -->
......
......@@ -23,6 +23,8 @@ IMAGES= \
../images/de9im02.png \
../images/st_azimuth01.png \
../images/st_azimuth02.png \
../images/st_boundary01.png \
../images/st_boundary02.png \
../images/st_buffer01.png \
../images/st_buffer02.png \
../images/st_buffer03.png \
......
Style1;LINESTRING(100 150,50 60, 70 80, 160 170)
Style2;MULTIPOINT(100 150,160 170)
Style1;POLYGON (( 10 130, 50 190, 110 190, 140 150, 150 80, 100 10, 20 40, 10 130 ), ( 70 40, 100 50, 120 80, 80 110, 50 90, 70 40 ))
Style2;MULTILINESTRING((10 130,50 190,110 190,140 150,150 80,100 10,20 40,10 130),(70 40,100 50,120 80,80 110,50 90,70 40))
......@@ -1934,7 +1934,7 @@ ALTER EXTENSION postgis_topology UPDATE TO "&last_release_version;next";</progra
be used at all.
All your custom records with invalid SRIDs will be retained,
with those > 999999 moved into the reserved range, but the
spatial_ref_sys table would loose a check constraint guarding
spatial_ref_sys table would lose a check constraint guarding
for that invariant to hold and possibly also its primary key
( when multiple invalid SRIDS get converted to the same reserved
SRID value ).
......
......@@ -88,6 +88,14 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Dan Baston</term>
<listitem>
<para>Geometry clustering function additions, other geometry algorithm enhancements, and general user support</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Olivier Courtin</term>
<listitem>
......@@ -242,6 +250,7 @@ Avencia,
Azavea,
Cadcorp,
CampToCamp,
CartoDB,
City of Boston (DND),
Clever Elephant Solutions,
Cooperativa Alveo,
......@@ -269,7 +278,6 @@ Stadt Uster,
UC Davis Center for Vectorborne Diseases,
University of Laval,
U.S Department of State (HIU),
CartoDB,
Zonar Systems</para>
</listitem>
</varlistentry>
......
......@@ -2966,7 +2966,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_XMax('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_XMax(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3033,7 +3033,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_XMin('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_XMin(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3154,7 +3154,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_YMax('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_YMax(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3221,7 +3221,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_YMin('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_YMin(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3337,7 +3337,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_ZMax('LINESTRING(1 3 4, 5 6 7)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_ZMax(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3456,7 +3456,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_ZMin('LINESTRING(1 3 4, 5 6 7)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_ZMin(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......
......@@ -3745,7 +3745,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_XMax('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_XMax(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3812,7 +3812,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_XMin('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_XMin(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -3933,7 +3933,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_YMax('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"
"--ERROR: BOX3D parser - doesn't start with BOX3D(\n"
"\n"
"SELECT ST_YMax(ST_GeomFromEWKT('CIRCULARSTRING(220268 150415 1,220227 150505 "
"2,220227 150406 3)'));\n"
......@@ -4000,7 +4000,7 @@ msgid ""
"representation to a BOX3D\n"
"SELECT ST_YMin('LINESTRING(1 3, 5 6)');\n"
"\n"
"--ERROR: BOX3D parser - doesnt start with BOX3D(\n"