Project

General

Profile

« Previous | Next » 

Revision 4451

inputs/SALVIAS/: Switched to using the DB export's staging tables instead of the exported CSVs

View differences:

inputs/SALVIAS/Stem/map.csv
1
SALVIAS,Veg+,Comments
2
stem_id,stem_id,
3
origrecord_id_stems,,
4
PlotObsID,individualID,
5
NoInd,stemCount,
6
basal_diam,basalDiameter,
7
stem_dbh,diameterBreastHeight,
8
gentry_dbh,diameterBreastHeightGentry,
9
stem_notes,stemNotes,
10
stem_tag1,tag,
11
stem_tag2,previousTag,
12
stem_height_m,height,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
13
stem_height_first_branch_m,heightFirstBranch,"Brad: Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
14
stem_canopy_form,canopyForm,
15
stem_canopy_position,canopyPosition,
16
stem_liana_infestation,lianaInfestation,
17
tmp_del,,
inputs/SALVIAS/Stem/map.full.csv
1
SALVIAS,Veg+,Comments
2
basal_diam,basalDiameter,
3
stem_canopy_form,canopyForm,
4
stem_canopy_position,canopyPosition,
5
stem_dbh,diameterBreastHeight,
6
gentry_dbh,diameterBreastHeightGentry,
7
stem_height_m,height,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
8
stem_height_first_branch_m,heightFirstBranch,"Brad: Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
9
PlotObsID,individualID,
10
stem_liana_infestation,lianaInfestation,
11
stem_tag2,previousTag,
12
NoInd,stemCount,
13
stem_notes,stemNotes,
14
stem_id,stem_id,
15
stem_tag1,tag,
inputs/SALVIAS/Stem/test.xml.ref
1
Put template:
2
<VegBIEN>
3
    <location id="-1">
4
        <locationevent>
5
            <taxonoccurrence>
6
                <aggregateoccurrence>
7
                    <plantobservation>
8
                        <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
9
                        <stemcount>$NoInd</stemcount>
10
                        <stemobservation>
11
                            <basaldiameter>$basal_diam</basaldiameter>
12
                            <definedvalue fkey="tablerecord_id">
13
                                <userdefined_id>
14
                                    <userdefined>
15
                                        <tablename>stemobservation</tablename>
16
                                        <userdefinedname>canopyForm</userdefinedname>
17
                                    </userdefined>
18
                                </userdefined_id>
19
                                <definedvalue>$stem_canopy_form</definedvalue>
20
                            </definedvalue>
21
                            <definedvalue fkey="tablerecord_id">
22
                                <userdefined_id>
23
                                    <userdefined>
24
                                        <tablename>stemobservation</tablename>
25
                                        <userdefinedname>canopyPosition</userdefinedname>
26
                                    </userdefined>
27
                                </userdefined_id>
28
                                <definedvalue>$stem_canopy_position</definedvalue>
29
                            </definedvalue>
30
                            <definedvalue fkey="tablerecord_id">
31
                                <userdefined_id>
32
                                    <userdefined>
33
                                        <tablename>stemobservation</tablename>
34
                                        <userdefinedname>gentryDiameter</userdefinedname>
35
                                    </userdefined>
36
                                </userdefined_id>
37
                                <definedvalue>$gentry_dbh</definedvalue>
38
                            </definedvalue>
39
                            <definedvalue fkey="tablerecord_id">
40
                                <userdefined_id>
41
                                    <userdefined>
42
                                        <tablename>stemobservation</tablename>
43
                                        <userdefinedname>lianaInfestation</userdefinedname>
44
                                    </userdefined>
45
                                </userdefined_id>
46
                                <definedvalue>$stem_liana_infestation</definedvalue>
47
                            </definedvalue>
48
                            <definedvalue fkey="tablerecord_id">
49
                                <userdefined_id>
50
                                    <userdefined>
51
                                        <tablename>stemobservation</tablename>
52
                                        <userdefinedname>notes</userdefinedname>
53
                                    </userdefined>
54
                                </userdefined_id>
55
                                <definedvalue>$stem_notes</definedvalue>
56
                            </definedvalue>
57
                            <diameterbreastheight>$stem_dbh</diameterbreastheight>
58
                            <height>$stem_height_m</height>
59
                            <heightfirstbranch>$stem_height_first_branch_m</heightfirstbranch>
60
                            <sourceaccessioncode>$stem_id</sourceaccessioncode>
61
                            <stemtag>
62
                                <iscurrent>
63
                                    <_alt>
64
                                        <2>true</2>
65
                                        <1>false</1>
66
                                    </_alt>
67
                                </iscurrent>
68
                                <tag>$stem_tag1</tag>
69
                            </stemtag>
70
                            <stemtag>
71
                                <iscurrent>true</iscurrent>
72
                                <tag>$stem_tag2</tag>
73
                            </stemtag>
74
                        </stemobservation>
75
                    </plantobservation>
76
                </aggregateoccurrence>
77
                <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
78
            </taxonoccurrence>
79
        </locationevent>
80
    </location>
81
</VegBIEN>
82
Inserted 24 new rows into database
inputs/SALVIAS/Stem/VegBIEN.csv
1
SALVIAS,VegBIEN:,Comments
2
PlotObsID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,
3
NoInd,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemcount,
4
basal_diam,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/basaldiameter,
5
stem_canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
6
stem_canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
7
gentry_dbh,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=gentryDiameter]]:[@fkey=tablerecord_id]/definedvalue",
8
stem_liana_infestation,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",
9
stem_notes,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=notes]]:[@fkey=tablerecord_id]/definedvalue",
10
stem_dbh,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight,
11
stem_height_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/height,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
12
stem_height_first_branch_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/heightfirstbranch,"Brad: Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
13
stem_id,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/sourceaccessioncode,
14
stem_tag1,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
15
stem_tag2,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
16
PlotObsID,/location/locationevent/taxonoccurrence/sourceaccessioncode/_first/2,
inputs/SALVIAS/Stem/src.csv
1
SALVIAS,Veg+,Comments
2
stem_id,,
3
origrecord_id_stems,,
4
PlotObsID,,
5
NoInd,,
6
basal_diam,,
7
stem_dbh,,
8
gentry_dbh,,
9
stem_notes,,
10
stem_tag1,,
11
stem_tag2,,
12
stem_height_m,,
13
stem_height_first_branch_m,,
14
stem_canopy_form,,
15
stem_canopy_position,,
16
stem_liana_infestation,,
17
tmp_del,,
inputs/SALVIAS/Plot/test.xml.ref
1
Put template:
2
<VegBIEN>
3
    <location id="-1">
4
        <authorlocationcode>$SiteCode</authorlocationcode>
5
        <sourceaccessioncode>$PlotID</sourceaccessioncode>
6
        <area>$plot_area_ha</area>
7
        <elevation>
8
            <_alt>
9
                <1>
10
                    <_replace>
11
                        <\bca\.?></\bca\.?>
