Project

General

Profile

« Previous | Next » 

Revision 3211

mappings/VegX-VegBIEN.stems.csv: Removed _collapse where it's no longer needed because sql_io.put() handles that now. Note that each plantobservation will get an empty stemobservation, whether or not there are any stemtags. This can later be used to add further stemtags.

View differences:

inputs/SALVIAS-CSV/maps/VegBIEN.organisms.csv
26 26
height_m,/overallheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
27 27
stem_height_m,/overallheight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
28 28
OBSERVATION_ID,/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
29
tag1,"/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag/_alt/1","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
30
stem_tag1,"/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag/_alt/2","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.; Quotes sort it before tag2"
31
tag2,/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag/_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."
32
stem_tag2,/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag/_alt/2,Brad: see above
29
tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag/_alt/1","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
30
stem_tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag/_alt/2","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.; Quotes sort it before tag2"
31
tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag/_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."
32
stem_tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag/_alt/2,Brad: see above
33 33
x_position,/stemobservation/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."
34 34
y_position,/stemobservation/yposition,Brad: See comment above for x_position
35 35
basal_diam,,** No join mapping for /diameterBaseDistance[baseDistance/value=0]/diameter ** 
inputs/CTFS/maps/VegBIEN.organisms.csv
81 81
/height,/overallheight,
82 82
/simpleUserdefined[name=height]/value,/overallheight,
83 83
:[*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,
84
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag",Quotes sort it before tag2
85
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,
84
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
85
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
86 86
/relativePlotPosition/relativeX,/stemobservation/xposition,
87 87
/relativePlotPosition/relativeY,/stemobservation/yposition,
88 88
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/*/relatedPlot[plotRelationship=Quadrat]/relatedPlotID,,** No input mapping for /*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/*/relatedPlot[plotRelationship=Quadrat]/relatedPlotID ** 
inputs/SALVIAS/maps/VegBIEN.stems.csv
1 1
SALVIAS,VegBIEN:/stemobservation,Comments
2 2
PlotObsID,"/*_id/plantobservation/aggregateoccurrence/*_id/taxonoccurrence/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/voucher/*_id/specimenreplicate:[*_id/taxonoccurrence]}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc",
3 3
NoInd,/*_id/plantobservation/stemcount,
4
stem_tag1,"/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag",Quotes sort it before tag2
5
stem_tag2,/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,
6 4
basal_diam,/basaldiameter,
7 5
stem_canopy_form,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
8 6
stem_canopy_position,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
......
12 10
stem_dbh,/diameterbreastheight,
13 11
stem_height_m,/height,
14 12
stem_height_first_branch_m,/heightfirstbranch,
13
stem_tag1,"/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
14
stem_tag2,/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
15 15
origrecord_id_stems,,** No input mapping for origrecord_id_stems ** 
16 16
stem_id,,** No input mapping for stem_id ** 
17 17
tmp_del,,** No input mapping for tmp_del ** 
inputs/SALVIAS/maps/VegBIEN.organisms.csv
26 26
Ind,/authorplantcode,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot."
27 27
height_m,/overallheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
28 28
PlotObsID,/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later."
29
tag1,"/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
30
tag2,/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
29
tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
30
tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
31 31
x_position,/stemobservation/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."
32 32
y_position,/stemobservation/yposition,Brad: See comment above for x_position
33 33
GenAuth,,** No input mapping for GenAuth ** 
mappings/VegX-VegBIEN.organisms.csv
81 81
/height,/overallheight,
82 82
/simpleUserdefined[name=height]/value,/overallheight,
83 83
:[*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,
84
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag",Quotes sort it before tag2
85
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,
84
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
85
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
86 86
/relativePlotPosition/relativeX,/stemobservation/xposition,
87 87
/relativePlotPosition/relativeY,/stemobservation/yposition,
mappings/for_review/VegX-VegBIEN.organisms.csv
81 81
/height,/overallheight,
82 82
/simpleUserdefined[name=height]/value,/overallheight,
83 83
/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,
84
//individualOrganism/identificationLabel[@id=1],"/stemobservation/_collapse/value/stemtag[""""/2=true]/tag",Quotes sort it before tag2
85
//individualOrganism/identificationLabel[@id=2],/stemobservation/_collapse/value/stemtag[iscurrent=true]:[../../../_collapse?/value/stemtag[2=true]/1=false]/tag,
84
//individualOrganism/identificationLabel[@id=1],"//stemobservation/stemtag[""""/2=true]/tag",Quotes sort it before tag2
85
//individualOrganism/identificationLabel[@id=2],//stemobservation/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
86 86
//relativePlotPosition/relativeX,//stemobservation/xposition,
87 87
//relativePlotPosition/relativeY,//stemobservation/yposition,
mappings/for_review/VegX-VegBIEN.stems.csv
82 82
//individualOrganismObservation/simpleUserdefined[name=height]/value,//plantobservation/overallheight,
83 83
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//plantobservation/sourceaccessioncode,
84 84
//*s/aggregateOrganismObservation/*/aggregateValue/value,//plantobservation/stemcount,
85
//individualOrganism/identificationLabel[@id=1],"//plantobservation/stemobservation/_collapse/value/stemtag[""""/2=true]/tag",Quotes sort it before tag2
86
//individualOrganism/identificationLabel[@id=2],//plantobservation/stemobservation/_collapse/value/stemtag[iscurrent=true]:[../../../_collapse?/value/stemtag[2=true]/1=false]/tag,
85
//individualOrganism/identificationLabel[@id=1],"//stemobservation/stemtag[""""/2=true]/tag",Quotes sort it before tag2
86
//individualOrganism/identificationLabel[@id=2],//stemobservation/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
87 87
//relativePlotPosition/relativeX,//stemobservation/xposition,
88 88
//relativePlotPosition/relativeY,//stemobservation/yposition,
89
//individualOrganism/identificationLabel[@id=1],"/_collapse/value/stemtag[""""/2=true]/tag",Quotes sort it before tag2
90
//individualOrganism/identificationLabel[@id=2],/_collapse/value/stemtag[iscurrent=true]:[../../../_collapse?/value/stemtag[2=true]/1=false]/tag,
91 89
/diameterBaseDistance[value=0]/diameter,/basaldiameter,
92 90
/simpleUserdefined[name=canopyForm]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]/definedvalue",
93 91
/simpleUserdefined[name=canopyPosition]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]/definedvalue",
......
97 95
/diameterBaseDistance[baseDistance[]/value=1.37]/diameter,/diameterbreastheight,
98 96
/simpleUserdefined[name=height]/value,/height,
99 97
/simpleUserdefined[name=heightFirstBranch]/value,/heightfirstbranch,
98
//individualOrganism/identificationLabel[@id=1],"/stemtag[""""/2=true]/tag",Quotes sort it before tag2
99
//individualOrganism/identificationLabel[@id=2],/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
100 100
//relativePlotPosition/relativeX,/xposition,
101 101
//relativePlotPosition/relativeY,/yposition,
mappings/VegX-VegBIEN.stems.csv
82 82
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/simpleUserdefined[name=height]/value,/*_id/plantobservation/overallheight,
83 83
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation:[*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/partyWithRole/*ID->/parties/party/organizationName=$/_ignore/inLabel]/simpleUserdefined[name=sourceAccessionCode]/value,/*_id/plantobservation/sourceaccessioncode,
84 84
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,/*_id/plantobservation/stemcount,
85
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/*_id/plantobservation/stemobservation/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag",Quotes sort it before tag2
86
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/identificationLabel[@id=2],/*_id/plantobservation/stemobservation/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,
85
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/*_id/plantobservation/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
86
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/*ID->/*s/individualOrganism/identificationLabel[@id=2],/*_id/plantobservation/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
87 87
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/relativePlotPosition/relativeX,/*_id/plantobservation/stemobservation/xposition,
88 88
/relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID->/*s/individualOrganismObservation/relativePlotPosition/relativeY,/*_id/plantobservation/stemobservation/yposition,
89
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/_collapse:[require=tag](/value/stemtag[""""/iscurrent/_alt/2=true])/tag",Quotes sort it before tag2
90
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/_collapse:[require=tag](/value/stemtag[iscurrent=true]:[../../../_collapse?(/value/stemtag[iscurrent/_alt/2=true])/iscurrent/_alt/1=false])/tag,
91 89
/diameterBaseDistance[baseDistance/value=0]/diameter,/basaldiameter,
92 90
/simpleUserdefined[name=canopyForm]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
93 91
/simpleUserdefined[name=canopyPosition]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
......
97 95
/diameterBaseDistance[baseDistance[!attributeID]/value=1.37]/diameter,/diameterbreastheight,
98 96
/simpleUserdefined[name=height]/value,/height,
99 97
/simpleUserdefined[name=heightFirstBranch]/value,/heightfirstbranch,
98
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
99
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
100 100
/relativePlotPosition/relativeX,/xposition,
101 101
/relativePlotPosition/relativeY,/yposition,

Also available in: Unified diff