data61 / gnaf

GNAF geocoder and more
Other
42 stars 14 forks source link

gnaf

Introduction

This project:

Users of gnaf-search should note the suggested preprocessing for query strings.

Project Structure

These sub-directories contain sub-projects:

  1. gnaf-util: common code
  2. gnaf-db: scripts to load the G-NAF data set into a relational database and Slick "Functional Relational Mapping" bindings for the database. The README.md discusses the H2 database and G-NAF data.
  3. gnaf-extractor: queries the database to produce JSON address data
  4. gnaf-lucene: common code for indexing and searching G-NAF with Lucene. The README.md discusses the search techniques used.
  5. gnaf-indexer: loads JSON address data into a Lucene index
  6. gnaf-search: JSON web service to search the Lucene index
  7. gnaf-test: queries the database to produce test address data with many variations, scripts to perform bulk lookups of the test data and evaluate results
  8. gnaf-db-service: JSON web service providing access to the G-NAF database
  9. gnaf-contrib: a JSON web service providing access to the gnafContrib database of user supplied geocodes
  10. gnaf-ui: static files providing a demonstration web user interface using gnaf-search, gnad-db-service and gnaf-contrib.

Nature of Sub-projects:

The top level directory provides:

Install Tools

To run the Scala code install:

To develop Scala code install:

Dependencies

Running and Usage

See src/main/script/run.sh.

Build

Automatic builds are available at: https://t3as-jenkins.it.csiro.au/ (only within the CSIRO network).

The command:

sbt clean test one-jar dumpLicenseReport

from the project's top level directory cleans out previous build products, runs unit tests, builds one-jar files and creates license reports on dependencies.

Develop With Eclipse

The command:

sbt update-classifiers eclipse

uses the sbteclipse plugin to create the .project and .classpath files required by Eclipse (with source attachments for dependencies).

Software License

This software is released under the CSIRO BSD license - see Licence.txt. Each of the sub-projects lists its dependencies and their licenses in 3rd-party-licenses.html.

Data License

Incorporates or developed using G-NAF ©PSMA Australia Limited licensed by the Commonwealth of Australia under the Open Geo-coded National Address File (G-NAF) End User Licence Agreement.