Project

General

Profile

« Previous | Next » 

Revision 476

VegBIEN: Renamed collectiveobservation to aggregateoccurrence to reflect VegX usage of aggregate and the new taxonoccurrence table

View differences:

test/accepted_output/SALVIAS.organisms.VegBIEN.xml
19 19
                <authorcode>1</authorcode>
20 20
            </plotevent>
21 21
        </plotevent_id>
22
        <collectiveobservation>
22
        <aggregateoccurrence>
23 23
            <count>1</count>
24 24
            <individualplant>
25 25
                <stemdiameter>662</stemdiameter>
......
27 27
                    <authorcode>8</authorcode>
28 28
                </stemobservation>
29 29
            </individualplant>
30
        </collectiveobservation>
30
        </aggregateoccurrence>
31 31
        <taxondetermination>
32 32
            <role_id>
33 33
                <aux_role>
......
299 299
                <authorcode>4</authorcode>
300 300
            </plotevent>
301 301
        </plotevent_id>
302
        <collectiveobservation>
302
        <aggregateoccurrence>
303 303
            <count>1</count>
304 304
            <individualplant>
305 305
                <stemdiameter>215</stemdiameter>
......
307 307
                    <authorcode>91</authorcode>
308 308
                </stemobservation>
309 309
            </individualplant>
310
        </collectiveobservation>
310
        </aggregateoccurrence>
311 311
        <taxondetermination>
312 312
            <role_id>
313 313
                <aux_role>
test/accepted_output/SALVIAS_db.organisms.VegBIEN.xml
12 12
                </plot_id>
13 13
            </plotevent>
14 14
        </plotevent_id>
15
        <collectiveobservation>
15
        <aggregateoccurrence>
16 16
            <count>1</count>
17
        </collectiveobservation>
17
        </aggregateoccurrence>
18 18
        <taxondetermination>
19 19
            <role_id>
20 20
                <aux_role>
......
288 288
                </plot_id>
289 289
            </plotevent>
290 290
        </plotevent_id>
291
        <collectiveobservation>
291
        <aggregateoccurrence>
292 292
            <count>1</count>
293
        </collectiveobservation>
293
        </aggregateoccurrence>
294 294
        <taxondetermination>
295 295
            <role_id>
296 296
                <aux_role>
test/accepted_output/NYBG.organisms.VegBIEN.xml
42 42
                <authorcode>816590</authorcode>
43 43
            </plotevent>
44 44
        </plotevent_id>
45
        <collectiveobservation>
45
        <aggregateoccurrence>
46 46
            <individualplant>
47 47
                <stemobservation>
48 48
                    <definedvalue fkey="tableRecord_ID">
......
68 68
                </stemobservation>
69 69
            </individualplant>
70 70
            <count>1</count>
71
        </collectiveobservation>
71
        </aggregateoccurrence>
72 72
        <taxondetermination>
73 73
            <role_id>
74 74
                <aux_role>
......
529 529
                </plantname>
530 530
            </plantname_id>
531 531
        </taxondetermination>
532
        <collectiveobservation>
532
        <aggregateoccurrence>
533 533
            <count>1</count>
534
        </collectiveobservation>
534
        </aggregateoccurrence>
535 535
    </taxonoccurrence>
536 536
</VegBIEN>
inputs/SALVIAS/map.VegBIEN.organisms.csv
1 1
SALVIAS:plotObservations,VegBIEN:/taxonoccurrence,Comments
2 2
PlotID,/*_id/plotevent/authorcode/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
3 3
PlotCode,"/*_id/plotevent/{*_id/plot:[confidentialitystatus=0]/authorcode/_alt/2,authorcode/_alt/2}","Brad: Same as plotCode, above"
4
NoInd,/collectiveobservation/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,/collectiveobservation/cover,
6
intercept_cm,"/collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,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."
7
temp_dbh,/collectiveobservation/individualplant/stemdiameter,
8
height_m,/collectiveobservation/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9
tag2,/collectiveobservation/individualplant/stemobservation/authorcode/_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."
10
tag1,/collectiveobservation/individualplant/stemobservation/authorcode/_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."
11
ht_first_branch_m,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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
x_position,/collectiveobservation/individualplant/stemobservation/stemxposition,"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."
13
y_position,/collectiveobservation/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
4
NoInd,/aggregateoccurrence/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,/aggregateoccurrence/cover,
6
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."
7
temp_dbh,/aggregateoccurrence/individualplant/stemdiameter,
8
height_m,/aggregateoccurrence/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9
tag2,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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."
10
tag1,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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."
11
ht_first_branch_m,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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
x_position,/aggregateoccurrence/individualplant/stemobservation/stemxposition,"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."
13
y_position,/aggregateoccurrence/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
14 14
census_date,/taxondetermination[role_id/aux_role/rolecode=collector]/collectiondate/_date/date,
15 15
coll_number,/taxondetermination[role_id/aux_role/rolecode=collector]/collectionnumber,Brad: Incorrect. Map instead as for voucher_string
16 16
coll_firstname,"/taxondetermination[role_id/aux_role/rolecode=collector]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
......
29 29
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/*/plantname/_name/last,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname/_name/last}",
30 30
OrigFamily,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",Brad: OMIT
31 31
OrigSpecies,"/{taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname},taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/2}",Brad: OMIT
32
PlotObsID,":[collectiveobservation/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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."
32
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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_empty.sql
1 1
TRUNCATE address CASCADE;
2
TRUNCATE aggregateoccurrence CASCADE;
2 3
TRUNCATE aux_role CASCADE;
3 4
TRUNCATE classcontributor CASCADE;
4 5
TRUNCATE collection CASCADE;
5
TRUNCATE collectiveobservation CASCADE;
6 6
TRUNCATE commclass CASCADE;
7 7
TRUNCATE commconcept CASCADE;
8 8
TRUNCATE commcorrelation CASCADE;
schemas/vegbien.sql
66 66

  
67 67

  
68 68
--
69
-- Name: aggregateoccurrence; Type: TABLE; Schema: public; Owner: -; Tablespace: 
70
--
71

  
72
CREATE TABLE aggregateoccurrence (
73
    aggregateoccurrence_id integer NOT NULL,
74
    taxonoccurrence_id integer NOT NULL,
75
    taxonbin_id integer,
76
    cover double precision,
77
    basalarea double precision,
78
    biomass double precision,
79
    inferencearea double precision,
80
    stratumbase double precision,
81
    stratumheight double precision,
82
    emb_aggregateoccurrence integer,
83
    covercode character varying(10),
84
    count integer NOT NULL
85
);
86

  
87

  
88
--
89
-- Name: aggregateoccurrence_aggregateoccurrence_id_seq; Type: SEQUENCE; Schema: public; Owner: -
90
--
91

  
92
CREATE SEQUENCE aggregateoccurrence_aggregateoccurrence_id_seq
93
    START WITH 1
94
    INCREMENT BY 1
95
    NO MINVALUE
96
    NO MAXVALUE
97
    CACHE 1;
98

  
99

  
100
--
101
-- Name: aggregateoccurrence_aggregateoccurrence_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
102
--
103

  
104
ALTER SEQUENCE aggregateoccurrence_aggregateoccurrence_id_seq OWNED BY aggregateoccurrence.aggregateoccurrence_id;
105

  
106

  
107
--
69 108
-- Name: aux_role; Type: TABLE; Schema: public; Owner: -; Tablespace: 
70 109
--
71 110

  
......
169 208
SET default_with_oids = true;
170 209

  
171 210
--
172
-- Name: collectiveobservation; Type: TABLE; Schema: public; Owner: -; Tablespace: 
173
--
174

  
175
CREATE TABLE collectiveobservation (
176
    collectiveobservation_id integer NOT NULL,
177
    taxonoccurrence_id integer NOT NULL,
178
    taxonbin_id integer,
179
    cover double precision,
180
    basalarea double precision,
181
    biomass double precision,
182
    inferencearea double precision,
183
    stratumbase double precision,
184
    stratumheight double precision,
185
    emb_collectiveobservation integer,
186
    covercode character varying(10),
187
    count integer NOT NULL
188
);
189

  
190

  
191
--
192
-- Name: collectiveobservation_collectiveobservation_id_seq; Type: SEQUENCE; Schema: public; Owner: -
193
--
194

  
195
CREATE SEQUENCE collectiveobservation_collectiveobservation_id_seq
196
    START WITH 1
197
    INCREMENT BY 1
198
    NO MINVALUE
199
    NO MAXVALUE
200
    CACHE 1;
