
Load Your Waypoints into a Spatial Database #88
Chapter 8, Building the Geospatial Web
|
443
HACK
OGC SRS is utterly arcane. You want 4326 because it means
EPSG 4326, which means geographic coordinates referenced
to the WGS 1984 ellipsoid and datum. We know that 4326
is the WGS 1984 ellipsoid because it is defined in the
spatial_ref_sys table. Run select * from spatial_ref_sys
where srid = 4326;
inside the psql shell to see how PostGIS
defines this SRID. Take note of the column devoted to
PROJ.4 parameters: this is how PostGIS knows what to do
with this particular spatial reference ID. You need to under-
stand the spatial reference options if you want to master
PostGIS, but for now, sit back, relax, and trust the hack.
We can combine the conversion of waypoints with loading the database
using the Unix tool chain:
./parse_gpx_way.pl gpx_waypoints_file.gpx | psql -d gpswork
Congratulations! You now have waypoints loaded into a spatial database.
Let’s start PostGIS with the command
psql gpswork and take a look at what
we can do:
gpswork=# select name, cmt, descr from waypoint order by name;
name | cmt | descr
--------+----------------------+----------------------
100 | 100 MILES | 100 MILES
588 | CRTD 14:58 06-SEP-04 | CRTD 14:58 06-SEP-04
ABSPOT | CRTD 10:15 08-SEP-01 | CRTD 10:15 08-SEP-01
AC1 | CRTD 15:04 16-AUG-00 | CRTD 15:04 16-AUG-00
...
Calculating Distances in PostGIS
Let’s say we want to calculate ...