12
                        <value>$Elev</value>
13
                    </_replace>
14
                </1>
15
                <2>
16
                    <_avg>
17
                        <max>
18
                            <_units>
19
                                <default>m</default>
20
                                <to>m</to>
21
                                <to></to>
22
                                <value>
23
                                    <_replace>
24
                                        <\bca\.?></\bca\.?>
25
                                        <value>$elev_max_m</value>
26
                                    </_replace>
27
                                </value>
28
                            </_units>
29
                        </max>
30
                        <min>
31
                            <_units>
32
                                <default>m</default>
33
                                <to>m</to>
34
                                <to></to>
35
                                <value>
36
                                    <_rangeStart>
37
                                        <value>
38
                                            <_replace>
39
                                                <\bca\.?></\bca\.?>
40
                                                <value>$elev_min_m</value>
41
                                            </_replace>
42
                                        </value>
43
                                    </_rangeStart>
44
                                </value>
45
                            </_units>
46
                        </min>
47
                    </_avg>
48
                </2>
49
            </_alt>
50
        </elevation>
51
        <elevationrange>
52
            <_range>
53
                <from>
54
                    <_units>
55
                        <default>m</default>
56
                        <to>m</to>
57
                        <to></to>
58
                        <value>
59
                            <_rangeStart>
60
                                <value>
61
                                    <_replace>
62
                                        <\bca\.?></\bca\.?>
63
                                        <value>$elev_min_m</value>
64
                                    </_replace>
65
                                </value>
66
                            </_rangeStart>
67
                        </value>
68
                    </_units>
69
                </from>
70
                <to>
71
                    <_units>
72
                        <default>m</default>
73
                        <to>m</to>
74
                        <to></to>
75
                        <value>
76
                            <_alt>
77
                                <1>
78
                                    <_replace>
79
                                        <\bca\.?></\bca\.?>
80
                                        <value>$elev_max_m</value>
81
                                    </_replace>
82
                                </1>
83
                                <2>
84
                                    <_rangeEnd>
85
                                        <value>
86
                                            <_replace>
87
                                                <\bca\.?></\bca\.?>
88
                                                <value>$elev_min_m</value>
89
                                            </_replace>
90
                                        </value>
91
                                    </_rangeEnd>
92
                                </2>
93
                            </_alt>
94
                        </value>
95
                    </_units>
96
                </to>
97
            </_range>
98
        </elevationrange>
99
        <locationdetermination>
100
            <latitude>
101
                <_nullIf>
102
                    <null>0</null>
103
                    <type>float</type>
104
                    <value>$LatDec</value>
105
                </_nullIf>
106
            </latitude>
107
            <longitude>
108
                <_nullIf>
109
                    <null>0</null>
110
                    <type>float</type>
111
                    <value>$LongDec</value>
112
                </_nullIf>
113
            </longitude>
114
            <namedplace_id>
115
                <_simplifyPath>
116
                    <next>parent_id/namedplace</next>
117
                    <require>placename</require>
118
                    <path>
119
                        <namedplace>
120
                            <rank>county</rank>
121
                            <placename>$pol2</placename>
122
                            <parent_id>
123
                                <namedplace>
124
                                    <rank>stateProvince</rank>
125
                                    <placename>$PolDiv1</placename>
126
                                    <parent_id>
127
                                        <namedplace>
128
                                            <rank>country</rank>
129
                                            <placename>$Country</placename>
130
                                            <parent_id>
131
                                                <namedplace>
132
                                                    <rank>continent</rank>
133
                                                    <placename>$MajorGeo</placename>
134
                                                </namedplace>
135
                                            </parent_id>
136
                                        </namedplace>
137
                                    </parent_id>
138
                                </namedplace>
139
                            </parent_id>
140
                        </namedplace>
141
                    </path>
142
                </_simplifyPath>
143
            </namedplace_id>
144
        </locationdetermination>
145
        <locationevent>
146
            <method_id><method><name>$PlotMethod</name></method></method_id>
147
            <project_id><project><projectname>$project_id</projectname></project></project_id>
148
            <commclass>
149
                <commdetermination>
150
                    <commconcept_id>
151
                        <commconcept>
152
                            <commname_id><commname><commname>$life_zone_code</commname></commname></commname_id>
153
                            <commdescription>$life_zone</commdescription>
154
                        </commconcept>
155
                    </commconcept_id>
156
                </commdetermination>
157
            </commclass>
158
            <obsenddate><_date><date><_dateRangeEnd><value>$date_finish</value></_dateRangeEnd></date></_date></obsenddate>
159
            <obsstartdate><_date><date><_dateRangeStart><value>$date_start</value></_dateRangeStart></date></_date></obsstartdate>
160
            <precipitation>$Precip</precipitation>
161
            <soilobs>
162
                <acidity>
163
                    <_units>
164
                        <default>%</default>
165
                        <to></to>
166
                        <value>
167
                            <_map>
168
                                <<0.05>0</<0.05>
