NAME sabx_csv - merge a CSV file into an SABX 1.0 file SYNOPSIS sabx_csv [OPTION] csv_file DESCRIPTION Merge the data from an SABX 1.0 file with the data from a CSV file. The CSV data is merged with the points from a specified segment in the SABX 1.0 file. The resulting file will have a single ride based on the CSV file, and have the top-level data from the SABX 1.0 file. Generally, you merge the CSV file with an SABX 1.0 file that was generated by gpx2sabx or tcx2sabx that has only one segment in it. The CSV file format is described below. csv_file CSV file to merge with (or name of blank file) -i INFILE, --infile=INFILE SABX 1.0 file to read from -o OUTFILE, --outfile=OUTFILE SABX 1.0 file to read from -d ID, --id=ID id of segment to merge into (default 1) -b, --blank generate a blank CSV file ready to be filled-in (name it csv_file) -m, --man print this extended help and exit -h, --help print basic help and exit CSV FILE FORMAT A CSV file has the information for a ride in a rideset. The CSV file has the following columns: TYPE, START POINT, END POINT, TURN COMMENTS, TURN CUE, ROAD, ROAD COMMENTS, LANES, SHOULDER, SPEED, TRAFFIC The CSV file starts off with a row of labels, titled as above. After that, each row represents either a ride, parking, a road, a stop, or a poi. The TYPE column tells what type each row is. Rows that have unrecognized TYPE column values are ignored. For TYPEs of PARK, STOP, and POI, the START POINT and END POINT columns can be interpreted either as a reference to a point in the SABX file, or as a (lat, lon) pair. If it's a point, then START POINT contains a reference to the point's id. If it's (lat,lon), then START POINT is the latitude and END POINT is the longitude. Ids and lats are differentiated by the presence of a decimal point in the number. This implies that proper ids don't have decimal points in them. For TYPE of ROAD, START POINT and END POINT are id's of the starting and ending points for the road. Note that you should not end one road on an id, then start the next road on the same id. SABX 1.0 files use the convention that a segment's ending point is really the start point of the following segment. For TYPE of RIDE, each column is treated thus: START POINT - ignored END POINT - ignored TURN COMMENTS - ignored TURN CUE - ignored ROAD - description of the ride ROAD COMMENTS - ignored LANES - ignored SHOULDER - ignored SPEED - ignored TRAFFIC - ignored For TYPE of PARK, each column is treated thus: START POINT - id or lat END POINT - ignored or lon TURN COMMENTS - ignored TURN CUE - ignored ROAD - description of the parking place ROAD COMMENTS - ignored LANES - ignored SHOULDER - ignored SPEED - ignored TRAFFIC - ignored For TYPE of ROAD, a turn and a segment is generated. Each column is treated thus: START POINT - id END POINT - id TURN COMMENTS - comments for turn TURN CUE - cue for turn ROAD - name of the road ROAD COMMENTS - comments for road LANES - number of lanes in road SHOULDER - shoulder description SPEED - speed limit TRAFFIC - traffic description For TYPE of STOP, each column is treated thus: START POINT - id or lat END POINT - ignored or lon TURN COMMENTS - ignored TURN CUE - type of stop ROAD - description of stop ROAD COMMENTS - ignored LANES - ignored SHOULDER - ignored SPEED - ignored TRAFFIC - ignored For TYPE of POI, each column is treated thus: START POINT - id or lat END POINT - ignored or lon TURN COMMENTS - ignored TURN CUE - ignored ROAD - description of POI ROAD COMMENTS - ignored LANES - ignored SHOULDER - ignored SPEED - ignored TRAFFIC - ignored AUTHOR Jay Farrimond REPORTING BUGS Report bugs to <jay@sabikerides.com> SEE ALSO The complete specification for SABX 1.0 files is available at http://www.sabikerides.com/sabx/1/0/ The library that this utility is built on (sabx-lib) is available at http://www.sabikerides.com/sabx/lib/index.html COPYRIGHT sabx10 - an SABX file manipulation library Copyright (C) 2009, 2010 Jay Farrimond (jay@sabikerides.com) This file is part of sabx10. sabx10 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. sabx10 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with sabx10. If not, see <http://www.gnu.org/licenses/>.