Hi,
I'm running grass5.0.0 on RedHat8.0
I'm trying to import an arcinfo vector .shp file with several attribute fields, using v.in.shape. It seems to me that I should be able to create a single layer with all the attributes. But all I can figure out how to do is to create a separate layer for each attribute, which seems like a waste of disk space. Also, attributes of type text or int need to be imported with label=attribute_name while attributes of type float need to be imported with attribute=attribute_name, which seems weird to me.
Then when I want to plot them with d.vect.labels, I have to use option attr=cat or attr=string, depending on how I imported the layer.
What's the right way to do this?
Here's how I've been doing it:
source file is esstrct.shp
Attribute fields available in esstrct.shp:
1: AREA [float4:18]
2: PERIMETER [float4:18]
3: ESSTRCT_ [int8:11]
4: ESSTRCT_ID [int8:11]
5: CTBNA [text:6]
6: FREQUENCY [int8:11]
7: SUM_TOTALP [float4:18]
The import script:
BASE=/DATA/GIS/NJ/ESSEX
SHP=esstrct
g.region rast=essexdem
cd ${BASE}/$SHP
for ATT in AREA PERIMETER SUM_TOTALP ; do
v.in.shape -o in=${SHP}.shp out=${SHP}_$ATT attribute=$ATT scale=24000
v.support map=${SHP}_$ATT option=build
d.vect.labels -m -v map=${SHP}_$ATT color=red attr=cat
done
for ATT in ESSTRCT_ ESSTRCT_ID CTBNA FREQUENCY ; do
v.in.shape -o in=${SHP}.shp out=${SHP}_$ATT label=$ATT scale=24000
v.support map=${SHP}_$ATT option=build
d.vect.labels -m -v map=${SHP}_$ATT color=white attr=string
done
Phil