201

  
202

  
203
--
204
-- Name: collectiveobservation_collectiveobservation_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
205
--
206

  
207
ALTER SEQUENCE collectiveobservation_collectiveobservation_id_seq OWNED BY collectiveobservation.collectiveobservation_id;
208

  
209

  
210
--
211 211
-- Name: commclass; Type: TABLE; Schema: public; Owner: -; Tablespace: 
212 212
--
213 213

  
......
1082 1082

  
1083 1083
CREATE TABLE individualplant (
1084 1084
    individualplant_id integer NOT NULL,
1085
    collectiveobservation_id integer NOT NULL,
1085
    aggregateoccurrence_id integer NOT NULL,
1086 1086
    stemdiameter double precision,
1087 1087
    stemdiameteraccuracy double precision,
1088 1088
    stemheight double precision,
......
3061 3061

  
3062 3062

  
3063 3063
--
3064
-- Name: aggregateoccurrence_id; Type: DEFAULT; Schema: public; Owner: -
3065
--
3066

  
3067
ALTER TABLE aggregateoccurrence ALTER COLUMN aggregateoccurrence_id SET DEFAULT nextval('aggregateoccurrence_aggregateoccurrence_id_seq'::regclass);
3068

  
3069

  
3070
--
3064 3071
-- Name: role_id; Type: DEFAULT; Schema: public; Owner: -
3065 3072
--
3066 3073

  
......
3082 3089

  
3083 3090

  
3084 3091
--
3085
-- Name: collectiveobservation_id; Type: DEFAULT; Schema: public; Owner: -
3086
--
3087

  
3088
ALTER TABLE collectiveobservation ALTER COLUMN collectiveobservation_id SET DEFAULT nextval('collectiveobservation_collectiveobservation_id_seq'::regclass);
3089

  
3090

  
3091
--
3092 3092
-- Name: commclass_id; Type: DEFAULT; Schema: public; Owner: -
3093 3093
--
3094 3094

  
......
3615 3615

  
3616 3616

  
3617 3617
--
3618
-- Name: aux_role_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3618
-- Name: aggregateoccurrence_keys; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3619 3619
--
3620 3620

  
3621
ALTER TABLE ONLY aux_role
3622
    ADD CONSTRAINT aux_role_pkey PRIMARY KEY (role_id);
3621
ALTER TABLE ONLY aggregateoccurrence
3622
    ADD CONSTRAINT aggregateoccurrence_keys UNIQUE (taxonoccurrence_id, taxonbin_id);
3623 3623

  
3624 3624

  
3625 3625
--
3626
-- Name: classcontributor_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3626
-- Name: aggregateoccurrence_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3627 3627
--
3628 3628

  
3629
ALTER TABLE ONLY classcontributor
3630
    ADD CONSTRAINT classcontributor_pkey PRIMARY KEY (classcontributor_id);
3629
ALTER TABLE ONLY aggregateoccurrence
3630
    ADD CONSTRAINT aggregateoccurrence_pkey PRIMARY KEY (aggregateoccurrence_id);
3631 3631

  
3632 3632

  
3633 3633
--
3634
-- Name: collection_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3634
-- Name: aux_role_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3635 3635
--
3636 3636

  
3637
ALTER TABLE ONLY collection
3638
    ADD CONSTRAINT collection_pkey PRIMARY KEY (collection_id);
3637
ALTER TABLE ONLY aux_role
3638
    ADD CONSTRAINT aux_role_pkey PRIMARY KEY (role_id);
3639 3639

  
3640 3640

  
3641 3641
--
3642
-- Name: collectiveobservation_keys; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3642
-- Name: classcontributor_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3643 3643
--
3644 3644

  
3645
ALTER TABLE ONLY collectiveobservation
3646
    ADD CONSTRAINT collectiveobservation_keys UNIQUE (taxonoccurrence_id, taxonbin_id);
3645
ALTER TABLE ONLY classcontributor
3646
    ADD CONSTRAINT classcontributor_pkey PRIMARY KEY (classcontributor_id);
3647 3647

  
3648 3648

  
3649 3649
--
3650
-- Name: collectiveobservation_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3650
-- Name: collection_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
3651 3651
--
3652 3652

  
3653
ALTER TABLE ONLY collectiveobservation
3654
    ADD CONSTRAINT collectiveobservation_pkey PRIMARY KEY (collectiveobservation_id);
3653
ALTER TABLE ONLY collection
3654
    ADD CONSTRAINT collection_pkey PRIMARY KEY (collection_id);
3655 3655

  
3656 3656

  
3657 3657
--
......
3891 3891
--
3892 3892

  
3893 3893
ALTER TABLE ONLY individualplant
3894
    ADD CONSTRAINT individualplant_keys UNIQUE (collectiveobservation_id, authorcode);
3894
    ADD CONSTRAINT individualplant_keys UNIQUE (aggregateoccurrence_id, authorcode);
3895 3895

  
3896 3896

  
3897 3897
--
......
4397 4397

  
4398 4398

  
4399 4399
--
4400
-- Name: aux_role_accessioncode_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4400
-- Name: aggregateoccurrence_taxonbin_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4401 4401
--
4402 4402

  
4403
CREATE UNIQUE INDEX aux_role_accessioncode_index ON aux_role USING btree (accessioncode);
4403
CREATE INDEX aggregateoccurrence_taxonbin_id_x ON aggregateoccurrence USING btree (taxonbin_id);
4404 4404

  
4405 4405

  
4406 4406
--
4407
-- Name: classcontributor_commclass_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4407
-- Name: aggregateoccurrence_taxonoccurrence_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4408 4408
--
4409 4409

  
4410
CREATE INDEX classcontributor_commclass_id_x ON classcontributor USING btree (commclass_id);
4410
CREATE INDEX aggregateoccurrence_taxonoccurrence_id_x ON aggregateoccurrence USING btree (taxonoccurrence_id);
4411 4411

  
4412 4412

  
4413 4413
--
4414
-- Name: classcontributor_party_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4414
-- Name: aux_role_accessioncode_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4415 4415
--
4416 4416

  
4417
CREATE INDEX classcontributor_party_id_x ON classcontributor USING btree (party_id);
4417
CREATE UNIQUE INDEX aux_role_accessioncode_index ON aux_role USING btree (accessioncode);
4418 4418

  
4419 4419

  
4420 4420
--
4421
-- Name: classcontributor_role_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4421
-- Name: classcontributor_commclass_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4422 4422
--
4423 4423

  
4424
CREATE INDEX classcontributor_role_id_x ON classcontributor USING btree (role_id);
4424
CREATE INDEX classcontributor_commclass_id_x ON classcontributor USING btree (commclass_id);
4425 4425

  
4426 4426

  
4427 4427
--
4428
-- Name: collectiveobservation_taxonbin_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4428
-- Name: classcontributor_party_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4429 4429
--
4430 4430

  
4431
CREATE INDEX collectiveobservation_taxonbin_id_x ON collectiveobservation USING btree (taxonbin_id);
4431
CREATE INDEX classcontributor_party_id_x ON classcontributor USING btree (party_id);
4432 4432

  
4433 4433

  
4434 4434
--
4435
-- Name: collectiveobservation_taxonoccurrence_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4435
-- Name: classcontributor_role_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4436 4436
--
4437 4437

  
4438
CREATE INDEX collectiveobservation_taxonoccurrence_id_x ON collectiveobservation USING btree (taxonoccurrence_id);
4438
CREATE INDEX classcontributor_role_id_x ON classcontributor USING btree (role_id);
4439 4439

  
4440 4440

  
4441 4441
--
......
4670 4670

  
4671 4671

  
4672 4672
--
4673
-- Name: emb_classcontributor_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4673
-- Name: emb_aggregateoccurrence_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4674 4674
--
4675 4675

  
4676
CREATE INDEX emb_classcontributor_idx ON classcontributor USING btree (emb_classcontributor);
4676
CREATE INDEX emb_aggregateoccurrence_idx ON aggregateoccurrence USING btree (emb_aggregateoccurrence);
4677 4677

  
4678 4678

  
4679 4679
--
4680
-- Name: emb_collectiveobservation_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4680
-- Name: emb_classcontributor_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4681 4681
--
4682 4682

  
4683
CREATE INDEX emb_collectiveobservation_idx ON collectiveobservation USING btree (emb_collectiveobservation);
4683
CREATE INDEX emb_classcontributor_idx ON classcontributor USING btree (emb_classcontributor);
4684 4684

  
4685 4685

  
4686 4686
--
......
4796 4796

  
4797 4797

  
4798 4798
--
4799
-- Name: individualplant_collectiveobservation_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4799
-- Name: individualplant_aggregateoccurrence_id_x; Type: INDEX; Schema: public; Owner: -; Tablespace: 
4800 4800
--
4801 4801

  
4802
CREATE INDEX individualplant_collectiveobservation_id_x ON individualplant USING btree (collectiveobservation_id);
4802
CREATE INDEX individualplant_aggregateoccurrence_id_x ON individualplant USING btree (aggregateoccurrence_id);
4803 4803

  
4804 4804

  
4805 4805
--
......
5612 5612

  
5613 5613

  
5614 5614
--
5615
-- Name: r1classcontributor_commclass_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5615
-- Name: r1aggregateoccurrence_taxonoccurrence_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5616 5616
--
5617 5617

  
5618
ALTER TABLE ONLY classcontributor
5619
    ADD CONSTRAINT r1classcontributor_commclass_id FOREIGN KEY (commclass_id) REFERENCES commclass(commclass_id) ON UPDATE CASCADE ON DELETE CASCADE;
5618
ALTER TABLE ONLY aggregateoccurrence
5619
    ADD CONSTRAINT r1aggregateoccurrence_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) REFERENCES taxonoccurrence(taxonoccurrence_id) ON UPDATE CASCADE ON DELETE CASCADE;
