Skip to content

Commit 072f78c

Browse files
committed
add test
1 parent 12cc34a commit 072f78c

File tree

3 files changed

+339
-0
lines changed

3 files changed

+339
-0
lines changed

schemas/iso19115-3.2018/src/test/java/org/fao/geonet/schema/StacConversionTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public void sentinel2RadiometricIndices() throws Exception {
5252
transformAndCompare("convert/stac-to-iso19115-3.xsl", "sentinel-2-radiometric-indices-input.xml", "sentinel-2-radiometric-indices-output.xml");
5353
}
5454

55+
@Test
56+
public void biomassAnWood() throws Exception {
57+
transformAndCompare("convert/stac-to-iso19115-3.xsl", "biomass-and-wood-input.xml", "biomass-and-wood-output.xml");
58+
}
59+
5560
private void transformAndCompare(String scriptName, String inputFileName, String expectedFileName) throws Exception {
5661
Path xslFile = getResourceInsideSchema(scriptName);
5762
Path xmlFile = getResource("stacHarvester/" + inputFileName);
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<record>
3+
<extent>
4+
<spatial>
5+
<bbox>
6+
<array>-5.859595786155143</array>
7+
<array>40.08242510778443</array>
8+
<array>11.175837021340103</array>
9+
<array>51.130598314425725</array>
10+
</bbox>
11+
</spatial>
12+
<temporal>
13+
<interval>
14+
<array>2018-01-01T00:00:00Z</array>
15+
<array>2024-12-30T00:00:00Z</array>
16+
</interval>
17+
</temporal>
18+
</extent>
19+
<stac_version>1.1.0</stac_version>
20+
<sci_doi>10.5281/zenodo.15489231</sci_doi>
21+
<keywords>forest</keywords>
22+
<keywords>biomass</keywords>
23+
<keywords>height</keywords>
24+
<keywords>volume</keywords>
25+
<keywords>France</keywords>
26+
<keywords>remote sensing</keywords>
27+
<keywords>LIDAR</keywords>
28+
<keywords>Sentinel</keywords>
29+
<keywords>GEDI</keywords>
30+
<description>FORMS-T : Height, aboveground biomass and wood volume density time-series at 10 to 30 m resolution over france (2018-2024)</description>
31+
<sci_citation>Schwartz, M. (2025). FORMS-T: Forest Multiple Source height, wood volume, and biomass time-series (2018-2024) in France at 10 to 30 m resolution [Data set]. Zenodo. https://doi.org/10.5281/zenodo.15489231</sci_citation>
32+
<type>Collection</type>
33+
<title>FORMS-T</title>
34+
<license>other</license>
35+
<assets>
36+
<QL>
37+
<roles>thumbnail</roles>
38+
<description>collection thumbnail</description>
39+
<href>https://i.ibb.co/PvjGX01V/France-visu.png</href>
40+
</QL>
41+
</assets>
42+
<contact>
43+
<organization>Laboratoire des Sciences du Climat et de l'Environnement, LSCE/IPSL,CEA-CNRS-UVSQ, Université Paris-Saclay,Gif-sur-Yvette,91191, France</organization>
44+
<name>Martin Schwartz</name>
45+
<email>[email protected]</email>
46+
</contact>
47+
<links>
48+
<rel>items</rel>
49+
<href>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/forms-t/items</href>
50+
<type>application/geo+json</type>
51+
</links>
52+
<links>
53+
<rel>parent</rel>
54+
<href>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/</href>
55+
<type>application/json</type>
56+
</links>
57+
<links>
58+
<rel>root</rel>
59+
<href>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/</href>
60+
<type>application/json</type>
61+
</links>
62+
<links>
63+
<rel>self</rel>
64+
<href>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/forms-t</href>
65+
<type>application/json</type>
66+
</links>
67+
<links>
68+
<rel>items</rel>
69+
<href>https://api.stac.teledetection.fr/collections/forms-t/items</href>
70+
<type>application/geo+json</type>
71+
</links>
72+
<links>
73+
<rel>http://www.opengis.net/def/rel/ogc/1.0/queryables</rel>
74+
<href>https://api.stac.teledetection.fr/collections/forms-t/queryables</href>
75+
<type>application/schema+json</type>
76+
<title>Queryables</title>
77+
</links>
78+
<links>
79+
<rel>http://www.opengis.net/def/rel/ogc/1.0/queryables</rel>
80+
<href>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/forms-t/queryables</href>
81+
<type>application/schema+json</type>
82+
<title>Queryables</title>
83+
</links>
84+
<id>forms-t</id>
85+
<stac_extensions>https://stac-extensions.github.io/scientific/v1.0.0/schema.json</stac_extensions>
86+
<providers>
87+
<roles>producer</roles>
88+
<name>Laboratoire des Sciences du Climat et de l'Environnement</name>
89+
<url>https://www.lsce.ipsl.fr/</url>
90+
</providers>
91+
</record>
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cat="http://standards.iso.org/iso/19115/-3/cat/1.0" xmlns:gfc="http://standards.iso.org/iso/19110/gfc/1.1" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:gex="http://standards.iso.org/iso/19115/-3/gex/1.0" xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0" xmlns:srv="http://standards.iso.org/iso/19115/-3/srv/2.0" xmlns:mas="http://standards.iso.org/iso/19115/-3/mas/1.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:mda="http://standards.iso.org/iso/19115/-3/mda/1.0" xmlns:mds="http://standards.iso.org/iso/19115/-3/mds/2.0" xmlns:mdt="http://standards.iso.org/iso/19115/-3/mdt/2.0" xmlns:mex="http://standards.iso.org/iso/19115/-3/mex/1.0" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mpc="http://standards.iso.org/iso/19115/-3/mpc/1.0" xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0" xmlns:mrs="http://standards.iso.org/iso/19115/-3/mrs/1.0" xmlns:msr="http://standards.iso.org/iso/19115/-3/msr/2.0" xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0" xmlns:dqm="http://standards.iso.org/iso/19157/-2/dqm/1.0" xmlns:mac="http://standards.iso.org/iso/19115/-3/mac/2.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink">
3+
<mdb:metadataIdentifier>
4+
<mcc:MD_Identifier>
5+
<mcc:code>
6+
<gco:CharacterString>forms-t</gco:CharacterString>
7+
</mcc:code>
8+
</mcc:MD_Identifier>
9+
</mdb:metadataIdentifier>
10+
<mdb:defaultLocale>
11+
<lan:PT_Locale>
12+
<lan:language>
13+
<lan:LanguageCode codeList="codeListLocation#LanguageCode" codeListValue="fre" />
14+
</lan:language>
15+
<lan:characterEncoding>
16+
<lan:MD_CharacterSetCode codeList="codeListLocation#MD_CharacterSetCode" codeListValue="utf8" />
17+
</lan:characterEncoding>
18+
</lan:PT_Locale>
19+
</mdb:defaultLocale>
20+
<mdb:metadataScope>
21+
<mdb:MD_MetadataScope>
22+
<mdb:resourceScope>
23+
<mcc:MD_ScopeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_ScopeCode" codeListValue="series" />
24+
</mdb:resourceScope>
25+
<mdb:name>
26+
<gco:CharacterString>Data collection</gco:CharacterString>
27+
</mdb:name>
28+
</mdb:MD_MetadataScope>
29+
</mdb:metadataScope>
30+
<mdb:contact>
31+
<cit:CI_Responsibility>
32+
<cit:role>
33+
<cit:CI_RoleCode codeList="codeListLocation#CI_RoleCode" codeListValue="pointOfContact" />
34+
</cit:role>
35+
<cit:party>
36+
<cit:CI_Organisation>
37+
<cit:name>
38+
<gco:CharacterString>Laboratoire des Sciences du Climat et de l'Environnement, LSCE/IPSL,CEA-CNRS-UVSQ, Université Paris-Saclay,Gif-sur-Yvette,91191, France</gco:CharacterString>
39+
</cit:name>
40+
<cit:contactInfo>
41+
<cit:CI_Contact>
42+
<cit:address>
43+
<cit:CI_Address>
44+
<cit:electronicMailAddress>
45+
<gco:CharacterString>[email protected]</gco:CharacterString>
46+
</cit:electronicMailAddress>
47+
</cit:CI_Address>
48+
</cit:address>
49+
</cit:CI_Contact>
50+
</cit:contactInfo>
51+
<cit:individual>
52+
<cit:CI_Individual>
53+
<cit:name>
54+
<gco:CharacterString>Martin Schwartz</gco:CharacterString>
55+
</cit:name>
56+
</cit:CI_Individual>
57+
</cit:individual>
58+
</cit:CI_Organisation>
59+
</cit:party>
60+
</cit:CI_Responsibility>
61+
</mdb:contact>
62+
<mdb:dateInfo>
63+
<cit:CI_Date>
64+
<cit:date>
65+
<gco:DateTime>2025-10-23T13:41:06.565+02:00</gco:DateTime>
66+
</cit:date>
67+
<cit:dateType>
68+
<cit:CI_DateTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode" codeListValue="creation" />
69+
</cit:dateType>
70+
</cit:CI_Date>
71+
</mdb:dateInfo>
72+
<mdb:identificationInfo>
73+
<mri:MD_DataIdentification>
74+
<mri:citation>
75+
<cit:CI_Citation>
76+
<cit:title>
77+
<gco:CharacterString>FORMS-T</gco:CharacterString>
78+
</cit:title>
79+
</cit:CI_Citation>
80+
</mri:citation>
81+
<mri:abstract>
82+
<gco:CharacterString>FORMS-T : Height, aboveground biomass and wood volume density time-series at 10 to 30 m resolution over france (2018-2024)</gco:CharacterString>
83+
</mri:abstract>
84+
<mri:topicCategory>
85+
<mri:MD_TopicCategoryCode>imageryBaseMapsEarthCover</mri:MD_TopicCategoryCode>
86+
</mri:topicCategory>
87+
<mri:extent>
88+
<gex:EX_Extent>
89+
<gex:geographicElement>
90+
<gex:EX_GeographicBoundingBox>
91+
<gex:westBoundLongitude>
92+
<gco:Decimal>-5.859595786155143</gco:Decimal>
93+
</gex:westBoundLongitude>
94+
<gex:eastBoundLongitude>
95+
<gco:Decimal>11.175837021340103</gco:Decimal>
96+
</gex:eastBoundLongitude>
97+
<gex:southBoundLatitude>
98+
<gco:Decimal>40.08242510778443</gco:Decimal>
99+
</gex:southBoundLatitude>
100+
<gex:northBoundLatitude>
101+
<gco:Decimal>51.130598314425725</gco:Decimal>
102+
</gex:northBoundLatitude>
103+
</gex:EX_GeographicBoundingBox>
104+
</gex:geographicElement>
105+
<gex:temporalElement>
106+
<gex:EX_TemporalExtent>
107+
<gex:extent>
108+
<gml:TimePeriod>
109+
<gml:beginPosition>2018-01-01T00:00:00Z</gml:beginPosition>
110+
<gml:endPosition>2024-12-30T00:00:00Z</gml:endPosition>
111+
</gml:TimePeriod>
112+
</gex:extent>
113+
</gex:EX_TemporalExtent>
114+
</gex:temporalElement>
115+
</gex:EX_Extent>
116+
</mri:extent>
117+
<mri:graphicOverview>
118+
<mcc:MD_BrowseGraphic>
119+
<mcc:fileName>
120+
<gco:CharacterString>https://i.ibb.co/PvjGX01V/France-visu.png</gco:CharacterString>
121+
</mcc:fileName>
122+
<mcc:fileDescription>
123+
<gco:CharacterString>collection thumbnail</gco:CharacterString>
124+
</mcc:fileDescription>
125+
<mcc:fileType>
126+
<gco:CharacterString />
127+
</mcc:fileType>
128+
</mcc:MD_BrowseGraphic>
129+
</mri:graphicOverview>
130+
<mri:descriptiveKeywords>
131+
<mri:MD_Keywords>
132+
<mri:keyword>
133+
<gco:CharacterString>forest</gco:CharacterString>
134+
</mri:keyword>
135+
<mri:keyword>
136+
<gco:CharacterString>biomass</gco:CharacterString>
137+
</mri:keyword>
138+
<mri:keyword>
139+
<gco:CharacterString>height</gco:CharacterString>
140+
</mri:keyword>
141+
<mri:keyword>
142+
<gco:CharacterString>volume</gco:CharacterString>
143+
</mri:keyword>
144+
<mri:keyword>
145+
<gco:CharacterString>France</gco:CharacterString>
146+
</mri:keyword>
147+
<mri:keyword>
148+
<gco:CharacterString>remote sensing</gco:CharacterString>
149+
</mri:keyword>
150+
<mri:keyword>
151+
<gco:CharacterString>LIDAR</gco:CharacterString>
152+
</mri:keyword>
153+
<mri:keyword>
154+
<gco:CharacterString>Sentinel</gco:CharacterString>
155+
</mri:keyword>
156+
<mri:keyword>
157+
<gco:CharacterString>GEDI</gco:CharacterString>
158+
</mri:keyword>
159+
</mri:MD_Keywords>
160+
</mri:descriptiveKeywords>
161+
<mri:resourceConstraints>
162+
<mco:MD_LegalConstraints>
163+
<mco:accessConstraints>
164+
<mco:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="license" />
165+
</mco:accessConstraints>
166+
<mco:accessConstraints>
167+
<mco:MD_RestrictionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" codeListValue="otherRestrictions" />
168+
</mco:accessConstraints>
169+
<mco:otherConstraints>
170+
<gco:CharacterString>other</gco:CharacterString>
171+
</mco:otherConstraints>
172+
</mco:MD_LegalConstraints>
173+
</mri:resourceConstraints>
174+
<mri:defaultLocale>
175+
<lan:PT_Locale>
176+
<lan:language>
177+
<lan:LanguageCode codeList="codeListLocation#LanguageCode" codeListValue="fre" />
178+
</lan:language>
179+
<lan:characterEncoding>
180+
<lan:MD_CharacterSetCode codeList="codeListLocation#MD_CharacterSetCode" codeListValue="utf8" />
181+
</lan:characterEncoding>
182+
</lan:PT_Locale>
183+
</mri:defaultLocale>
184+
</mri:MD_DataIdentification>
185+
</mdb:identificationInfo>
186+
<mdb:distributionInfo>
187+
<mrd:MD_Distribution>
188+
<mrd:transferOptions>
189+
<mrd:MD_DigitalTransferOptions>
190+
<mrd:onLine>
191+
<cit:CI_OnlineResource>
192+
<cit:linkage>
193+
<gco:CharacterString>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/forms-t</gco:CharacterString>
194+
</cit:linkage>
195+
<cit:protocol>
196+
<gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString>
197+
</cit:protocol>
198+
<cit:name>
199+
<gco:CharacterString>forms-t</gco:CharacterString>
200+
</cit:name>
201+
<cit:description>
202+
<gco:CharacterString>STAC Collection</gco:CharacterString>
203+
</cit:description>
204+
</cit:CI_OnlineResource>
205+
</mrd:onLine>
206+
<mrd:onLine>
207+
<cit:CI_OnlineResource>
208+
<cit:linkage>
209+
<gco:CharacterString>https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/forms-t/items</gco:CharacterString>
210+
</cit:linkage>
211+
<cit:protocol>
212+
<gco:CharacterString>STAC Items</gco:CharacterString>
213+
</cit:protocol>
214+
<cit:name>
215+
<gco:CharacterString>forms-t</gco:CharacterString>
216+
</cit:name>
217+
<cit:description>
218+
<gco:CharacterString>STAC Items</gco:CharacterString>
219+
</cit:description>
220+
</cit:CI_OnlineResource>
221+
</mrd:onLine>
222+
<mrd:onLine>
223+
<cit:CI_OnlineResource>
224+
<cit:linkage>
225+
<gco:CharacterString>https://api.stac.teledetection.fr/collections/forms-t/items</gco:CharacterString>
226+
</cit:linkage>
227+
<cit:protocol>
228+
<gco:CharacterString>STAC Items</gco:CharacterString>
229+
</cit:protocol>
230+
<cit:name>
231+
<gco:CharacterString>forms-t</gco:CharacterString>
232+
</cit:name>
233+
<cit:description>
234+
<gco:CharacterString>STAC Items</gco:CharacterString>
235+
</cit:description>
236+
</cit:CI_OnlineResource>
237+
</mrd:onLine>
238+
</mrd:MD_DigitalTransferOptions>
239+
</mrd:transferOptions>
240+
</mrd:MD_Distribution>
241+
</mdb:distributionInfo>
242+
</mdb:MD_Metadata>
243+

0 commit comments

Comments
 (0)