Opened 13 years ago
Closed 13 years ago
#3637 closed defect (invalid)
ogr2ogr PG driver doesn't properly set track_points::track_fid
|Reported by:||wstrzalka||Owned by:||warmerdam|
track_points::track_fid is in no relation to tracks::ogc_fid which is it's parent record.
After importing large gpx file to empty database the result of the following query is:
SELECT COUNT(track_fid) FROM track_points AS tp LEFT JOIN tracks AS t ON (tp.track_fid=t.ogc_fid) WHERE t.ogc_fid IS NULL;
While the doc says:
In addition to its GPX attributes, each route point of a route has a route_fid (foreign key to the FID of its belonging route) and a route_point_id which is its sequence number in the route. The same applies for track points with track_fid, track_seg_id and track_seg_point_id.
Of course trying to set an FK there ends with failure.
Change History (1)
comment:1 by , 13 years ago
|Status:||new → closed|
Make sure to use the -preserve_fid flag of ogr2ogr when you convert your GPX file into PG tables, so that the FID of the GPX layers is used to fill in the ogc_fid of the PG tables. Without it, PG will begin the ogc_fid sequence at 1, whereas the GPX driver begins at 0... If you don't specify it, you'll get a mismatch : the track_points of the first track won't be associated with any track, and the track_points of the (n+1)th track would be associate with the (n)th track