5620 5620

  
5621 5621

  
5622 5622
--
5623
-- Name: r1collectiveobservation_taxonoccurrence_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5623
-- Name: r1classcontributor_commclass_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5624 5624
--
5625 5625

  
5626
ALTER TABLE ONLY collectiveobservation
5627
    ADD CONSTRAINT r1collectiveobservation_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id) REFERENCES taxonoccurrence(taxonoccurrence_id) ON UPDATE CASCADE ON DELETE CASCADE;
5626
ALTER TABLE ONLY classcontributor
5627
    ADD CONSTRAINT r1classcontributor_commclass_id FOREIGN KEY (commclass_id) REFERENCES commclass(commclass_id) ON UPDATE CASCADE ON DELETE CASCADE;
5628 5628

  
5629 5629

  
5630 5630
--
......
5740 5740

  
5741 5741

  
5742 5742
--
5743
-- Name: r1individualplant_collectiveobservation_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5743
-- Name: r1individualplant_aggregateoccurrence_id; Type: FK CONSTRAINT; Schema: public; Owner: -
5744 5744
--
5745 5745

  
5746 5746
ALTER TABLE ONLY individualplant
5747
    ADD CONSTRAINT r1individualplant_collectiveobservation_id FOREIGN KEY (collectiveobservation_id) REFERENCES collectiveobservation(collectiveobservation_id) ON UPDATE CASCADE ON DELETE CASCADE;
