Donald Hobern<p>At the <a href="https://scicomm.xyz/tags/AustralianPlantPhenomicsNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AustralianPlantPhenomicsNetwork</span></a> (<a href="https://scicomm.xyz/tags/APPN" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>APPN</span></a>), we're just concluding a project (Multiscalar Crop Characterisation Network) we've run with support from the <a href="https://scicomm.xyz/tags/AustralianResearchDataCommons" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AustralianResearchDataCommons</span></a> (<a href="https://scicomm.xyz/tags/ARDC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ARDC</span></a>) to develop or adopt <a href="https://scicomm.xyz/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> tools and pipelines for simpler construction of geospatial data cubes from disparate sources (GeoTIFF, shapefiles, CSV data with point measurements, etc.). "Simpler" may only be relative, and others understand how to do this better, but I'm pleased with the results.</p><p>We're using STAC catalogues to drive an ODC-based engine for constructing xarray datacubes. The main tweaks have been in handling non-raster formats more smoothly.</p><p>As APPN goes forward, we expect to generate STAC metadata for pretty much any data objects that derive from observations with coordinates (UAV images, orthomosaics, point clouds, plot observations and measurements, etc.) and want to make it as easy as possible to plug and play with arbitrary sets of these and with relevant environment and climate data from other sources.</p><p>Three repositories:</p><p>stac-generator - configuration-driven generation of STAC catalogue records - <a href="https://github.com/aus-plant-phenomics-network/stac-generator" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/aus-plant-phenomics</span><span class="invisible">-network/stac-generator</span></a></p><p>mccn-engine - loading and saving data cubes - <a href="https://github.com/aus-plant-phenomics-network/mccn-engine" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/aus-plant-phenomics</span><span class="invisible">-network/mccn-engine</span></a></p><p>mccn-case-studies - six <a href="https://scicomm.xyz/tags/Jupyter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Jupyter</span></a> notebooks that do semi-meaningful things with different data samples - <a href="https://github.com/aus-plant-phenomics-network/mccn-case-studies" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/aus-plant-phenomics</span><span class="invisible">-network/mccn-case-studies</span></a></p><p>All case studies also generate <a href="https://scicomm.xyz/tags/RO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RO</span></a>-Crate packages, because we are heavily into adopting it (and <a href="https://scicomm.xyz/tags/JSON" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JSON</span></a>-LD, schema.org, etc.) everywhere to contextualise our data to make it as <a href="https://scicomm.xyz/tags/FAIR" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FAIR</span></a> as possible.</p>