I am referring to ogc_fid of 'tracks' table.
Am 02.01.2021 um 15:59 schrieb Michael Saupe: > Hi Evan, > > thank you for the explanation. That makes sense. However, in my opinion > ogr2ogr behavior is not really consistent in this case: The column ogc_fid , > which is in fact the track id, is incremented on each gpx file import ( > regardless if you use -update -appendĀ or not ). > > Michael > > Am 02.01.2021 um 14:03 schrieb Even Rouault: >> Michael, >> >> You have a single track in each file, so it is expected that track_fid >> doesn't >> change and is set at 0 (as there's no attribute to uniquely identify a track) >> For what you want to do (that is have distinct track_fid for each file), >> you'll likely have to use an intermediate postgresql schema, where you would >> correct the value of track_fid, before merging them together >> >> Even >> >>> clarification: second table of my points is 'track_points'. >>> >>> Also adding my 2 gpx files for reference: >>> >>> *file1.gpx:* >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <gpx version="1.1" xmlns="http://www.topografix.com/GPX/1/1"> >>> <metadata> >>> </metadata> >>> <trk> >>> <trkseg> >>> <trkpt lat="49.250324000" lon="8.687196000"> >>> <ele>1</ele> >>> </trkpt> >>> <trkpt lat="49.250019001" lon="8.687469003"> >>> <ele>1</ele> >>> </trkpt> >>> <trkpt lat="49.249714001" lon="8.687742003"> >>> <ele>1</ele> >>> </trkpt> >>> </trkseg> >>> <trkseg> >>> <trkpt lat="49.125652000" lon="8.714194000"> >>> <ele>2</ele> >>> </trkpt> >>> <trkpt lat="49.125519000" lon="8.714731000"> >>> <ele>2</ele> >>> </trkpt> >>> <trkpt lat="49.125414000" lon="8.715057001"> >>> <ele>2</ele> >>> </trkpt> >>> </trkseg> >>> </trk> >>> </gpx> >>> >>> *file2.gpx:* >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <gpx version="1.1" xmlns="http://www.topografix.com/GPX/1/1"> >>> <metadata> >>> </metadata> >>> <trk> >>> <trkseg> >>> <trkpt lat="49.11" lon="8.7"> >>> <ele>3</ele> >>> </trkpt> >>> <trkpt lat="49.12" lon="8.7"> >>> <ele>3</ele> >>> </trkpt> >>> <trkpt lat="49.13" lon="8.7"> >>> <ele>3</ele> >>> </trkpt> >>> </trkseg> >>> </trk> >>> </gpx >>> >>> Am 01.01.2021 um 18:04 schrieb Michael Saupe: >>>> Hello folks, >>>> >>>> I am importing multiple gpx files into a postgis database. The tables >>>> 'tracks' and 'track_points' are created / updated. >>>> >>>> The column track_fid in in the track_points table should be a reference to >>>> the track feature id as documented in >>>> https://gdal.org/drivers/vector/gpx.html, however it is always zero. >>>> >>>> Is this a bug or am I missing something? >>>> >>>> Details >>>> >>>> I am creating an empty database, then create postgis extension with >>>> 'CREATE EXTENSION POSTGIS' >>>> >>>> I have two simple gpx files ( see attachments ) >>>> >>>> * file1.gpx - containing 2 track segments - each with 3 track points >>>> * file2.gpx - containing 1 track segment with 3 track points >>>> >>>> I am using commands >>>> >>>> ogr2ogr -f PostgreSQL -update -append "PG:dbname=testdb host=localhost >>>> user=postgres password=xx port=5432" file1.gpx >>>> >>>> ogr2ogr -f PostgreSQL -update -append "PG:dbname=testdb host=localhost >>>> user=postgres password=xx port=5432" file2.gpx >>>> >>>> Resulting data in 'tracks' >>>> >>>> ogc_fid name cmt desc src link1_href link1_text >>>> link1_type >>>> link2_href link2_text link2_type number type >>>> wkb_geometry 1 >> NULL >>>> NULL NULL NULL NULL NULL NULL NULL NULL NULL >>>> NULL >> NULL ... 2 >>>> NULL NULL NULL NULL NULL NULL NULL NULL NULL >>>> NULL >> NULL NULL >>>> ... >>> Resulting data in 'track_points' >>> >>> ogc_fid track_fid track_seg_id track_seg_point_id ele >>> time .... >> other >>> columns omitted ... 1 0 0 0 1 NULL >>> 2 0 0 1 1 NULL >>> 3 0 0 2 1 NULL >>> 4 0 1 0 2 NULL >>> 5 0 1 1 2 NULL >>> 6 0 1 2 2 NULL >>> 7 0 0 0 3 NULL >>> 8 0 0 1 3 NULL >>> 9 0 0 2 3 NULL >>> >>>> Expected: >>>> >>>> ogc_fid track_fid track_seg_id track_seg_point_id ele >>>> time .... >>>> other columns omitted ... 1 1 >>>> >>>> 0 0 1 NULL >>>> >>>> 2 1 >>>> >>>> 0 1 1 NULL >>>> >>>> 3 1 >>>> >>>> 0 2 1 NULL >>>> >>>> 4 1 >>>> >>>> 1 0 2 NULL >>>> >>>> 5 1 >>>> >>>> 1 1 2 NULL >>>> >>>> 6 1 >>>> >>>> 1 2 2 NULL >>>> >>>> 7 2 >>>> >>>> 0 0 3 NULL >>>> >>>> 8 2 >>>> >>>> 0 1 3 NULL >>>> >>>> 9 2 >>>> >>>> 0 2 3 NULL >>>> >>>> I also tried to omit -update -append, but same result. >>>> >>>> Versions: >>>> * Postgres: "PostgreSQL 12.5 on x86_64-pc-linux-musl, compiled by gcc >>>> (Alpine 9.3.0) 9.3.0, 64-bit" * Postgis: "POSTGIS="3.0.3 0" [EXTENSION] >>>> PGSQL="120" GEOS="3.8.1-CAPI-1.13.3" PROJ="7.0.1" LIBXML="2.9.10" >>>> LIBJSON="0.14" LIBPROTOBUF="1.3.3" WAGYU="0.4.3 (Internal)"" * Gdal: >>>> 3.2.0 > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev