[gdal-dev] SQL FID 0- or 1-based
Even Rouault
even.rouault at spatialys.com
Sat Oct 1 02:57:53 PDT 2016
Le samedi 01 octobre 2016 08:20:06, Michael Sumner a écrit :
> Hello, I'm seeing that the OGRSQL virtual FID value is 0-based for
> shapefile, and 1-based for MapInfo (TAB or MIF).
>
> Is this driver-dependent generally, or is shapefile (or MI?) a special
> case?
There's no general rule. I think 1-based must be more common among drivers
though.
I see GeoJSON is 0-based (if the GeoJSON has no id member)
SQLite/GPKG : 1-based (at least when OGR creates the FID)
KML: 0-based but LIBKML: 1-based
>
> Using the autotest data I see
>
> ## no feature returned (there are 2)
> ogrinfo autotest/ogr/data/seamless_part1.tab -sql "SELECT * FROM
> seamless_part1 WHERE FID = 0"
>
> ## one feature returned
> ogrinfo autotest/ogr/data/seamless_part1.tab -sql "SELECT * FROM
> seamless_part1 WHERE FID = 2"
>
> ## create analogous SHP
> ogr2ogr shp autotest/ogr/data/seamless_part1.tab seamless_part1
>
> ## one feature returned
> ogrinfo shp -sql "SELECT * FROM seamless_part1 WHERE FID = 0"
>
> ## no feature returned
> ogrinfo shp -sql "SELECT * FROM seamless_part1 WHERE FID = 2"
>
> Cheers, Mike.
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the gdal-dev
mailing list