[gdal-dev] Creating new column with filename, scripting shapefiles
Even Rouault
even.rouault at mines-paris.org
Thu Nov 29 11:00:47 PST 2012
Le jeudi 29 novembre 2012 16:28:33, Joe Larson a écrit :
> I have tried these three methods to add a filename column while scripting a
> folder of shapefiles, with a Bash script - which results in `Warning 6:
> Normalized/laundered field name` & `ERROR 1: SQL Expression Parsing Error:
> syntax error` messages and NULL values in the created column :
>
> #1
>
> for f in *.shp;
>
> do
>
> name=${f%.shp}
>
> ogrinfo $f -sql "ALTER TABLE $name ADD COLUMN filename character(10)"
> ogrinfo $f -sql "UPDATE TABLE $name filename = '$f'"
--> UPDATE syntax is not supported by OGR SQL dialect. See
http://gdal.org/ogr/ogr_sql.html
If you use the development version of GDAL (GDAL 1.10dev), you could however
use the SQLite dialect to do UPDATEs : http://gdal.org/ogr/ogr_sql_sqlite.html
Actually your SQL is incorrect. The correct syntax would be :
ogrinfo $f -dialect SQLite -sql "UPDATE $name SET filename = '$f'"
More information about the gdal-dev
mailing list