Project

General

Profile

« Previous | Next » 

Revision 542

VegBIEN: specimen links directly to taxonoccurrence rather than indirectly via individualplant

View differences:

test/accepted_output/SALVIAS.organisms.VegBIEN.xml
22 22
        <aggregateoccurrence>
23 23
            <count>1</count>
24 24
            <individualplant>
25
                <specimen>
26
                    <reference_id>
27
                        <reference/>
28
                    </reference_id>
29
                    <catalognumber_dwc>14598</catalognumber_dwc>
30
                    <collector_id>
31
                        <party>
32
                            <surname>Vasquez</surname>
33
                        </party>
34
                    </collector_id>
35
                    <sourceaccessionnumber>607771</sourceaccessionnumber>
36
                </specimen>
37 25
                <stem>
38 26
                    <diameter>662</diameter>
39 27
                    <sourceid>8</sourceid>
......
41 29
                <sourceid>607771</sourceid>
42 30
            </individualplant>
43 31
        </aggregateoccurrence>
32
        <specimen>
33
            <reference_id>
34
                <reference/>
35
            </reference_id>
36
            <catalognumber_dwc>14598</catalognumber_dwc>
37
            <collector_id>
38
                <party>
39
                    <surname>Vasquez</surname>
40
                </party>
41
            </collector_id>
42
            <sourceaccessionnumber>607771</sourceaccessionnumber>
43
        </specimen>
44 44
        <taxondetermination>
45 45
            <role_id>
46 46
                <aux_role>
......
291 291
        <aggregateoccurrence>
292 292
            <count>1</count>
293 293
            <individualplant>
294
                <specimen>
295
                    <reference_id>
296
                        <reference/>
297
                    </reference_id>
298
                    <catalognumber_dwc>14669</catalognumber_dwc>
299
                    <collector_id>
300
                        <party>
301
                            <surname>Vasquez</surname>
302
                        </party>
303
                    </collector_id>
304
                    <sourceaccessionnumber>607722</sourceaccessionnumber>
305
                </specimen>
306 294
                <stem>
307 295
                    <diameter>215</diameter>
308 296
                    <sourceid>91</sourceid>
......
310 298
                <sourceid>607722</sourceid>
311 299
            </individualplant>
312 300
        </aggregateoccurrence>
301
        <specimen>
302
            <reference_id>
303
                <reference/>
304
            </reference_id>
305
            <catalognumber_dwc>14669</catalognumber_dwc>
306
            <collector_id>
307
                <party>
308
                    <surname>Vasquez</surname>
309
                </party>
310
            </collector_id>
311
            <sourceaccessionnumber>607722</sourceaccessionnumber>
312
        </specimen>
313 313
        <taxondetermination>
314 314
            <role_id>
315 315
                <aux_role>
test/accepted_output/SALVIAS_db.organisms.VegBIEN.xml
16 16
            <count>1</count>
17 17
            <individualplant>
18 18
                <sourceid>1</sourceid>
19
                <specimen>
20
                    <reference_id>
21
                        <reference/>
22
                    </reference_id>
23
                    <sourceaccessionnumber>1</sourceaccessionnumber>
24
                </specimen>
25 19
            </individualplant>
26 20
        </aggregateoccurrence>
27 21
        <taxondetermination>
......
263 257
                <party/>
264 258
            </party_id>
265 259
        </taxondetermination>
260
        <specimen>
261
            <reference_id>
262
                <reference/>
263
            </reference_id>
264
            <sourceaccessionnumber>1</sourceaccessionnumber>
265
        </specimen>
266 266
    </taxonoccurrence>
267 267
    <taxonoccurrence id="1">
268 268
        <locationevent_id>
......
280 280
            <count>1</count>
281 281
            <individualplant>
282 282
                <sourceid>2</sourceid>
283
                <specimen>
284
                    <reference_id>
285
                        <reference/>
286
                    </reference_id>
287
                    <sourceaccessionnumber>2</sourceaccessionnumber>
288
                </specimen>
289 283
            </individualplant>
290 284
        </aggregateoccurrence>
291 285
        <taxondetermination>
