[postgis-users] Geocoder for PostGIS

David Bitner osgis.lists at gmail.com
Mon Aug 15 08:47:36 PDT 2005


I think having the geocoder based on PostGIS makes a lot of sense --
especially if the point is to have something expandable and
configurable.  PostgreSQL/PostGIS already contain many of the tools
(metaphone, line_interpolate_point, etc,shp2pgsql) that can be used in
a geocoder.  Also,  within the database, the process of adding tables
to map street types and directions can be simplified.  To change what
nationality you are working in, you can just point to a table that has
the directions and standardized values (N=>N(ORTH)?) for whatever
language you need.  Same with street types.  At the heart, a good
geocoder is a database operation, to me it makes perfect sense to
develop it within a database.

Schuyler's solution with BerkleyDB relies on specific import routines
and hard coded hashes that hold the mappings to find street types and
directions.  If this approach were broadened to have a shapefile
import with configurations and mappings held in separate files we
could make it suit our needs.  The result would likely be faster and
it would have the advantage of being a stand alone solution.  The
drawbacks though would be precision (Schuylers approach just
interpolates between road endpoints not along the line -- not a big
deal for most applications, but important for some) and ease of
customization -- with a SQL database solution it is possible to ease
the creation of new localizations using SQL.  For example, the way my
geocoder is set up is so that I can create my base street type
mappings by selecting the unique streettypes from my roads dataset
into a new table.  That table then has two columns one with the
"correct" form of the street type and one with a regular expression to
map any other common ways of depicting that street type (ie RD,
R(OA)?D )  I have to fill in the regular expression column by hand,
but it is easy as I know all and exactly all of the street types used
in my data. These little customization shortcuts would be, in my
opinion, more difficult to create outside of a nice SQL environment.

On 8/15/05, Abe Gillespie <abe.gillespie at gmail.com> wrote:
> I disagree with making a universal geocoder depend on PostGIS.  I
> think it's a better idea to have it completely independent of PostGIS.
>  Once it works on its own, say a separate library, only then should it
> be rolled into PostGIS.
> 
> -Abe
> 
> On 8/15/05, David Bitner <osgis.lists at gmail.com> wrote:
> > I've got my PL/PGSQL / PL/Perl geocoder at http://foo.gyttja.org.  I
> > have tried to develop it so that it could have different types of
> > datasets plugged in.  I'm all for getting a standard base.
> >
> > I would propose keeping the work completely within the database, I
> > have found that PL/Perl is great for the address parsing, but it adds
> > a requirement for the user.  Additional "clients" could then be added
> > for PHP or Perl or ASP or whatever to access the PostgreSQL/PostGIS
> > geocode function.
> >
> > In order to make a worldwide geocoder, we should keep as many
> > components of the geocoder separate as possible so that we can reuse
> > as much code as possible between localizations.  The two
> > functionalities that will change between geocoders depend on the local
> > way of presenting an address (ie 4000 East Harriett Parkway,
> > Minneapolis, MN 55560) and the type of dataset geocoding agains (do
> > you have both left and right address ranges, can we make a function
> > that geocodes off parcel data).  We should also have some functions to
> > standardize and index the information in the source data.
> >
> > On 8/15/05, Stephen Woodbridge <woodbri at swoodbridge.com> wrote:
> > > Paul,
> > >
> > > I think we might need to define the code and/or development environment
> > > also. For example is it going to be:
> > >
> > > 1. inside postgres
> > > 2. php, perl, C, java, etc or one language and wrappers, etc
> > >
> > > It would be nice to see a design section that would be organized by
> > > country that people with local knowledge can update with country
> > > specific addressing requirements and address parsing requirements, etc.
> > >
> > > A data section, that is more oriented to identifying data sources as
> > > opposed to storing data by country might be useful.
> > >
> > > Just some thoughts,
> > >    -Stephen Woodbridge
> > >     http://imaptools.com
> > >
> > > Paul Scott wrote:
> > > > On Mon, 2005-08-15 at 05:29 -0400, "René F. Viancos S." wrote:
> > > >
> > > >
> > > >> Someone knows an opensource development  for geocoding in PostGIS
> > > >> and/or PHP
> > > >>
> > > >
> > > >
> > > > Seeing as though this thread comes up with _alarming_ regularity, I
> > > > propose that we *start* a project for exactly this.
> > > >
> > > > We could divide the source tree by country, and let everyone
> > > > interested contribute some country specific code. Once that is done,
> > > > try then to create a generic "world-geocoder" of sorts. I am sure
> > > > that the Mapserver Community would also like to get involved.
> > > >
> > > > I am prepared to host such  a project, as well as provide additional
> > > > mailing lists etc, to keep it off this list (eliminating unnecessary
> > > > mail to uninterested parties).
> > > >
> > > > Comments? Thoughts? Flames?
> > > >
> > > > I could have this set up in a matter of minutes, so let me know. I
> > > > think that this project will create some respite for all users of
> > > > this list :)
> > > >
> > > > --Paul
> > > >
> > > > _______________________________________________ postgis-users mailing
> > > > list postgis-users at postgis.refractions.net
> > > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > > >
> > >
> > > _______________________________________________
> > > postgis-users mailing list
> > > postgis-users at postgis.refractions.net
> > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > >
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list