This project leverages archaeological data from Pleiades and spatial data on country boundaries from Natural Earth to make it possible to search for places of historical significance by country name. Pleiades offers robust search already, but this is one missing feature.
The two data sets are combined by performing spatial joins using the PostGIS extension to the PostgreSQL database. User-facing search functionality is provided via a web application written in Go that uses the Echo web framework.
This project was undertaken mainly for personal learning, and is publicly shared so that anyone interested in the underlying data or the technologies used may benefit. It is a work in progress. If you happen to be viewing this file offline, you may obtain the latest source from the public Git repository:
https://github.com/benghancock/ancient-places
For more about this project, see the file doc/about.txt
.
To build the database component of this project, you will need to
install or have access to a PostgreSQL database server; you will also
need to install the PostGIS extension, and some other related
command-line tools. See the file doc/guide.txt
for
a full tutorial on retrieving the source data and setting up the
database.
In order to build and run the web application, you will need a recent
version of the Go programming language (1.19 or later recommended). To
build from source, use the command go build
inside this
repository. This will create a binary called ancient-places
, which
will then run and serve the project over HTTP.
The web application expects an environment variable called
DATABASE_URL
to be set, which may be either a database connection
string or a DSN string. For more on the format of these strings,
see the documentation for pq
:
https://pkg.go.dev/github.com/lib/pq#hdr-Connection_String_Parameters
To build the HTML versions of the documentation, you will need
pandoc, and optimally, GNU Make. Although the HTML docs may be
generated without Make, the Makefile
in this repository includes
commands to do this. With Make installed, you should be able to build
the whole project (aside from the database) just by running:
$ make
This project is free software. The source code and binaries may be
used in accordance with the LICENSE
file in this repository. The
documentation for this project may be used under the terms of the
CC-BY-SA 4.0 license.
This repository does not include copies of the underlying data from either Pleiades or Natural Earth. For information on copying or remixing data from those sources, see their respective websites.
For questions or comments about this project, please write an email to:
mail [at] benghancock (dot) com