169
                                <*>*</*>
170
                                <value>$soil_acidity</value>
171
                            </_map>
172
                        </value>
173
                    </_units>
174
                </acidity>
175
                <basesaturation>
176
                    <_units>
177
                        <default>%</default>
178
                        <to></to>
179
                        <value>$soil_base</value>
180
                    </_units>
181
                </basesaturation>
182
                <calcium>
183
                    <_units>
184
                        <default>%</default>
185
                        <to></to>
186
                        <value>$soil_Ca</value>
187
                    </_units>
188
                </calcium>
189
                <carbon>
190
                    <_units>
191
                        <default>%</default>
192
                        <to></to>
193
                        <value>$soil_C</value>
194
                    </_units>
195
                </carbon>
196
                <cationexchangecapacity>$soil_cation_cap</cationexchangecapacity>
197
                <clay>
198
                    <_units>
199
                        <default>%</default>
200
                        <to></to>
201
                        <value>$clay_percent</value>
202
                    </_units>
203
                </clay>
204
                <conductivity>$soil_conductivity</conductivity>
205
                <magnesium>
206
                    <_units>
207
                        <default>%</default>
208
                        <to></to>
209
                        <value>$soil_Mg</value>
210
                    </_units>
211
                </magnesium>
212
                <nitrogen>
213
                    <_units>
214
                        <default>%</default>
215
                        <to></to>
216
                        <value>$soil_N</value>
217
                    </_units>
218
                </nitrogen>
219
                <organic>
220
                    <_units>
221
                        <default>%</default>
222
                        <to></to>
223
                        <value>$organic_percent</value>
224
                    </_units>
225
                </organic>
226
                <ph>$pH</ph>
227
                <phosphorus>
228
                    <_units>
229
                        <default>%</default>
230
                        <to></to>
231
                        <value>
232
                            <_map>
233
                                <<1,5>0</<1,5>
234
                                <*>*</*>
235
                                <value>$soil_P</value>
236
                            </_map>
237
                        </value>
238
                    </_units>
239
                </phosphorus>
240
                <potassium>
241
                    <_units>
242
                        <default>%</default>
243
                        <to></to>
244
                        <value>$soil_K</value>
245
                    </_units>
246
                </potassium>
247
                <sand>
248
                    <_units>
249
                        <default>%</default>
250
                        <to></to>
251
                        <value>$sand_percent</value>
252
                    </_units>
253
                </sand>
254
                <silt>
255
                    <_units>
256
                        <default>%</default>
257
                        <to></to>
258
                        <value>$silt_percent</value>
259
                    </_units>
260
                </silt>
261
                <sodium>
262
                    <_units>
263
                        <default>%</default>
264
                        <to></to>
265
                        <value>$soil_Na</value>
266
                    </_units>
267
                </sodium>
268
                <texture>
269
                    <_units>
270
                        <default>%</default>
271
                        <to></to>
272
                        <value>$soil_texture</value>
273
                    </_units>
274
                </texture>
275
            </soilobs>
276
            <temperature>$Temp</temperature>
277
        </locationevent>
278
        <locationnarrative>$Locality_Description</locationnarrative>
279
        <slopeaspect><_compass><value>$slope_aspect</value></_compass></slopeaspect>
280
        <slopegradient>$slope_gradient</slopegradient>
281
    </location>
282
</VegBIEN>
283
Inserted 23 new rows into database
inputs/SALVIAS/Plot/VegBIEN.csv
1
SALVIAS,VegBIEN:,Comments
2
SiteCode,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/1",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
3
PlotID,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/2/_if[@name=""if locationID""]/cond/_exists","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
4
PlotID,"/location/_if[@name=""if subplot""]/else/sourceaccessioncode","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
5
SiteCode,"/location/_if[@name=""if subplot""]/then/parent_id/location/authorlocationcode",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
6
PlotID,"/location/_if[@name=""if subplot""]/then/parent_id/location/sourceaccessioncode","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
7
plot_area_ha,/location/area,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
8
Elev,"/location/elevation/_alt/1/_replace:[""\bca\.?""=]/value",Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
9
elev_max_m,"/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_replace:[""\bca\.?""=]/value",
10
elev_min_m,"/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace:[""\bca\.?""=]/value",
11
elev_min_m,"/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace:[""\bca\.?""=]/value",
12
elev_max_m,"/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1/_replace:[""\bca\.?""=]/value",
13
elev_min_m,"/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace:[""\bca\.?""=]/value",
14
LatDec,"/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",
15
LongDec,"/location/locationdetermination/longitude/_alt/1/_nullIf:[null=0,type=float]/value",
16
pol2,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",Brad: No pol2=countyParish
17
PolDiv1,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",Brad: No; pol1=stateProvince
18
Country,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",
19
MajorGeo,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
20
PlotMethod,/location/locationevent/*_id/method/name,
21
project_id,/location/locationevent/*_id/project/projectname,
22
life_zone_code,/location/locationevent/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
23
life_zone,/location/locationevent/commclass/commdetermination/*_id/commconcept/commdescription,
24
date_finish,/location/locationevent/obsenddate/_*/date/_dateRangeEnd/value,
25
date_start,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value,
26
Precip,/location/locationevent/precipitation,
27
soil_acidity,"/location/locationevent/soilobs/acidity/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
28
soil_base,"/location/locationevent/soilobs/basesaturation/_units:[default=""%"",to=]/value",
29
soil_Ca,"/location/locationevent/soilobs/calcium/_units:[default=""%"",to=]/value",
30
soil_C,"/location/locationevent/soilobs/carbon/_units:[default=""%"",to=]/value",
31
soil_cation_cap,/location/locationevent/soilobs/cationexchangecapacity,
32
clay_percent,"/location/locationevent/soilobs/clay/_units:[default=""%"",to=]/value",
33
soil_conductivity,/location/locationevent/soilobs/conductivity,
34
soil_Mg,"/location/locationevent/soilobs/magnesium/_units:[default=""%"",to=]/value",
35
soil_N,"/location/locationevent/soilobs/nitrogen/_units:[default=""%"",to=]/value",
36
organic_percent,"/location/locationevent/soilobs/organic/_units:[default=""%"",to=]/value",
37
pH,/location/locationevent/soilobs/ph,"Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
38
soil_P,"/location/locationevent/soilobs/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
39
soil_K,"/location/locationevent/soilobs/potassium/_units:[default=""%"",to=]/value",
40
sand_percent,"/location/locationevent/soilobs/sand/_units:[default=""%"",to=]/value",
41
silt_percent,"/location/locationevent/soilobs/silt/_units:[default=""%"",to=]/value",
42
soil_Na,"/location/locationevent/soilobs/sodium/_units:[default=""%"",to=]/value",
43
soil_texture,"/location/locationevent/soilobs/texture/_units:[default=""%"",to=]/value",
44
Temp,/location/locationevent/temperature,
45
Locality_Description,/location/locationnarrative/_merge/1,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
46
slope_aspect,/location/slopeaspect/_compass/value,
47
slope_gradient,/location/slopegradient,
inputs/SALVIAS/Plot/src.csv
1
SALVIAS,Veg+,Comments
2
PlotID,,
3
orig_filename,,
4
AccessCode,,
5
project_id,,
6
PrimOwnerID,,
7
SiteCode,,
8
SiteName,,
9
new_world,,
10
MajorGeo,,
11
Country,,
12
PolDiv1,,
13
pol1_type,,
14
pol2,,
15
pol2_type,,
16
lat_string,,
17
long_string,,
18
LatDec,,
19
LongDec,,
20
lat_long_accuracy,,
21
Elev,,
22
elev_max_m,,
23
elev_min_m,,
24
Precip,,
25
ElevSource,,
26
Temp,,
27
PrecipSource,,
28
TempSource,,
29
bearing,,
30
slope_aspect,,
31
slope_gradient,,
32
clay_percent,,
33
silt_percent,,
34
sand_percent,,
35
pH,,
36
soil_N,,
37
soil_P,,
38
soil_C,,
39
soil_K,,
40
soil_Mg,,
41
soil_Ca,,
42
soil_Na,,
43
soil_acidity,,
44
soil_base,,
45
soil_cation_cap,,
46
soil_conductivity,,
47
organic_percent,,
48
soil_texture,,
49
RevisionComments,,
50
Locality_Description,,
51
topography_desc,,
52
vegetation_1,,
53
vegetation_2,,
54
Habitat,,
55
life_zone_code,,
56
life_zone,,
57
PlotMethod,,
58
MethodCode,,
59
plot_area_ha,,
60
recensused,,
61
date_start,,
62
date_finish,,
63
plot_administrator,,
64
plot_notes,,
65
tmp_del,,
inputs/SALVIAS/Plot/map.csv
1
SALVIAS,Veg+,Comments
2
PlotID,locationID,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
3
orig_filename,,
4
AccessCode,,
5
project_id,projectName,
6
PrimOwnerID,,
7
SiteCode,plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
8
SiteName,,
9
new_world,,
10
MajorGeo,continent,
11
Country,country,
12
PolDiv1,stateProvince,Brad: No; pol1=stateProvince
13
pol1_type,,
14
pol2,county,Brad: No pol2=countyParish
15
pol2_type,,
16
lat_string,,
17
long_string,,
18
LatDec,decimalLatitude,
19
LongDec,decimalLongitude,
20
lat_long_accuracy,,
21
Elev,verbatimElevation,Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
22
elev_max_m,maximumElevationInMeters,
23
elev_min_m,minimumElevationInMeters,
24
Precip,precipitation,
25
ElevSource,,
26
Temp,temperature,
27
PrecipSource,,
28
TempSource,,
29
bearing,,
30
slope_aspect,slopeAspect,
31
slope_gradient,slopeGradient,
32
clay_percent,"clay/_units:[default=""%"",to=]/value",
33
silt_percent,"silt/_units:[default=""%"",to=]/value",
34
sand_percent,"sand/_units:[default=""%"",to=]/value",
35
pH,ph,"Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
36
soil_N,"nitrogen/_units:[default=""%"",to=]/value",
37
soil_P,"phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
38
soil_C,"carbon/_units:[default=""%"",to=]/value",
39
soil_K,"potassium/_units:[default=""%"",to=]/value",
40
soil_Mg,"magnesium/_units:[default=""%"",to=]/value",
41
soil_Ca,"calcium/_units:[default=""%"",to=]/value",
42
soil_Na,"sodium/_units:[default=""%"",to=]/value",
43
soil_acidity,"acidity/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
44
soil_base,"baseSaturation/_units:[default=""%"",to=]/value",
45
soil_cation_cap,cationExchangeCapacity,
46
soil_conductivity,conductivity,
47
organic_percent,"organic/_units:[default=""%"",to=]/value",
48
soil_texture,"texture/_units:[default=""%"",to=]/value",
49
RevisionComments,,
50
Locality_Description,locality,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
51
topography_desc,,
52
vegetation_1,,
53
vegetation_2,,
54
Habitat,,
55
life_zone_code,communityID,
56
life_zone,communityName,
57
PlotMethod,samplingProtocol,
58
MethodCode,,
59
plot_area_ha,plotArea,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
60
recensused,,"Brad: This is a 0/1 value, internal to SALVIAS. 1 indicates that a  plot has >1 set of values, from different census events.; Aaron: Different censuses are distinguished in organisms data by different census_no values"
61
date_start,plotEventStartDate,
62
date_finish,plotEventEndDate,
63
plot_administrator,,
64
plot_notes,,
65
tmp_del,,
inputs/SALVIAS/Plot/map.full.csv
1
SALVIAS,Veg+,Comments
2
soil_acidity,"acidity/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
3
soil_base,"baseSaturation/_units:[default=""%"",to=]/value",
4
soil_Ca,"calcium/_units:[default=""%"",to=]/value",
5
soil_C,"carbon/_units:[default=""%"",to=]/value",
6
soil_cation_cap,cationExchangeCapacity,
7
clay_percent,"clay/_units:[default=""%"",to=]/value",
8
life_zone_code,communityID,
9
life_zone,communityName,
10
soil_conductivity,conductivity,
11
MajorGeo,continent,
12
Country,country,
13
pol2,county,Brad: No pol2=countyParish
14
LatDec,decimalLatitude,
15
LongDec,decimalLongitude,
16
Locality_Description,locality,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
17
PlotID,locationID,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
18
soil_Mg,"magnesium/_units:[default=""%"",to=]/value",
19
elev_max_m,maximumElevationInMeters,
20
elev_min_m,minimumElevationInMeters,
21
soil_N,"nitrogen/_units:[default=""%"",to=]/value",
22
organic_percent,"organic/_units:[default=""%"",to=]/value",
23
pH,ph,"Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
24
soil_P,"phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
25
plot_area_ha,plotArea,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
26
date_finish,plotEventEndDate,
27
date_start,plotEventStartDate,
28
SiteCode,plotName,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
29
soil_K,"potassium/_units:[default=""%"",to=]/value",
30
Precip,precipitation,
31
project_id,projectName,
32
PlotMethod,samplingProtocol,
33
sand_percent,"sand/_units:[default=""%"",to=]/value",
34
silt_percent,"silt/_units:[default=""%"",to=]/value",
35
slope_aspect,slopeAspect,
36
slope_gradient,slopeGradient,
37
soil_Na,"sodium/_units:[default=""%"",to=]/value",
38
PolDiv1,stateProvince,Brad: No; pol1=stateProvince
39
Temp,temperature,
40
soil_texture,"texture/_units:[default=""%"",to=]/value",
41
Elev,verbatimElevation,Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
inputs/SALVIAS/Organism/map.csv
1
SALVIAS,Veg+,Comments
2
PlotObsID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
3
PlotID,locationID,
4
PlotCode,plotName,
5
census_no,censusNumber,"Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
6
census_date,eventDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
7
-----
8
SELECT ""PlotID"", ""Line"", count(DISTINCT census_date) AS census_date_count
9
FROM ""SALVIAS"".organisms
10
WHERE ""Line"" IS NOT NULL AND census_date IS NOT NULL
11
GROUP BY ""PlotID"", ""Line""
12
HAVING count(DISTINCT census_date) > 1
13
-----"
14
OrigRecordID,,
15
Line,subplot,
16
Ind,recordNumber,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
17
ind_id,,Brad: OMIT
18
tag1,tag,"Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once."
19
tag2,previousTag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
20
x_position,relativePlotX,"Brad: These are important, fundamental values of many tree plots"
21
y_position,relativePlotY,Brad: See comment above for x_position
22
dist,,
23
perp_dist,,
24
SourceVoucher,catalogNumber/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
25
coll_number,catalogNumber/_alt/1,Brad: Map instead as for voucher_string
26
collector_code,,Brad: OMIT
27
coll_inits,,
28
coll_lastname,recordedBy.surName,"Brad: This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
29
coll_firstname,recordedBy.givenName,Brad: See comment above
30
DetType,voucherType,"Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
31
det_by,,
32
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
33
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
34
name_status,,"Brad: OMIT. Except, note that if species_status=3, this indicate that name is a morphospecies and not a standard latin name. Not exactly sure how to use this in BIEN, but could be useful during the name-scrubbing process with TNRS."
35
SpAuthStatus,,
36
Family,family,
37
Genus,genus,
38
GenAuth,,
39
Species,specificEpithet,
40
auth,scientificNameAuthorship,Brad: This is the author of the scientificName.
41
infra_rank_1,taxonRank,
42
infra_ep_1,infraspecificEpithet,
43
infra_auth_1,,
44
common_name,,
45
morphoname,,
46
species_code,,
47
Habit,Habit,"Brad: This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
48
height_class,,
49
height_m,height,
50
height_m_commercial,,
51
ht_first_branch_m,heightFirstBranch,
52
NoInd,individualCount,"Brad: This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
53
cover_percent,coverPercent,
54
intercept_cm,volumeCanopy,"Brad: This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
55
cfaff,identificationQualifier,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
56
other_annotations,,
57
morphocf,,
58
IsMorpho,,
59
OrigFamily,verbatimFamily,Brad: OMIT
60
OrigGenus,verbatimGenus,
61
OrigSpecies,verbatimSpecificEpithet,Brad: OMIT
62
OrigAuth,,
63
phenology,,
64
canopy_position,canopyPosition,
65
canopy_form,canopyForm,
66
liana_infestation,lianaInfestation,
67
Notes,fieldNotes,
68
temp_dbh,diameterBreastHeight,
69
temp_liandbh,,
70
tmp_del,,
inputs/SALVIAS/Organism/map.full.csv
1
SALVIAS,Veg+,Comments
2
Habit,Habit,"Brad: This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
3
canopy_form,canopyForm,
4
canopy_position,canopyPosition,
5
coll_number,catalogNumber/_alt/1,Brad: Map instead as for voucher_string
6
SourceVoucher,catalogNumber/_alt/2,"Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
7
census_no,censusNumber,"Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
8
cover_percent,coverPercent,
9
temp_dbh,diameterBreastHeight,
10
census_date,eventDate,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
11
-----
12
SELECT ""PlotID"", ""Line"", count(DISTINCT census_date) AS census_date_count
13
FROM ""SALVIAS"".organisms
14
WHERE ""Line"" IS NOT NULL AND census_date IS NOT NULL
15
GROUP BY ""PlotID"", ""Line""
16
HAVING count(DISTINCT census_date) > 1
17
-----"
18
Family,family,
19
Notes,fieldNotes,
20
Genus,genus,
21
height_m,height,
22
ht_first_branch_m,heightFirstBranch,
23
cfaff,identificationQualifier,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
24
NoInd,individualCount,"Brad: This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
25
PlotObsID,individualID,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
26
infra_ep_1,infraspecificEpithet,
27
liana_infestation,lianaInfestation,
28
PlotID,locationID,
29
PlotCode,plotName,
30
tag2,previousTag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
31
Ind,recordNumber,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
32
coll_firstname,recordedBy.givenName,Brad: See comment above
33
coll_lastname,recordedBy.surName,"Brad: This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
34
x_position,relativePlotX,"Brad: These are important, fundamental values of many tree plots"
35
y_position,relativePlotY,Brad: See comment above for x_position
36
auth,scientificNameAuthorship,Brad: This is the author of the scientificName.
37
Species,specificEpithet,
38
Line,subplot,
39
tag1,tag,"Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once."
40
infra_rank_1,taxonRank,
41
OrigFamily,verbatimFamily,Brad: OMIT
42
OrigGenus,verbatimGenus,
43
OrigSpecies,verbatimSpecificEpithet,Brad: OMIT
44
intercept_cm,volumeCanopy,"Brad: This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
45
DetType,voucherType,"Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
inputs/SALVIAS/Organism/test.xml.ref
1
Put template:
2
<VegBIEN>
3
    <location id="-1">
