Technical Details

External Libraries and Build Tools

While not used as an external library, parts of Frank Warmerdam’s Shapefile C Library are included directly in PAGC’s code base. The only truly external library that PAGC uses is Oracle’s Berkeley DB, which is used for PAGC’s memory pool. To build PAGC you will need versions 4.1 to 4.4 of Berkeley DB installed on your system. More recent versions of Berkeley DB have added no new functionality required by PAGC. However, changes have been made to the memory pool calls in versions 4.5 and 4.6 that greatly complicate these calls. Fortunately, Berkeley DB is designed to allow for mulitple versions of the library to exist on a particular system, allowing different software packages to be built against different versions of Berkeley DB on the same system.

Mac OS X

You will need Apple’s Xcode Tools installed on your system.


A recent release of both MinGW and MSYS.

Address Matching Algorithms

The matching of addresses with the reference address-ranged street network shapefile begins with a rule-based Aho-Corasick, driven standardization of both data sources. The reference data is indexed using BerkeleyDB b-trees for exact key lookups and soundex lookups, and a pointerless trie indexing scheme for edit distance lookups, adapted from ideas of Shang and Merrett. The matching of data records uses the standard Fellegi-Sunter method with modifications to permit similarity measures.



Version 0.1.4