<title>Address Standardizer</title>
<para>This is a fork of the <ulink url="http://www.pagcgeo.org/docs/html/pagc-11.html">PAGC standardizer</ulink> (original code for this portion was <ulink url="http://sourceforge.net/p/pagc/code/360/tree/branches/sew-refactor/postgresql">PAGC PostgreSQL Address Standardizer</ulink>). </para>
<para>The address standardizer is a single line address parser that takes an input address and normalizes it based on a set of rules stored in a table and helper lex and gaz tables.</para>
- <para>The code is built into a single postgresql extension library called <code>address_standardizer</code> which can be installed with <code>CREATE EXTENSION address_standardizer;</code>.</para>
+ <para>The code is built into a single postgresql extension library called <code>address_standardizer</code> which can be installed with <code>CREATE EXTENSION address_standardizer;</code>. In addition to the address_standardizer extension, a sample data extension called <code>address_standardizer_data_us</code> extensions is built, which contains gaz, lex, and rules tables for US data. This extensions can be installed via: <code>CREATE EXTENSION address_standardizer_data_us;</code></para>
<para>The code for this extension can be found in the PostGIS <filename>extensions/address_standardizer</filename> and is currently self-contained.</para>
<para>For installation instructions refer to: <xref linkend="installing_pagc_address_standardizer" />.</para>
<sect1 id="Address_Standardizer_Basics"><title>How the Parser Works</title>
<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 * FROM standardize_address('us_lex',
+ 'us_gaz', 'us_rules', 'One Devonshire Place, PH 301, Boston, MA 02109-1234');</programlisting>
+
+ <para>Using tables packaged with tiger geocoder. This example only works if you installec postgis_tiger_geocoder.</para>
<programlisting>SELECT * FROM standardize_address('tiger.pagc_lex',
'tiger.pagc_gaz', 'tiger.pagc_rules', 'One Devonshire Place, PH 301, Boston, MA 02109-1234');</programlisting>
SQLPP = @SQLPP@
MODULE_big = address_standardizer-@POSTGIS_MAJOR_VERSION@.@POSTGIS_MINOR_VERSION@
EXTENSION = address_standardizer
-DATA_built = address_standardizer--@POSTGIS_LIB_VERSION@.sql address_standardizer_data_us.control address_standardizer_data_us--@POSTGIS_LIB_VERSION@.sql us_lex.sql us_gaz.sql us_rules.sql
+DATA_built = address_standardizer.sql sql/address_standardizer--@POSTGIS_LIB_VERSION@.sql address_standardizer_data_us.control sql/address_standardizer_data_us--@POSTGIS_LIB_VERSION@.sql us_lex.sql us_gaz.sql us_rules.sql
DOCS = README.address_standardizer
PG_CPPFLAGS = @CPPFLAGS@ -g -O0
# Borrow the $libdir substitution from PGXS but customise by running the preprocessor
# and adding the version number
-%.sql: %.sql.in
+sql/%.sql: %.sql.in
$(SQLPP) -I../libpgcommon $< | grep -v '^#' | \
$(PERL) -lpe "s'MODULE_PATHNAME'\$$libdir/address_standardizer-@POSTGIS_MAJOR_VERSION@.@POSTGIS_MINOR_VERSION@'g" > $@
+
+sql/address_standardizer.sql: address_standardizer.sql
+ mkdir -p sql
+ cat $^ > $@
-address_standardizer--@POSTGIS_LIB_VERSION@.sql: address_standardizer.sql
- $(PERL) mk-sql.pl '$(PGVER)' address_standardizer.sql > address_standardizer--@POSTGIS_LIB_VERSION@.sql
+sql/address_standardizer--@POSTGIS_LIB_VERSION@.sql: sql/address_standardizer.sql
+ cat $^ > $@
# build us data extension
-address_standardizer_data_us--@POSTGIS_LIB_VERSION@.sql: us_lex.sql us_gaz.sql us_rules.sql
- cat $^ >> $@
+sql/address_standardizer_data_us--@POSTGIS_LIB_VERSION@.sql: us_lex.sql us_gaz.sql us_rules.sql
+ mkdir -p sql
+ cat $^ > $@
+
+sql/$(EXTENSION)--$(EXTVERSION)next--$(EXTVERSION).sql: sql/$(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql
+ cat $^ > $@
mk-st-regexp: mk-st-regexp.pl
$(PERL) -c mk-st-regexp.pl