5747
    ADD CONSTRAINT r1individualplant_aggregateoccurrence_id FOREIGN KEY (aggregateoccurrence_id) REFERENCES aggregateoccurrence(aggregateoccurrence_id) ON UPDATE CASCADE ON DELETE CASCADE;
5748 5748

  
5749 5749

  
5750 5750
--
......
6092 6092

  
6093 6093

  
6094 6094
--
6095
-- Name: r2classcontributor_party_id; Type: FK CONSTRAINT; Schema: public; Owner: -
6095
-- Name: r2aggregateoccurrence_taxonbin_id; Type: FK CONSTRAINT; Schema: public; Owner: -
6096 6096
--
6097 6097

  
6098
ALTER TABLE ONLY classcontributor
6099
    ADD CONSTRAINT r2classcontributor_party_id FOREIGN KEY (party_id) REFERENCES party(party_id) ON UPDATE CASCADE ON DELETE CASCADE;
6098
ALTER TABLE ONLY aggregateoccurrence
6099
    ADD CONSTRAINT r2aggregateoccurrence_taxonbin_id FOREIGN KEY (taxonbin_id) REFERENCES taxonbin(taxonbin_id) ON UPDATE CASCADE ON DELETE CASCADE;
6100 6100

  
6101 6101

  
6102 6102
--
6103
-- Name: r2collectiveobservation_taxonbin_id; Type: FK CONSTRAINT; Schema: public; Owner: -
6103
-- Name: r2classcontributor_party_id; Type: FK CONSTRAINT; Schema: public; Owner: -
6104 6104
--
6105 6105

  
6106
ALTER TABLE ONLY collectiveobservation
6107
    ADD CONSTRAINT r2collectiveobservation_taxonbin_id FOREIGN KEY (taxonbin_id) REFERENCES taxonbin(taxonbin_id) ON UPDATE CASCADE ON DELETE CASCADE;
6106
ALTER TABLE ONLY classcontributor
6107
    ADD CONSTRAINT r2classcontributor_party_id FOREIGN KEY (party_id) REFERENCES party(party_id) ON UPDATE CASCADE ON DELETE CASCADE;