4
        <parent_id>
5
            <location>
6
                <authorlocationcode>$PlotCode</authorlocationcode>
7
                <sourceaccessioncode>$PlotID</sourceaccessioncode>
8
            </location>
9
        </parent_id>
10
        <authorlocationcode>$Line</authorlocationcode>
11
        <locationevent>
12
            <obsenddate><_date><date><_dateRangeEnd><value>$census_date</value></_dateRangeEnd></date></_date></obsenddate>
13
            <obsstartdate><_date><date><_dateRangeStart><value>$census_date</value></_dateRangeStart></date></_date></obsstartdate>
14
            <taxonoccurrence>
15
                <aggregateoccurrence>
16
                    <count>$NoInd</count>
17
                    <cover>$cover_percent</cover>
18
                    <definedvalue fkey="tablerecord_id">
19
                        <userdefined_id>
20
                            <userdefined>
21
                                <tablename>aggregateoccurrence</tablename>
22
                                <userdefinedname>censusNo</userdefinedname>
23
                            </userdefined>
24
                        </userdefined_id>
25
                        <definedvalue>$census_no</definedvalue>
26
                    </definedvalue>
27
                    <linecover>$intercept_cm</linecover>
28
                    <notes>$Notes</notes>
29
                    <plantobservation>
30
                        <collectionnumber>$Ind</collectionnumber>
