Designing and building the database
Let's start our design of the DISTAL application by thinking about the various pieces of data it will require:
A list of all the countries. Each country needs to include a simple boundary map, which can be displayed to the user.
Detailed shoreline and lake boundaries worldwide. A list of all major cities and towns worldwide.
For each city/town, we need to have the name of the city/town and a point representing the location of that town or city.
Fortunately, this data is readily available:
The list of countries and their outlines are included in the World Borders Dataset
Shoreline and lake boundaries (as well as other land-water boundaries, such as islands within lakes) are readily available using the GSHHG shoreline database
City and town data can be found in two places: The GNIS Database provides official place-name data for the United States, while the GEOnet Names Server provides similar data for the rest of the world
Looking at these data sources, we can start...