6108 6108

  
6109 6109

  
6110 6110
--
mappings/SALVIAS_db-VegBIEN.organisms.csv
1 1
SALVIAS:plotObservations,VegBIEN:/taxonoccurrence,Comments
2 2
PlotID,/*_id/plotevent/authorcode/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
3 3
PlotCode,"/*_id/plotevent/{*_id/plot:[confidentialitystatus=0]/authorcode/_alt/2,authorcode/_alt/2}","Brad: Same as plotCode, above"
4
NoInd,/collectiveobservation/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,/collectiveobservation/cover,
6
intercept_cm,"/collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,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."
7
temp_dbh,/collectiveobservation/individualplant/stemdiameter,
8
height_m,/collectiveobservation/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9
tag2,/collectiveobservation/individualplant/stemobservation/authorcode/_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."
10
tag1,/collectiveobservation/individualplant/stemobservation/authorcode/_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."
11
ht_first_branch_m,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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
x_position,/collectiveobservation/individualplant/stemobservation/stemxposition,"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."
13
y_position,/collectiveobservation/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
4
NoInd,/aggregateoccurrence/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,/aggregateoccurrence/cover,
6
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."
7
temp_dbh,/aggregateoccurrence/individualplant/stemdiameter,
8
height_m,/aggregateoccurrence/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9
tag2,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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."
10
tag1,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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."
11
ht_first_branch_m,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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
x_position,/aggregateoccurrence/individualplant/stemobservation/stemxposition,"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."
13
y_position,/aggregateoccurrence/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
14 14
census_date,/taxondetermination[role_id/aux_role/rolecode=collector]/collectiondate/_date/date,
15 15
coll_number,/taxondetermination[role_id/aux_role/rolecode=collector]/collectionnumber,Brad: Incorrect. Map instead as for voucher_string
16 16
coll_firstname,"/taxondetermination[role_id/aux_role/rolecode=collector]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
......
29 29
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/*/plantname/_name/last,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname/_name/last}",
30 30
OrigFamily,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Family]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",Brad: OMIT
31 31
OrigSpecies,"/{taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname},taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/2}",Brad: OMIT
32
PlotObsID,":[collectiveobservation/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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."
32
PlotObsID,":[aggregateoccurrence/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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
50 50
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,/*_id/plotevent/waterdepth/max
51 51
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,/*_id/plotevent/waterdepth/min
52 52
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/plotevent/{*_id/plot:[confidentialitystatus=0]/authorcode/_alt/2,authorcode/_alt/2}"
53
/simpleUserdefined[name=count]/value,/collectiveobservation/count/_alt/1
54
/simpleUserdefined[name=coverPercent]/value,/collectiveobservation/cover
55
/simpleUserdefined[name=interceptCm]/value,"/collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
56
/diameterBaseDistance[baseDistance=1.37]/diameter,/collectiveobservation/individualplant/stemdiameter
57
/height,/collectiveobservation/individualplant/stemheight
58
/simpleUserdefined[name=stemHeightM]/value,/collectiveobservation/individualplant/stemheight
59
/*ID->/*s/individualOrganism/identificationLabel,/collectiveobservation/individualplant/stemobservation/authorcode
60
/*ID->/*s/individualOrganism/identificationLabel/_alt/1,/collectiveobservation/individualplant/stemobservation/authorcode/_alt/1
61
/*ID->/*s/individualOrganism/identificationLabel/_alt/2,/collectiveobservation/individualplant/stemobservation/authorcode/_alt/2
62
/simpleUserdefined[name=habitat]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=habitat]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
63
/simpleUserdefined[name=htFirstBranchM]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
64
/simpleUserdefined[name=plantFungusDescription]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=plantFungusDescription]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
65
/diameterBaseDistance[baseDistance=0]/diameter,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemBasalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
66
/simpleUserdefined[name=stemCanopyForm]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyForm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
67
/simpleUserdefined[name=stemCanopyPosition]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyPosition]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
68
/simpleUserdefined[name=stemHeightFirstBranchM]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemHeightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
69
/simpleUserdefined[name=stemLianaInfestation]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemLianaInfestation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
70
/simpleUserdefined[name=substrate]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=substrate]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
71
/simpleUserdefined[name=vegetation]/value,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=vegetation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
72
/simpleUserdefined[name=xPosition]/value,/collectiveobservation/individualplant/stemobservation/stemxposition
73
/simpleUserdefined[name=yPosition]/value,/collectiveobservation/individualplant/stemobservation/stemyposition
53
/simpleUserdefined[name=count]/value,/aggregateoccurrence/count/_alt/1
54
/simpleUserdefined[name=coverPercent]/value,/aggregateoccurrence/cover
55
/simpleUserdefined[name=interceptCm]/value,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
56
/diameterBaseDistance[baseDistance=1.37]/diameter,/aggregateoccurrence/individualplant/stemdiameter
57
/height,/aggregateoccurrence/individualplant/stemheight
58
/simpleUserdefined[name=stemHeightM]/value,/aggregateoccurrence/individualplant/stemheight
59
/*ID->/*s/individualOrganism/identificationLabel,/aggregateoccurrence/individualplant/stemobservation/authorcode
60
/*ID->/*s/individualOrganism/identificationLabel/_alt/1,/aggregateoccurrence/individualplant/stemobservation/authorcode/_alt/1
61
/*ID->/*s/individualOrganism/identificationLabel/_alt/2,/aggregateoccurrence/individualplant/stemobservation/authorcode/_alt/2
62
/simpleUserdefined[name=habitat]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=habitat]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
63
/simpleUserdefined[name=htFirstBranchM]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
64
/simpleUserdefined[name=plantFungusDescription]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=plantFungusDescription]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
65
/diameterBaseDistance[baseDistance=0]/diameter,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemBasalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
66
/simpleUserdefined[name=stemCanopyForm]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyForm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
67
/simpleUserdefined[name=stemCanopyPosition]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyPosition]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
68
/simpleUserdefined[name=stemHeightFirstBranchM]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemHeightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
69
/simpleUserdefined[name=stemLianaInfestation]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemLianaInfestation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
70
/simpleUserdefined[name=substrate]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=substrate]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
71
/simpleUserdefined[name=vegetation]/value,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=vegetation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue"
72
/simpleUserdefined[name=xPosition]/value,/aggregateoccurrence/individualplant/stemobservation/stemxposition
73
/simpleUserdefined[name=yPosition]/value,/aggregateoccurrence/individualplant/stemobservation/stemyposition
74 74
/simpleUserdefined[name=collectionDate]/value,/taxondetermination[role_id/aux_role/rolecode=collector]/collectiondate
75 75
/simpleUserdefined[name=collectionDate]/value/_date/date,/taxondetermination[role_id/aux_role/rolecode=collector]/collectiondate/_date/date
76 76
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/authorCode,/taxondetermination[role_id/aux_role/rolecode=collector]/collectionnumber
......
107 107
"/*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/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}"
108 108
"/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=identifier]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonName)/Simple","/{taxondetermination[role_id/aux_role/rolecode=identifier,!*_id/plantconcept]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/*/plantname,taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/1}"
109 109
"/*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=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname},taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/2}"
110
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,":[collectiveobservation/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_alt/3}"
110
/*ID->/*s/individualOrganism/*sID->/*s/taxonNameUsageConcept/voucher,":[aggregateoccurrence/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_alt/3}"
mappings/NYBG-VegBIEN.organisms.csv
14 14
YearCollected,/*_id/plotevent/obsstartdate/_date/year,
15 15
MaximumDepth,/*_id/plotevent/waterdepth/max,
16 16
MinimumDepth,/*_id/plotevent/waterdepth/min,
17
Habitat,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
18
PlantFungusDescription,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
19
Substrate,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
20
Vegetation,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
17
Habitat,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
18
PlantFungusDescription,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
19
Substrate,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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?"
20
Vegetation,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,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 21
FieldNumber,/taxondetermination[role_id/aux_role/rolecode=collector]/collectionnumber,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?"
22 22
Collector,"/taxondetermination[role_id/aux_role/rolecode=collector]/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 23
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"
......
38 38
Subspecies,"/taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Subspecies]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname}",
39 39
ScientificName,"/{taxondetermination[role_id/aux_role/rolecode=identifier,!*_id/plantconcept]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/*_id/*/plantname,taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/1}","Brad: Bob, Nick, please is this mapping OK?"
40 40
Species,"/{taxondetermination[role_id/aux_role/rolecode=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname},taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/2}",
41
UniqueNYInternalRecordNumber,":[collectiveobservation/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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
1 1
SALVIAS:plotObservations,VegBIEN:/taxonoccurrence,Comments
2 2
PlotID,//plotevent/authorcode/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
3 3
PlotCode,"/*_id/plotevent/{*_id/plot/authorcode/_alt/2,authorcode/_alt/2}","Brad: Same as plotCode, above"
4
NoInd,//collectiveobservation/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,//collectiveobservation/cover,
6
intercept_cm,"//collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,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."
4
NoInd,//aggregateoccurrence/count/_alt/1,"Brad: Incorrect for VegX. 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."
5
cover_percent,//aggregateoccurrence/cover,
6
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."
7 7
temp_dbh,//individualplant/stemdiameter,
8 8
height_m,//individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
9 9
tag2,//stemobservation/authorcode/_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."
mappings/for_review/VegX-VegBIEN.organisms.csv
50 50
//geospatial/maximumDepthInMeters,//waterdepth/max
51 51
//geospatial/minimumDepthInMeters,//waterdepth/min
52 52
//plot/plotUniqueIdentifier,"/*_id/plotevent/{*_id/plot/authorcode/_alt/2,authorcode/_alt/2}"
53
/simpleUserdefined[name=count]/value,//collectiveobservation/count/_alt/1
54
/simpleUserdefined[name=coverPercent]/value,//collectiveobservation/cover
55
/simpleUserdefined[name=interceptCm]/value,"//collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,userdefinedname=interceptCm]]/definedvalue"
53
/simpleUserdefined[name=count]/value,//aggregateoccurrence/count/_alt/1
54
/simpleUserdefined[name=coverPercent]/value,//aggregateoccurrence/cover
55
/simpleUserdefined[name=interceptCm]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=interceptCm]]/definedvalue"
56 56
/diameterBaseDistance[baseDistance=1.37]/diameter,//individualplant/stemdiameter
57 57
/height,//individualplant/stemheight
58 58
/simpleUserdefined[name=stemHeightM]/value,//individualplant/stemheight
mappings/for_review/SALVIAS-VegBIEN.organisms.csv
2 2
plot_code,//plot/authorcode/_alt/1,"Brad: Same as plotCode, above"
3 3
census_date,//plotevent/obsstartdate/_date/year,
4 4
subplot,"/*_id/plotevent/{*_id/plot/authorcode/_alt/2,authorcode/_alt/2}",
5
no_of_individuals,//collectiveobservation/count/_alt/1,"Brad: Incorrect for VegX. 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."
6
cover_percent,//collectiveobservation/cover,
7
intercept_cm,"//collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,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."
5
no_of_individuals,//aggregateoccurrence/count/_alt/1,"Brad: Incorrect for VegX. 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."
6
cover_percent,//aggregateoccurrence/cover,
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
stem_dbh,//individualplant/stemdiameter,
9 9
height_m,//individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
10 10
stem_height_m,//individualplant/stemheight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
mappings/SALVIAS-VegBIEN.organisms.csv
2 2
plot_code,/*_id/plotevent/*_id/plot/parent_id/plot:[confidentialitystatus=0]/authorcode/_alt/1,"Brad: Same as plotCode, above"
3 3
census_date,/*_id/plotevent/obsstartdate/_date/year,
4 4
subplot,"/*_id/plotevent/{*_id/plot:[confidentialitystatus=0]/authorcode/_alt/2,authorcode/_alt/2}",
5
no_of_individuals,/collectiveobservation/count/_alt/1,"Brad: Incorrect for VegX. 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."
6
cover_percent,/collectiveobservation/cover,
7
intercept_cm,"/collectiveobservation/definedvalue[*_id/userdefined[tablename=collectiveobservation,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
stem_dbh,/collectiveobservation/individualplant/stemdiameter,
9
height_m,/collectiveobservation/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
10
stem_height_m,/collectiveobservation/individualplant/stemheight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
11
stem_tag1,/collectiveobservation/individualplant/stemobservation/authorcode,"Brad: Same as tag1 & tag2, but applied to individual stems. I'm still not clear how to distinguish between methods which tag only individuals trees, and those which tag individual stems."
12
stem_tag2,/collectiveobservation/individualplant/stemobservation/authorcode,Brad: see above
13
tag2,/collectiveobservation/individualplant/stemobservation/authorcode/_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
tag1,/collectiveobservation/individualplant/stemobservation/authorcode/_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
ht_first_branch_m,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
16
basal_diam,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemBasalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",
17
stem_canopy_form,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyForm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
18
stem_canopy_position,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyPosition]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
19
stem_height_first_branch_m,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemHeightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
20
stem_liana_infestation,"/collectiveobservation/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemLianaInfestation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
21
x_position,/collectiveobservation/individualplant/stemobservation/stemxposition,"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."
22
y_position,/collectiveobservation/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
5
no_of_individuals,/aggregateoccurrence/count/_alt/1,"Brad: Incorrect for VegX. 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."
6
cover_percent,/aggregateoccurrence/cover,
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
stem_dbh,/aggregateoccurrence/individualplant/stemdiameter,
9
height_m,/aggregateoccurrence/individualplant/stemheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
10
stem_height_m,/aggregateoccurrence/individualplant/stemheight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
11
stem_tag1,/aggregateoccurrence/individualplant/stemobservation/authorcode,"Brad: Same as tag1 & tag2, but applied to individual stems. I'm still not clear how to distinguish between methods which tag only individuals trees, and those which tag individual stems."
12
stem_tag2,/aggregateoccurrence/individualplant/stemobservation/authorcode,Brad: see above
13
tag2,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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
tag1,/aggregateoccurrence/individualplant/stemobservation/authorcode/_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
ht_first_branch_m,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=heightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
16
basal_diam,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemBasalDiameter]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",
17
stem_canopy_form,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyForm]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
18
stem_canopy_position,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemCanopyPosition]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
19
stem_height_first_branch_m,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemHeightFirstBranchM]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue","Brad: Should also be userDefined for VegBank. Same as for ht_first_branch_m, but applies to individuals stems, not trees. Rare."
20
stem_liana_infestation,"/aggregateoccurrence/individualplant/stemobservation/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=stemLianaInfestation]:[userdefinedtype=varchar]]:[@fkey=tableRecord_ID]/definedvalue",Brad: Should also be userDefined for VegBank. 
21
x_position,/aggregateoccurrence/individualplant/stemobservation/stemxposition,"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."
22
y_position,/aggregateoccurrence/individualplant/stemobservation/stemyposition,Brad: See comment above for x_position
23 23
coll_number,/taxondetermination[role_id/aux_role/rolecode=collector]/collectionnumber,Brad: Incorrect. Map instead as for voucher_string
24 24
coll_firstname,"/taxondetermination[role_id/aux_role/rolecode=collector]/collector_id/party/{givenname/_namePart/first,middlename/_namePart/last}",Brad: See comment above
25 25
coll_lastname,/taxondetermination[role_id/aux_role/rolecode=collector]/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."
......
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/*/plantname/_name/last,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname/_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/*/plantname,*_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=identifier,*_id/plantconcept/plantstatus/plantlevel=Species]:[determinationtype=Author,originaldetermination=true,currentdetermination=true,determinationdate=epoch,*_id/party]/{*_id/*/plantname,*_id/plantconcept:[plantstatus:[plantconceptstatus=accepted,startdate=epoch,*_id/party],*_id/reference]/*_id/*/plantname},taxondetermination[role_id/aux_role/rolecode=collector]/*_id/*/plantname/_alt/2}",Brad: OMIT
40
OBSERVATION_ID,":[collectiveobservation/count/_alt/2=1]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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]/{taxondetermination[role_id/aux_role/rolecode=collector]:[determinationtype=Author,originaldetermination=true,currentdetermination=false,determinationdate=epoch,*_id/party]/museumaccessionnumber,*_id/plotevent/authorcode/_alt/2,*_id/plotevent/*_id/plot:[confidentialitystatus=0]/authorcode/_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