31
                        <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
32
                        <specimenreplicate>
33
                            <catalognumber_dwc>
34
                                <_if name="if indirect voucher">
35
                                    <cond>
36
                                        <_eq>
37
                                            <right>indirect</right>
38
                                            <left>$DetType</left>
39
                                        </_eq>
40
                                    </cond>
41
                                    <else>
42
                                        <_alt>
43
                                            <1>$coll_number</1>
44
                                            <2>$SourceVoucher</2>
45
                                        </_alt>
46
                                    </else>
47
                                </_if>
48
                            </catalognumber_dwc>
49
                        </specimenreplicate>
50
                        <stemobservation>
51
                            <definedvalue fkey="tablerecord_id">
52
                                <userdefined_id>
53
                                    <userdefined>
54
                                        <tablename>stemobservation</tablename>
55
                                        <userdefinedname>canopyForm</userdefinedname>
56
                                    </userdefined>
57
                                </userdefined_id>
58
                                <definedvalue>$canopy_form</definedvalue>
59
                            </definedvalue>
60
                            <definedvalue fkey="tablerecord_id">
61
                                <userdefined_id>
62
                                    <userdefined>
63
                                        <tablename>stemobservation</tablename>
64
                                        <userdefinedname>canopyPosition</userdefinedname>
65
                                    </userdefined>
66
                                </userdefined_id>
67
                                <definedvalue>$canopy_position</definedvalue>
68
                            </definedvalue>
69
                            <definedvalue fkey="tablerecord_id">
70
                                <userdefined_id>
71
                                    <userdefined>
72
                                        <tablename>stemobservation</tablename>
73
                                        <userdefinedname>lianaInfestation</userdefinedname>
74
                                    </userdefined>
75
                                </userdefined_id>
76
                                <definedvalue>$liana_infestation</definedvalue>
77
                            </definedvalue>
78
                            <diameterbreastheight>$temp_dbh</diameterbreastheight>
79
                            <height>$height_m</height>
80
                            <heightfirstbranch>$ht_first_branch_m</heightfirstbranch>
81
                            <stemtag>
82
                                <iscurrent>
83
                                    <_alt>
84
                                        <2>true</2>
85
                                        <1>false</1>
86
                                    </_alt>
87
                                </iscurrent>
88
                                <tag>$tag1</tag>
89
                            </stemtag>
90
                            <stemtag>
91
                                <iscurrent>true</iscurrent>
92
                                <tag>$tag2</tag>
93
                            </stemtag>
