[GRASS-user] grass-user Digest, Vol 85, Issue 11
Patrick S.
patrick_GIS at gmx.ch
Wed May 8 05:39:57 PDT 2013
Made a little shell-script solving this earlier question of mine. Maybe
someone else will need this as well....
patrick
###INIT:make copy of file (name "short" is used as indicator)
g.copy vect=myfile,myfile_short --o
###iterate through all columns, all files and check double column-name
###for all files of name *_short
for z in $(g.mlist type=vect pattern='*_short')
do
for i in $(db.columns table=${z})
do
col=$(echo ${i} |cut -b 1-10)
###rename if longer then 10char
if [ "$i" != "$col" ]
then
###check if new columnname already exists, e.g. name=>nam1
list=$(db.columns table=${z})
if [[ "$list" == *" $col "* ]]
then
x= #no value for first iteration
while [[ "$list" == *" $col "* ]]
do
echo "WARNING: columns is already existing =>
renaming"
col=$(echo ${col} |cut -b 1-9)
col=$(echo ${col}${x})
echo "new name $col"
x=$(( $x + 1 ))
done
fi
v.db.renamecol map=${z} col="${i},${col}"
echo "WARNING: file ${z} => Column ${i} is renamed to
${col}"
fi
done
done
On 05/08/2013 10:33 AM, grass-user-request at lists.osgeo.org wrote:
> Message: 5
> Date: Wed, 08 May 2013 09:28:06 +0200
> From: "Patrick S."<patrick_GIS at gmx.ch>
> To: grass mailing list<grass-user at lists.osgeo.org>
> Subject: [GRASS-user] truncate column names for export?
> Message-ID:<5189FE86.2060508 at gmx.ch>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Dear all,
>
> Is there an option to automatically truncate column-names (sqlite) to
> fit for export format in v.in.ogr?
>
> Export to shapefile, creates errors as soon as the column-names are
> longer then the dbf-format can handle. It would be great to have an
> option to automatically truncate and give out a warning instead of an
> error. In case of same column-names (after truncating), last letter
> could be replaced by a number.
>
> However I don't see that this is implemented yet - or did I miss something?
More information about the grass-user
mailing list