Before we start importing, let's get some data examples in different formats, specifically these:
- AddressBase in CSV and GML
- Code-Point Polygons in SHP, TAB and MIF
- Points of Interest in TXT format
- 110M coastlines
- 110M land
- 50M Gray Earth
- Earthquake data in CSV and KML format (https://earthquake.usgs.gov/earthquakes/map/)
- UK Ordnance Survey sample data (https://www.ordnancesurvey.co.uk/business-and-government/licensing/sample-data/discover-data.html)
- NaturalEarth (http://www.naturalearthdata.com/downloads/110m-physical-vectors/)
Note
You may either download the data using the links provided or find it in this chapter's resources. The location you extract the data to is not important really, as you can later address it using either relative or absolute file paths.
All the examples in this chapter use a database named mastering_postgis
. This database has been created off the postgis
template.
The PgSQL on my dev machine listens on port 5434
, which is not the default port for the Postgres database (default is 5432
); so when using a default DB setup, you may have to adjust some of the examples a bit.
Note
If you need to change the port your db listens on, you should locate the db data directory, where you will find a postgresql.conf
file. This is a text file, so you can edit it with an ordinary text editor. In order to adjust the port, find a port
configuration in the Connections and Authentication section.
Schemas are a great way of managing the data and splitting it into meaningful collections. In most scenarios, one will have some production data, archive data, incoming data, and so on sensibly kept in separate schemas. Using additional schemas will depend on your requirements, but we do encourage you to introduce using schemas into your daily practice if you do not yet do so. The following examples import the data into tables defined in the data_import
schema.