......
527 521
                <party/>
528 522
            </party_id>
529 523
        </taxondetermination>
524
        <specimen>
525
            <reference_id>
526
                <reference/>
527
            </reference_id>
528
            <sourceaccessionnumber>2</sourceaccessionnumber>
529
        </specimen>
530 530
    </taxonoccurrence>
531 531
</VegBIEN>
test/accepted_output/NYBG.organisms.VegBIEN.xml
44 44
        </locationevent_id>
45 45
        <aggregateoccurrence>
46 46
            <individualplant>
47
                <specimen>
48
                    <reference_id>
49
                        <reference/>
50
                    </reference_id>
51
                    <catalognumber_dwc>9877</catalognumber_dwc>
52
                    <collector_id>
53
                        <party>
54
                            <givenname>R.</givenname>
55
                            <middlename>B.</middlename>
56
                            <surname>Foster</surname>
57
                        </party>
58
                    </collector_id>
59
                    <museum_id>
60
                        <party>
61
                            <organizationname>NY Herbarium</organizationname>
62
                        </party>
63
                    </museum_id>
64
                    <collectioncode_dwc>Herbarium</collectioncode_dwc>
65
                    <sourceaccessionnumber>816590</sourceaccessionnumber>
66
                </specimen>
67 47
                <stem>
68 48
                    <definedvalue fkey="tableRecord_ID">
69 49
                        <userdefined_id>
......
90 70
            </individualplant>
91 71
            <count>1</count>
92 72
        </aggregateoccurrence>
73
        <specimen>
74
            <reference_id>
75
                <reference/>
76
            </reference_id>
77
            <catalognumber_dwc>9877</catalognumber_dwc>
78
            <collector_id>
79
                <party>
80
                    <givenname>R.</givenname>
81
                    <middlename>B.</middlename>
82
                    <surname>Foster</surname>
83
                </party>
84
            </collector_id>
85
            <museum_id>
86
                <party>
87
                    <organizationname>NY Herbarium</organizationname>
88
                </party>
89
            </museum_id>
90
            <collectioncode_dwc>Herbarium</collectioncode_dwc>
91
            <sourceaccessionnumber>816590</sourceaccessionnumber>
92
        </specimen>
93 93
        <taxondetermination>
94 94
            <role_id>
95 95
                <aux_role>
......
330 330
                <sourceid>220541</sourceid>
331 331
            </locationevent>
332 332
        </locationevent_id>
333
        <aggregateoccurrence>
334
            <individualplant>
335
                <specimen>
336
                    <reference_id>
337
                        <reference/>
338
                    </reference_id>
339
                    <catalognumber_dwc>545</catalognumber_dwc>
340
                    <collector_id>
341
                        <party>
342
                            <givenname>J.</givenname>
343
                            <middlename>B.</middlename>
344
                            <surname>Walker</surname>
345
                        </party>
346
                    </collector_id>
347
                    <museum_id>
348
                        <party>
349
                            <organizationname>NY Herbarium</organizationname>
350
                        </party>
351
                    </museum_id>
352
                    <collectioncode_dwc>Herbarium</collectioncode_dwc>
353
                    <sourceaccessionnumber>220541</sourceaccessionnumber>
354
                </specimen>
355
                <sourceid>220541</sourceid>
356
            </individualplant>
357
            <count>1</count>
358
        </aggregateoccurrence>
333
        <specimen>
334
            <reference_id>
335
                <reference/>
336
            </reference_id>
337
            <catalognumber_dwc>545</catalognumber_dwc>
338
            <collector_id>
339
                <party>
340
                    <givenname>J.</givenname>
341
                    <middlename>B.</middlename>
342
                    <surname>Walker</surname>
343
                </party>
344
            </collector_id>
345
            <museum_id>
346
                <party>
347
                    <organizationname>NY Herbarium</organizationname>
348
                </party>
349
            </museum_id>
350
            <collectioncode_dwc>Herbarium</collectioncode_dwc>
351
            <sourceaccessionnumber>220541</sourceaccessionnumber>
352
        </specimen>
359 353
        <taxondetermination>
360 354
            <role_id>