94
                            <xposition>$x_position</xposition>
95
                            <yposition>$y_position</yposition>
96
                        </stemobservation>
97
                    </plantobservation>
98
                </aggregateoccurrence>
99
                <authortaxoncode>$Ind</authortaxoncode>
100
                <growthform>
101
                    <_map>
102
                        <T>tree</T>
103
                        <Arbol>tree</Arbol>
104
                        <palm>tree</palm>
105
                        <H>hemiepiphyte</H>
106
                        <Hemiepífito>hemiepiphyte</Hemiepífito>
107
                        <L>liana</L>
108
                        <l>liana</l>
109
                        <L?>liana</L?>
110
                        <Liana>liana</Liana>
111
                        <E>epiphyte</E>
112
                        <S>shrub</S>
113
                        <Hb>herb</Hb>
114
                        <vine-herbaceous>vine</vine-herbaceous>
115
                        <graminoid>grass</graminoid>
116
                        <rosette>forb</rosette>
117
                        <*>*</*>
118
                        <value>$Habit</value>
119
                    </_map>
120
                </growthform>
121
                <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
122
                <taxondetermination>
123
                    <plantconcept_id>
124
                        <plantconcept>
125
                            <plantname_id>
126
                                <_simplifyPath>
127
                                    <next>parent_id</next>
128
                                    <path>
129
                                        <plantname>
130
                                            <rank>binomial</rank>
131
                                            <parent_id>
132
                                                <plantname>
133
                                                    <rank>authority</rank>
134
                                                    <plantname>$auth</plantname>
135
                                                    <parent_id>
136
                                                        <plantname>
137
                                                            <rank>subspecies</rank>
138
                                                            <plantname>
139
                                                                <_name>
140
                                                                    <first>$infra_rank_1</first>
141
                                                                    <last>$infra_ep_1</last>
142
                                                                </_name>
143
                                                            </plantname>
144
                                                            <parent_id>
145
                                                                <plantname>
146
                                                                    <rank>species</rank>
147
                                                                    <plantname>$Species</plantname>
148
                                                                    <parent_id>
149
                                                                        <plantname>
150
                                                                            <rank>genus</rank>
151
                                                                            <plantname>$Genus</plantname>
152
                                                                            <parent_id>
153
                                                                                <plantname>
154
                                                                                    <rank>family</rank>
155
                                                                                    <plantname>$Family</plantname>
156
                                                                                </plantname>
157
                                                                            </parent_id>
158
                                                                        </plantname>
159
                                                                    </parent_id>
160
                                                                </plantname>
161
                                                            </parent_id>
162
                                                        </plantname>
163
                                                    </parent_id>
164
                                                </plantname>
165
                                            </parent_id>
166
                                        </plantname>
167
                                    </path>
168
                                </_simplifyPath>
169
                            </plantname_id>
170
                        </plantconcept>
171
                    </plantconcept_id>
172
                    <taxonfit>$cfaff</taxonfit>
173
                </taxondetermination>
174
                <taxondetermination>
175
                    <isoriginal>true</isoriginal>
176
                    <plantconcept_id>
177
                        <plantconcept>
178
                            <plantname_id>
179
                                <_simplifyPath>
180
                                    <next>parent_id</next>
181
                                    <path>
182
                                        <plantname>
183
                                            <rank>binomial</rank>
184
                                            <parent_id>
185
                                                <plantname>
186
                                                    <rank>authority</rank>
187
                                                    <parent_id>
188
                                                        <plantname>
189
                                                            <rank>subspecies</rank>
190
                                                            <parent_id>
191
                                                                <plantname>
192
                                                                    <rank>species</rank>
193
                                                                    <plantname>$OrigSpecies</plantname>
194
                                                                    <parent_id>
195
                                                                        <plantname>
196
                                                                            <rank>genus</rank>
197
                                                                            <plantname>$OrigGenus</plantname>
198
                                                                            <parent_id>
199
                                                                                <plantname>
200
                                                                                    <rank>family</rank>
201
                                                                                    <plantname>$OrigFamily</plantname>
202
                                                                                </plantname>
203
                                                                            </parent_id>
204
                                                                        </plantname>
205
                                                                    </parent_id>
206
                                                                </plantname>
207
                                                            </parent_id>
208
                                                        </plantname>
209
                                                    </parent_id>
210
                                                </plantname>
211
                                            </parent_id>
212
                                        </plantname>
213
                                    </path>
214
                                </_simplifyPath>
215
                            </plantname_id>
216
                        </plantconcept>
217
                    </plantconcept_id>
218
                </taxondetermination>
219
                <verbatimcollectorname>
220
                    <_name>
221
                        <first>$coll_firstname</first>
222
                        <last>$coll_lastname</last>
223
                    </_name>
224
                </verbatimcollectorname>
225
                <voucher>
226
                    <specimenreplicate_id>
227
                        <specimenreplicate>
228
                            <catalognumber_dwc>
229
                                <_if name="if indirect voucher">
230
                                    <cond>
231
                                        <_eq>
232
                                            <right>indirect</right>
233
                                            <left>$DetType</left>
234
                                        </_eq>
235
                                    </cond>
236
                                    <then>
237
                                        <_alt>
238
                                            <1>$coll_number</1>
239
                                            <2>$SourceVoucher</2>
240
                                        </_alt>
241
                                    </then>
242
                                </_if>
243
                            </catalognumber_dwc>
244
                        </specimenreplicate>
245
                    </specimenreplicate_id>
246
                </voucher>
247
            </taxonoccurrence>
248
        </locationevent>
249
    </location>
250
</VegBIEN>
251
Inserted 42 new rows into database
inputs/SALVIAS/Organism/VegBIEN.csv
1
SALVIAS,VegBIEN:,Comments
2
Line,"/location/_if[@name=""if subplot""]/cond/_exists/_first/2",
3
PlotCode,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/1",
4
PlotID,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/2/_if[@name=""if locationID""]/cond/_exists",
5
DetType,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_join/3/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
6
coll_number,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_join/3/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
7
SourceVoucher,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/3/_alt/2/_join/3/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
8
PlotID,"/location/_if[@name=""if subplot""]/else/sourceaccessioncode",
9
PlotCode,"/location/_if[@name=""if subplot""]/then/parent_id/location/authorlocationcode",
10
PlotID,"/location/_if[@name=""if subplot""]/then/parent_id/location/sourceaccessioncode",
11
Line,/location/authorlocationcode,
12
Line,"/location/locationevent/_if[@name=""if subplot""]/cond/_exists/_first/2",
13
census_date,/location/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
14
-----
15
SELECT ""PlotID"", ""Line"", count(DISTINCT census_date) AS census_date_count
16
FROM ""SALVIAS"".organisms
17
WHERE ""Line"" IS NOT NULL AND census_date IS NOT NULL
18
GROUP BY ""PlotID"", ""Line""
19
HAVING count(DISTINCT census_date) > 1
20
-----"
21
census_date,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1,"This is for the subplot, not the organism, as all organisms in a subplot have the same value for it. The following query returns no rows:
22
-----
23
SELECT ""PlotID"", ""Line"", count(DISTINCT census_date) AS census_date_count
24
FROM ""SALVIAS"".organisms
25
WHERE ""Line"" IS NOT NULL AND census_date IS NOT NULL
26
GROUP BY ""PlotID"", ""Line""
27
HAVING count(DISTINCT census_date) > 1
28
-----"
29
NoInd,/location/locationevent/taxonoccurrence/aggregateoccurrence/count,"Brad: This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
30
cover_percent,/location/locationevent/taxonoccurrence/aggregateoccurrence/cover,
31
census_no,"/location/locationevent/taxonoccurrence/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
32
intercept_cm,/location/locationevent/taxonoccurrence/aggregateoccurrence/linecover,"Brad: This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
33
Notes,/location/locationevent/taxonoccurrence/aggregateoccurrence/notes,
34
Ind,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/collectionnumber/_alt/2,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
35
PlotObsID,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
36
DetType,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
37
coll_number,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/1",Brad: Map instead as for voucher_string
38
SourceVoucher,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/else/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
39
canopy_form,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
40
canopy_position,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
41
liana_infestation,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=lianaInfestation]]:[@fkey=tablerecord_id]/definedvalue",
42
temp_dbh,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/diameterbreastheight,
43
height_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/height,
44
ht_first_branch_m,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/heightfirstbranch,
45
tag1,"/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
46
tag2,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
47
x_position,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/xposition,"Brad: These are important, fundamental values of many tree plots"
48
y_position,/location/locationevent/taxonoccurrence/aggregateoccurrence/plantobservation/stemobservation/yposition,Brad: See comment above for x_position
49
Ind,/location/locationevent/taxonoccurrence/authortaxoncode/_alt/1/_alt/2,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
50
Habit,"/location/locationevent/taxonoccurrence/growthform/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=*]/value","Brad: This is growth form (tree, shrub, herb, etc.). It is an observation of a trait.; According to <http://salvias.net/Documents/salvias_data_dictionary.html#Plot+data.habit>, <https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/SALVIAS#Habit>"
51
PlotObsID,/location/locationevent/taxonoccurrence/sourceaccessioncode/_first/2,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
52
auth,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname/_alt/1",Brad: This is the author of the scientificName.
53
infra_rank_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
54
infra_ep_1,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
55
Species,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
56
Genus,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
57
Family,"/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
58
cfaff,/location/locationevent/taxonoccurrence/taxondetermination[!isoriginal]/taxonfit,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
59
OrigSpecies,"/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",Brad: OMIT
60
OrigGenus,"/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
61
OrigFamily,"/location/locationevent/taxonoccurrence/taxondetermination[isoriginal=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=parent_id]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",Brad: OMIT
62
coll_firstname,/location/locationevent/taxonoccurrence/verbatimcollectorname/_name/first,Brad: See comment above
63
coll_lastname,/location/locationevent/taxonoccurrence/verbatimcollectorname/_name/last,"Brad: This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
64
DetType,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/cond/_eq:[right=indirect]/left","Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen."
65
coll_number,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/then/_alt/1",Brad: Map instead as for voucher_string
66
SourceVoucher,"/location/locationevent/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_if[@name=""if indirect voucher""]/then/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below."
inputs/SALVIAS/Organism/src.csv
1
SALVIAS,Veg+,Comments
2
PlotObsID,,
3
PlotID,,
4
PlotCode,,
5
census_no,,
6
census_date,,
7
OrigRecordID,,
8
Line,,
9
Ind,,
10
ind_id,,
11
tag1,,
12
tag2,,
13
x_position,,
14
y_position,,
15
dist,,
16
perp_dist,,
17
SourceVoucher,,
18
coll_number,,
19
collector_code,,
20
coll_inits,,
21
coll_lastname,,
22
coll_firstname,,
23
DetType,,
24
det_by,,
25
fam_status,,
26
gen_status,,
27
name_status,,
28
SpAuthStatus,,
29
Family,,
30
Genus,,
31
GenAuth,,
32
Species,,
33
auth,,
34
infra_rank_1,,
35
infra_ep_1,,
36
infra_auth_1,,
37
common_name,,
38
morphoname,,
39
species_code,,
40
Habit,,
41
height_class,,
42
height_m,,
43
height_m_commercial,,
44
ht_first_branch_m,,
45
NoInd,,
46
cover_percent,,
47
intercept_cm,,
48
cfaff,,
49
other_annotations,,
50
morphocf,,
51
IsMorpho,,
52
OrigFamily,,
53
OrigGenus,,
54
OrigSpecies,,
55
OrigAuth,,
56
phenology,,
57
canopy_position,,
58
canopy_form,,
59
liana_infestation,,
60
Notes,,
61
temp_dbh,,
62
temp_liandbh,,
63
tmp_del,,
inputs/SALVIAS/plotMetadata/header.csv
1
PlotID,orig_filename,AccessCode,project_id,PrimOwnerID,SiteCode,SiteName,new_world,MajorGeo,Country,PolDiv1,pol1_type,pol2,pol2_type,lat_string,long_string,LatDec,LongDec,lat_long_accuracy,Elev,elev_max_m,elev_min_m,Precip,ElevSource,Temp,PrecipSource,TempSource,bearing,slope_aspect,slope_gradient,clay_percent,silt_percent,sand_percent,pH,soil_N,soil_P,soil_C,soil_K,soil_Mg,soil_Ca,soil_Na,soil_acidity,soil_base,soil_cation_cap,soil_conductivity,organic_percent,soil_texture,RevisionComments,Locality_Description,topography_desc,vegetation_1,vegetation_2,Habitat,life_zone_code,life_zone,PlotMethod,MethodCode,plot_area_ha,recensused,date_start,date_finish,plot_administrator,plot_notes,tmp_del,Country_index,PrimOwnerID_index,plot_administrator_index,project_id_index
inputs/SALVIAS/plotMetadata/VegBIEN.csv
1
SALVIAS,VegBIEN:,Comments
2
SiteCode,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/1",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
3
PlotID,"/location/_if[@name=""if subplot""]/else/authorlocationcode/_first/2/_if[@name=""if locationID""]/cond/_exists","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
4
PlotID,"/location/_if[@name=""if subplot""]/else/sourceaccessioncode","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
5
SiteCode,"/location/_if[@name=""if subplot""]/then/parent_id/location/authorlocationcode",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
6
PlotID,"/location/_if[@name=""if subplot""]/then/parent_id/location/sourceaccessioncode","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
7
plot_area_ha,/location/area,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
8
Elev,"/location/elevation/_alt/1/_replace:[""\bca\.?""=]/value",Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
9
elev_max_m,"/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_replace:[""\bca\.?""=]/value",
10
elev_min_m,"/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace:[""\bca\.?""=]/value",
11
elev_min_m,"/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace:[""\bca\.?""=]/value",
12
elev_max_m,"/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1/_replace:[""\bca\.?""=]/value",
13
elev_min_m,"/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace:[""\bca\.?""=]/value",
14
LatDec,"/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",
15
LongDec,"/location/locationdetermination/longitude/_alt/1/_nullIf:[null=0,type=float]/value",
16
pol2,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",Brad: No pol2=countyParish
17
PolDiv1,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",Brad: No; pol1=stateProvince
18
Country,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",
19
MajorGeo,"/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",
20
PlotMethod,/location/locationevent/*_id/method/name,
21
project_id,/location/locationevent/*_id/project/projectname,
22
life_zone_code,/location/locationevent/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
23
life_zone,/location/locationevent/commclass/commdetermination/*_id/commconcept/commdescription,
24
date_finish,/location/locationevent/obsenddate/_*/date/_dateRangeEnd/value,
25
date_start,/location/locationevent/obsstartdate/_*/date/_dateRangeStart/value,
26
Precip,/location/locationevent/precipitation,
27
soil_acidity,"/location/locationevent/soilobs/acidity/_units:[default=""%"",to=]/value/_map:[""<0.05""=0,*=*]/value",
28
soil_base,"/location/locationevent/soilobs/basesaturation/_units:[default=""%"",to=]/value",
29
soil_Ca,"/location/locationevent/soilobs/calcium/_units:[default=""%"",to=]/value",
30
soil_C,"/location/locationevent/soilobs/carbon/_units:[default=""%"",to=]/value",
31
soil_cation_cap,/location/locationevent/soilobs/cationexchangecapacity,
32
clay_percent,"/location/locationevent/soilobs/clay/_units:[default=""%"",to=]/value",
33
soil_conductivity,/location/locationevent/soilobs/conductivity,
34
soil_Mg,"/location/locationevent/soilobs/magnesium/_units:[default=""%"",to=]/value",
35
soil_N,"/location/locationevent/soilobs/nitrogen/_units:[default=""%"",to=]/value",
36
organic_percent,"/location/locationevent/soilobs/organic/_units:[default=""%"",to=]/value",
37
pH,/location/locationevent/soilobs/ph,"Brad: For all these soil variables, how do we store information on method, units. Seems like an ontological structure would be more appropriate (measurementName, measurementValue, measurementUnits, measurementMethod). Same as BIEN traits table. Something to discuss."
38
soil_P,"/location/locationevent/soilobs/phosphorus/_units:[default=""%"",to=]/value/_map:[""<1,5""=0,*=*]/value",
39
soil_K,"/location/locationevent/soilobs/potassium/_units:[default=""%"",to=]/value",
40
sand_percent,"/location/locationevent/soilobs/sand/_units:[default=""%"",to=]/value",
41
silt_percent,"/location/locationevent/soilobs/silt/_units:[default=""%"",to=]/value",
42
soil_Na,"/location/locationevent/soilobs/sodium/_units:[default=""%"",to=]/value",
43
soil_texture,"/location/locationevent/soilobs/texture/_units:[default=""%"",to=]/value",
44
Temp,/location/locationevent/temperature,
45
Locality_Description,/location/locationnarrative/_merge/1,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
46
slope_aspect,/location/slopeaspect/_compass/value,
47
slope_gradient,/location/slopegradient,
inputs/SALVIAS/plotMetadata/test.xml.ref
1
Put template:
2
<VegBIEN>
3
    <location id="-1">
4
        <authorlocationcode>$SiteCode</authorlocationcode>
5
        <sourceaccessioncode>$PlotID</sourceaccessioncode>
6
        <area>$plot_area_ha</area>
7
        <elevation>
8
            <_alt>
9
                <1>
10
                    <_replace>
11
                        <\bca\.?></\bca\.?>
12
                        <value>$Elev</value>
13
                    </_replace>
14
                </1>
15
                <2>
16
                    <_avg>
17
                        <max>
18
                            <_units>
19
                                <default>m</default>
20
                                <to>m</to>
21
                                <to></to>
22
                                <value>
23
                                    <_replace>
24
                                        <\bca\.?></\bca\.?>
25
                                        <value>$elev_max_m</value>
26
                                    </_replace>
27
                                </value>
28
                            </_units>
29
                        </max>
30
                        <min>
31
                            <_units>
32
                                <default>m</default>
33
                                <to>m</to>
34
                                <to></to>
35
                                <value>
36
                                    <_rangeStart>
37
                                        <value>
38
                                            <_replace>
39
                                                <\bca\.?></\bca\.?>
40
                                                <value>$elev_min_m</value>
41
                                            </_replace>
42
                                        </value>
43
                                    </_rangeStart>
44
                                </value>
45
                            </_units>
46
                        </min>