361 355
                <aux_role>
......
484 478
                <party/>
485 479
            </party_id>
486 480
        </taxondetermination>
481
        <aggregateoccurrence>
482
            <count>1</count>
483
            <individualplant>
484
                <sourceid>220541</sourceid>
485
            </individualplant>
486
        </aggregateoccurrence>
487 487
    </taxonoccurrence>
488 488
</VegBIEN>
inputs/SALVIAS/maps/VegBIEN.organisms.csv
4 4
cover_percent,/aggregateoccurrence/cover,
5 5
intercept_cm,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank 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."
6 6
height_m,/aggregateoccurrence/individualplant/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
7
coll_number,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
8
census_date,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collectiondate/_date/date,
9
coll_firstname,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
10
coll_lastname,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
11 7
ht_first_branch_m,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
12 8
temp_dbh,/aggregateoccurrence/individualplant/stem/diameter,
13 9
tag2,/aggregateoccurrence/individualplant/stem/sourceid/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
14 10
tag1,/aggregateoccurrence/individualplant/stem/sourceid/_alt/2,"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."
15 11
x_position,/aggregateoccurrence/individualplant/stem/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
16 12
y_position,/aggregateoccurrence/individualplant/stem/yposition,Brad: See comment above for x_position
13
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
14
census_date,/specimen:[*_id/reference]/collectiondate/_date/date,
15
coll_firstname,"/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
16
coll_lastname,/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
17 17
census_no,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]:[userdefinedtype=varchar]]:[@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."
18 18
cfaff,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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."
19 19
DetType,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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."
......
28 28
infra_ep_1,"/taxondetermination[role_id/aux_role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Subspecies]:[determinationtype=""Computer (automated)"",originaldetermination=false,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/_name/last",
29 29
OrigFamily,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname",Brad: OMIT
30 30
OrigSpecies,"/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/2,taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",Brad: OMIT
31
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."
31
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."
schemas/vegbien.sql
2258 2258

  
2259 2259
CREATE TABLE specimen (
2260 2260
    specimen_id integer NOT NULL,
2261
    individualplant_id integer,
2262 2261
    reference_id integer NOT NULL,
2263 2262
    collectioncode_dwc character varying(255),
2264 2263
    catalognumber_dwc character varying(255),
......
6403 6402

  
6404 6403

  
6405 6404
--
6406
-- Name: specimen_individualplant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
6407
--
6408

  
6409
ALTER TABLE ONLY specimen
6410
    ADD CONSTRAINT specimen_individualplant_id_fkey FOREIGN KEY (individualplant_id) REFERENCES individualplant(individualplant_id) ON UPDATE CASCADE ON DELETE CASCADE;
6411

  
6412

  
6413
--
6414 6405
-- Name: specimen_museum_id; Type: FK CONSTRAINT; Schema: public; Owner: -
6415 6406
--
6416 6407

  
mappings/SALVIAS_db-VegBIEN.organisms.csv
4 4
cover_percent,/aggregateoccurrence/cover,
5 5
intercept_cm,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank 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."
6 6
height_m,/aggregateoccurrence/individualplant/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
7
coll_number,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
8
census_date,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collectiondate/_date/date,
9
coll_firstname,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
10
coll_lastname,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
11 7
ht_first_branch_m,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
12 8
temp_dbh,/aggregateoccurrence/individualplant/stem/diameter,
13 9
tag2,/aggregateoccurrence/individualplant/stem/sourceid/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
14 10
tag1,/aggregateoccurrence/individualplant/stem/sourceid/_alt/2,"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."
15 11
x_position,/aggregateoccurrence/individualplant/stem/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
16 12
y_position,/aggregateoccurrence/individualplant/stem/yposition,Brad: See comment above for x_position
13
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
14
census_date,/specimen:[*_id/reference]/collectiondate/_date/date,
15
coll_firstname,"/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
16
coll_lastname,/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
17 17
census_no,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]:[userdefinedtype=varchar]]:[@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."
18 18
cfaff,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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."
19 19
DetType,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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."
......
28 28
infra_ep_1,"/taxondetermination[role_id/aux_role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Subspecies]:[determinationtype=""Computer (automated)"",originaldetermination=false,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/_name/last",
29 29
OrigFamily,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname",Brad: OMIT
30 30
OrigSpecies,"/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/2,taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",Brad: OMIT
31
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."
31
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."
mappings/VegX-VegBIEN.organisms.csv
55 55
/simpleUserdefined[name=interceptCm]/value,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
56 56
/height,/aggregateoccurrence/individualplant/height
57 57
/simpleUserdefined[name=stemHeightM]/value,/aggregateoccurrence/individualplant/height
58
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/catalognumber_dwc
59
/simpleUserdefined[name=collectionDate]/value,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collectiondate
60
/simpleUserdefined[name=collectionDate]/value/_date/date,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collectiondate/_date/date
61
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName","/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}"
62
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}"
63
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{surname}
64
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
65
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first}
66
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
67 58
->/*s/individualOrganismObservation[relatedItem[relationshipType=stemParent]/relatedItemID]/relatedItem[relationshipType=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,/aggregateoccurrence/individualplant/stem/*_id/individualplant/sourceid
68 59
->/*s/individualOrganismObservation[relatedItem[relationshipType=stemParent]/relatedItemID]/diameterBaseDistance[baseDistance/value=0]/diameter,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
69 60
/diameterBaseDistance[baseDistance/value=0]/diameter,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
......
94 85
/*ID->/*s/individualOrganism/identificationLabel/_alt/2,/aggregateoccurrence/individualplant/stem/sourceid/_alt/2
95 86
/simpleUserdefined[name=xPosition]/value,/aggregateoccurrence/individualplant/stem/xposition
96 87
/simpleUserdefined[name=yPosition]/value,/aggregateoccurrence/individualplant/stem/yposition
88
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode,/specimen:[*_id/reference]/catalognumber_dwc
89
/simpleUserdefined[name=collectionDate]/value,/specimen:[*_id/reference]/collectiondate
90
/simpleUserdefined[name=collectionDate]/value/_date/date,/specimen:[*_id/reference]/collectiondate/_date/date
91
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName","/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}"
92
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}"
93
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/specimen:[*_id/reference]/collector_id/party/{surname}
94
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName,"/specimen:[*_id/reference]/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
95
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/first,/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first}
96
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName/_name/last,"/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
97 97
/simpleUserdefined[name=censusNo]/value,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
98 98
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/note","/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
99 99
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType","/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
......
121 121
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=phyl_div])/Name","/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subkingdom]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname"
122 122
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=ssp])/Name","/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname"
123 123
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[Rank/@code=sp])/Name","/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/2,taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}"
124
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}"
124
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}"
mappings/NYBG-VegBIEN.organisms.csv
14 14
YearCollected,/*_id/locationevent/obsstartdate/_date/year,
15 15
MaximumDepth,/*_id/locationevent/waterdepth/max,
16 16
MinimumDepth,/*_id/locationevent/waterdepth/min,
17
FieldNumber,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
18
Collector,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
19
InstitutionCode,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first},
20
CollectionCode,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
21 17
Habitat,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=habitat]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?"
22 18
PlantFungusDescription,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=plantFungusDescription]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB, also possibly to VX;  this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?"
23 19
Substrate,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=substrate]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?"
24 20
Vegetation,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=vegetation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?"
21
FieldNumber,/specimen:[*_id/reference]/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
22
Collector,"/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
23
InstitutionCode,/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/first},
24
CollectionCode,"/specimen:[*_id/reference]/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
25 25
Sex,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=sex]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
26 26
Notes,"/taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=false,currentdetermination=true,*_id/party]/notes","Brad: mapping OK; NY appears to be using this field for almost anything, but mostly internal collections notes"
27 27
ScientificName,"/taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/1","Brad: Bob, Nick, please is this mapping OK?"
......
38 38
Phylum,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subkingdom]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname",
39 39
Subspecies,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname",
40 40
Species,"/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/2,taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",
41
UniqueNYInternalRecordNumber,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key"
41
UniqueNYInternalRecordNumber,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key"
mappings/for_review/SALVIAS_db-VegBIEN.organisms.csv
4 4
cover_percent,//aggregateoccurrence/cover,
5 5
intercept_cm,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]]/definedvalue","Brad: Incorrect for VegBank 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."
6 6
height_m,//individualplant/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
7
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
8
census_date,//specimen/collectiondate/_date/date,
9
coll_firstname,"/aggregateoccurrence/individualplant/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
10
coll_lastname,/aggregateoccurrence/individualplant/specimen/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
11 7
ht_first_branch_m,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=heightFirstBranchM]]/definedvalue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
12 8
temp_dbh,//stem/diameter,
13 9
tag2,//stem/sourceid/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
14 10
tag1,//stem/sourceid/_alt/2,"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."
15 11
x_position,//stem/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
16 12
y_position,//stem/yposition,Brad: See comment above for x_position
13
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
14
census_date,//specimen/collectiondate/_date/date,
15
coll_firstname,"/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
16
coll_lastname,/specimen/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
17 17
census_no,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]]/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."
18 18
cfaff,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]]/definedvalue","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."
19 19
DetType,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]]/definedvalue","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."
......
28 28
infra_ep_1,"/taxondetermination[rolecode=computer,plantlevel=Subspecies]/*_id/plantconcept/_name/last",
29 29
OrigFamily,"/taxondetermination[rolecode=identifier,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT
30 30
OrigSpecies,"/{taxondetermination[rolecode=collector]/*_id/plantconcept/*_id/*/plantname/_alt/2,taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname}",Brad: OMIT
31
PlotObsID,"/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","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."
31
PlotObsID,"/{aggregateoccurrence/individualplant/sourceid,specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","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."
mappings/for_review/VegX-VegBIEN.organisms.csv
55 55
/simpleUserdefined[name=interceptCm]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]]/definedvalue"
56 56
/height,//individualplant/height
57 57
/simpleUserdefined[name=stemHeightM]/value,//individualplant/height
58
//taxonNameUsageConcept/authorCode,//specimen/catalognumber_dwc
59
/simpleUserdefined[name=collectionDate]/value,//specimen/collectiondate
60
/simpleUserdefined[name=collectionDate]/value/_date/date,//specimen/collectiondate/_date/date
61
//individualName/givenName,"/aggregateoccurrence/individualplant/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}"
62
"//parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","/aggregateoccurrence/individualplant/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}"
63
//individualName/surName,/aggregateoccurrence/individualplant/specimen/collector_id/party/{surname}
64
//party/organizationName,"/aggregateoccurrence/individualplant/specimen/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
65
//party/organizationName/_name/first,/aggregateoccurrence/individualplant/specimen/{museum_id/party/organizationname/_name/first}
66
//party/organizationName/_name/last,"/aggregateoccurrence/individualplant/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
67 58
//taxonNameUsageConcept/voucher,//individualplant/sourceid
68 59
//*s/individualOrganismObservation[relatedItem[relationshipType=stemParent]/relatedItemID]/diameterBaseDistance[value=0]/diameter,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]]/definedvalue"
69 60
/diameterBaseDistance[value=0]/diameter,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]]/definedvalue"
......
94 85
//individualOrganism/identificationLabel/_alt/2,//stem/sourceid/_alt/2
95 86
/simpleUserdefined[name=xPosition]/value,//stem/xposition
96 87
/simpleUserdefined[name=yPosition]/value,//stem/yposition
88
//taxonNameUsageConcept/authorCode,//specimen/catalognumber_dwc
89
/simpleUserdefined[name=collectionDate]/value,//specimen/collectiondate
90
/simpleUserdefined[name=collectionDate]/value/_date/date,//specimen/collectiondate/_date/date
91
//individualName/givenName,"/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}"
92
"//parties/party/individualName/{givenName/_namePart/{first,middle},surName/_namePart/last}","/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}"
93
//individualName/surName,/specimen/collector_id/party/{surname}
94
//party/organizationName,"/specimen/{museum_id/party/organizationname,collectioncode_dwc/_namePart/last}"
95
//party/organizationName/_name/first,/specimen/{museum_id/party/organizationname/_name/first}
96
//party/organizationName/_name/last,"/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}"
97 97
/simpleUserdefined[name=censusNo]/value,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]]/definedvalue"
98 98
//*s/taxonDetermination[role=computer]/note,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]]/definedvalue"
99 99
//*s/taxonDetermination[role=collector]/groupType,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]]/definedvalue"
......
121 121
//*s/taxonConcept[@code=phyl_div]/Name,"/taxondetermination[rolecode=identifier,plantlevel=Subkingdom]/*_id/plantconcept/*_id/*/plantname"
122 122
//*s/taxonConcept[@code=ssp]/Name,"/taxondetermination[rolecode=identifier,plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname"
123 123
//*s/taxonConcept[@code=sp]/Name,"/{taxondetermination[rolecode=collector]/*_id/plantconcept/*_id/*/plantname/_alt/2,taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname}"
124
//taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}"
124
//taxonNameUsageConcept/voucher,"/{aggregateoccurrence/individualplant/sourceid,specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}"
mappings/for_review/NYBG-VegBIEN.organisms.csv
14 14
YearCollected,//locationevent/obsstartdate/_date/year,
15 15
MaximumDepth,//waterdepth/max,
16 16
MinimumDepth,//waterdepth/min,
17
FieldNumber,//specimen/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
18
Collector,"/aggregateoccurrence/individualplant/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
19
InstitutionCode,/aggregateoccurrence/individualplant/specimen/{museum_id/party/organizationname/_name/first},
20
CollectionCode,"/aggregateoccurrence/individualplant/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
21 17
Habitat,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=habitat]]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?"
22 18
PlantFungusDescription,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=plantFungusDescription]]/definedvalue","Brad: Incorrect mapping to VB, also possibly to VX;  this is the specimenDescription field, as used by this institution (NOT a standard DwC element). Very important! Bob, Nick, where would this go in VB and VX?"
23 19
Substrate,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=substrate]]/definedvalue","Brad: Incorrect mapping to VB and VX; refers to geological substrate or soils where specimen collected. Often concatenated with habitat, or included with specimen description. Bob, Nick, is there an element for this in VB/VX, or shall we just use userDefined?"
24 20
Vegetation,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=vegetation]]/definedvalue","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Habitat'. Bob, Nick: keep as user defined or create special element?"
21
FieldNumber,//specimen/catalognumber_dwc,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
22
Collector,"/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Correct for VB. Nick: is there a way to specifically identify this party as collector of a specimen?
23
InstitutionCode,/specimen/{museum_id/party/organizationname/_name/first},
24
CollectionCode,"/specimen/{museum_id/party/organizationname/_name/last,collectioncode_dwc}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name
25 25
Sex,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=sex]]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections"
26 26
Notes,/taxondetermination[rolecode=collector]/notes,"Brad: mapping OK; NY appears to be using this field for almost anything, but mostly internal collections notes"
27 27
ScientificName,/taxondetermination[rolecode=collector]/*_id/plantconcept/*_id/*/plantname/_alt/1,"Brad: Bob, Nick, please is this mapping OK?"
......
38 38
Phylum,"/taxondetermination[rolecode=identifier,plantlevel=Subkingdom]/*_id/plantconcept/*_id/*/plantname",
39 39
Subspecies,"/taxondetermination[rolecode=identifier,plantlevel=Subspecies]/*_id/plantconcept/*_id/*/plantname",
40 40
Species,"/{taxondetermination[rolecode=collector]/*_id/plantconcept/*_id/*/plantname/_alt/2,taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname}",
41
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key"
41
UniqueNYInternalRecordNumber,"/{aggregateoccurrence/individualplant/sourceid,specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key"
mappings/for_review/SALVIAS-VegBIEN.organisms.csv
7 7
intercept_cm,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]]/definedvalue","Brad: Incorrect for VegBank 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."
8 8
height_m,//individualplant/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9 9
stem_height_m,//individualplant/height,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
10
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
11
coll_firstname,"/aggregateoccurrence/individualplant/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
12
coll_lastname,/aggregateoccurrence/individualplant/specimen/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
13 10
basal_diam,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]]/definedvalue",
14 11
stem_canopy_form,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=canopyForm]]/definedvalue",Brad: Should also be userDefined for VegBank. 
15 12
stem_canopy_position,"//stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=canopyPosition]]/definedvalue",Brad: Should also be userDefined for VegBank. 
......
23 20
tag1,//stem/sourceid/_alt/2,"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."
24 21
x_position,//stem/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
25 22
y_position,//stem/yposition,Brad: See comment above for x_position
23
coll_number,//specimen/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
24
coll_firstname,"/specimen/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
25
coll_lastname,/specimen/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
26 26
census_no,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]]/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."
27 27
cf_aff,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]]/definedvalue","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."
28 28
det_type,"/taxondetermination[rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]]/definedvalue","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 37
infra_ep_1,"/taxondetermination[rolecode=computer,plantlevel=Subspecies]/*_id/plantconcept/_name/last",
38 38
orig_family,"/taxondetermination[rolecode=identifier,plantlevel=Family]/*_id/plantconcept/*_id/*/plantname",Brad: OMIT
39 39
orig_species,"/{taxondetermination[rolecode=collector]/*_id/plantconcept/*_id/*/plantname/_alt/2,taxondetermination[rolecode=identifier,plantlevel=Species]/*_id/plantconcept/*_id/*/plantname}",Brad: OMIT
40
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","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."
40
OBSERVATION_ID,"/{aggregateoccurrence/individualplant/sourceid,specimen/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location/sourceid/_alt/3}","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."
mappings/SALVIAS-VegBIEN.organisms.csv
7 7
intercept_cm,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Incorrect for VegBank 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."
8 8
height_m,/aggregateoccurrence/individualplant/height,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9 9
stem_height_m,/aggregateoccurrence/individualplant/height,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
10
coll_number,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
11
coll_firstname,"/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
12
coll_lastname,/aggregateoccurrence/individualplant/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
13 10
basal_diam,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=basalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",
14 11
stem_canopy_form,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=canopyForm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
15 12
stem_canopy_position,"/aggregateoccurrence/individualplant/stem/definedvalue[*_id/userdefined[tablename=stem,userdefinedname=canopyPosition]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
......
23 20
tag1,/aggregateoccurrence/individualplant/stem/sourceid/_alt/2,"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."
24 21
x_position,/aggregateoccurrence/individualplant/stem/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
25 22
y_position,/aggregateoccurrence/individualplant/stem/yposition,Brad: See comment above for x_position
23
coll_number,/specimen:[*_id/reference]/catalognumber_dwc,Brad: Incorrect. Map instead as for voucher_string
24
coll_firstname,"/specimen:[*_id/reference]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
25
coll_lastname,/specimen:[*_id/reference]/collector_id/party/{surname},"Brad: Correct for VegBank. 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."
26 26
census_no,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=censusNo]:[userdefinedtype=varchar]]:[@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."
27 27
cf_aff,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=cfAff]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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."
28 28
det_type,"/taxondetermination[role_id/aux_role/rolecode=collector]/definedvalue[*_id/userdefined[tablename=taxondetermination,userdefinedname=determinationType]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","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 37
infra_ep_1,"/taxondetermination[role_id/aux_role/rolecode=computer,*_id/plantconcept/plantstatus/plantlevel=Subspecies]:[determinationtype=""Computer (automated)"",originaldetermination=false,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/_name/last",
38 38
orig_family,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname",Brad: OMIT
39 39
orig_species,"/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[*_id/reference]/*_id/*/plantname/_alt/2,taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",Brad: OMIT
40
OBSERVATION_ID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,aggregateoccurrence/individualplant/specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."
40
OBSERVATION_ID,":[aggregateoccurrence/count/_alt/2=1]/{aggregateoccurrence/individualplant/sourceid,specimen:[*_id/reference]/sourceaccessionnumber,*_id/locationevent/sourceid/_alt/2,*_id/locationevent/*_id/location:[confidentialitystatus=0]/sourceid/_alt/3}","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."

Also available in: Unified diff