47
                    </_avg>
48
                </2>
49
            </_alt>
50
        </elevation>
51
        <elevationrange>
52
            <_range>
53
                <from>
54
                    <_units>
55
                        <default>m</default>
56
                        <to>m</to>
57
                        <to></to>
58
                        <value>
59
                            <_rangeStart>
60
                                <value>
61
                                    <_replace>
62
                                        <\bca\.?></\bca\.?>
63
                                        <value>$elev_min_m</value>
64
                                    </_replace>
65
                                </value>
66
                            </_rangeStart>
67
                        </value>
68
                    </_units>
69
                </from>
70
                <to>
71
                    <_units>
72
                        <default>m</default>
73
                        <to>m</to>
74
                        <to></to>
75
                        <value>
76
                            <_alt>
77
                                <1>
78
                                    <_replace>
79
                                        <\bca\.?></\bca\.?>
80
                                        <value>$elev_max_m</value>
81
                                    </_replace>
82
                                </1>
83
                                <2>
84
                                    <_rangeEnd>
85
                                        <value>
86
                                            <_replace>
87
                                                <\bca\.?></\bca\.?>
88
                                                <value>$elev_min_m</value>
89
                                            </_replace>
90
                                        </value>
91
                                    </_rangeEnd>
92
                                </2>
93
                            </_alt>
94
                        </value>
95
                    </_units>
96
                </to>
97
            </_range>
98
        </elevationrange>
99
        <locationdetermination>
100
            <latitude>
101
                <_nullIf>
102
                    <null>0</null>
103
                    <type>float</type>
104
                    <value>$LatDec</value>
105
                </_nullIf>
106
            </latitude>
107
            <longitude>
108
                <_nullIf>
109
                    <null>0</null>
110
                    <type>float</type>
111
                    <value>$LongDec</value>
112
                </_nullIf>
113
            </longitude>
114
            <namedplace_id>
115
                <_simplifyPath>
116
                    <next>parent_id/namedplace</next>
117
                    <require>placename</require>
118
                    <path>
119
                        <namedplace>
120
                            <rank>county</rank>
121
                            <placename>$pol2</placename>
122
                            <parent_id>
123
                                <namedplace>
124
                                    <rank>stateProvince</rank>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff