Skip to content

Commit

Permalink
Merge pull request #51 from Terradue/feature/additional-ESACPE-1856
Browse files Browse the repository at this point in the history
Gaofen metadata extractor, change asset properties only after successful TryAdd
  • Loading branch information
floeschau authored Mar 21, 2024
2 parents 7c33ac1 + 3c6eae6 commit e98f1f9
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 49 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ RUN dotnet publish -c release -o /app -r linux-x64 -f net6.0 --self-contained tr
# final stage/image
FROM mcr.microsoft.com/dotnet/runtime-deps:6.0-bullseye-slim-amd64

RUN apt-get update \
RUN apt-get update -qy \
&& apt-get upgrade -y \
&& apt-get install -y hdf5-tools libssl1.1 libgssapi-krb5-2 ca-certificates jq curl \
&& apt-get install -y hdf5-tools libssl1.1 libgssapi-krb5-2 ca-certificates jq curl vim \
&& rm -rf /var/lib/apt/lists/* /tmp/*

WORKDIR /app
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ private StacItem GetStacItemWithProperties(ProductMetaData productMetadata, stri

private void AddProjStacExtension(ProductMetaData productMetaData, StacItem stacItem) {
ProjectionStacExtension proj = stacItem.ProjectionExtension();
if(!string.IsNullOrEmpty(productMetaData.MapProjection) && productMetaData.MapProjection == "WGS84"){
if (!string.IsNullOrEmpty(productMetaData.MapProjection) && productMetaData.MapProjection == "WGS84") {
proj.SetCoordinateSystem(ProjNet.CoordinateSystems.GeocentricCoordinateSystem.WGS84);
}
else {
Expand Down Expand Up @@ -209,17 +209,17 @@ private async Task AddAssetAsync(StacItem stacItem, string satelliteId, IAsset a
if (filename.EndsWith("-MSS1_thumb.jpg", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-MSS2_thumb.jpg", true, CultureInfo.InvariantCulture)
) {
if (stacItem.Assets.TryAdd("MSS-thumbnail",
GetGenericAsset(stacItem, asset.Uri, "thumbnail")))
stacItem.Assets["MSS-thumbnail"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-thumbnail", GetGenericAsset(stacItem, asset.Uri, "thumbnail"))) {
stacItem.Assets["MSS-thumbnail"].Properties.AddRange(asset.Properties);
}
return;
}

if (filename.EndsWith("-PAN1_thumb.jpg", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-PAN2_thumb.jpg", true, CultureInfo.InvariantCulture)) {
if (stacItem.Assets.TryAdd("PAN-thumbnail",
GetGenericAsset(stacItem, asset.Uri, "thumbnail")))
stacItem.Assets["PAN-thumbnail"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("PAN-thumbnail", GetGenericAsset(stacItem, asset.Uri, "thumbnail"))) {
stacItem.Assets["PAN-thumbnail"].Properties.AddRange(asset.Properties);
}
return;
}

Expand All @@ -228,26 +228,26 @@ private async Task AddAssetAsync(StacItem stacItem, string satelliteId, IAsset a
if (satelliteImagery == null &&
filename.StartsWith("GF1", true, CultureInfo.InvariantCulture) &&
filename.EndsWith("thumb.jpg", true, CultureInfo.InvariantCulture)) {
if (stacItem.Assets.TryAdd("MSS-thumbnail",
GetGenericAsset(stacItem, asset.Uri, "thumbnail")))
stacItem.Assets["MSS-thumbnail"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-thumbnail", GetGenericAsset(stacItem, asset.Uri, "thumbnail"))) {
stacItem.Assets["MSS-thumbnail"].Properties.AddRange(asset.Properties);
}
return;
}

if (filename.StartsWith("GF4", true, CultureInfo.InvariantCulture) &&
filename.EndsWith("thumb.jpg", true, CultureInfo.InvariantCulture)) {
if (stacItem.Assets.TryAdd($"{type}-thumbnail",
GetGenericAsset(stacItem, asset.Uri, "thumbnail")))
stacItem.Assets[$"{type}-thumbnail"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd($"{type}-thumbnail", GetGenericAsset(stacItem, asset.Uri, "thumbnail"))) {
stacItem.Assets[$"{type}-thumbnail"].Properties.AddRange(asset.Properties);
}
return;
}

// overview
if (filename.EndsWith("-MSS1.jpg", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-MSS2.jpg", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.TryAdd("MSS-overview",
GetGenericAsset(stacItem, asset.Uri, "overview"));
stacItem.Assets["MSS-overview"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-overview", GetGenericAsset(stacItem, asset.Uri, "overview"))) {
stacItem.Assets["MSS-overview"].Properties.AddRange(asset.Properties);
}
return;
}

Expand All @@ -263,85 +263,81 @@ private async Task AddAssetAsync(StacItem stacItem, string satelliteId, IAsset a
if (satelliteImagery == null &&
filename.StartsWith("GF1", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".jpg", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.TryAdd("MSS-overview",
GetGenericAsset(stacItem, asset.Uri, "overview"));
stacItem.Assets["MSS-overview"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-overview", GetGenericAsset(stacItem, asset.Uri, "overview"))) {
stacItem.Assets["MSS-overview"].Properties.AddRange(asset.Properties);
}
return;
}

if (filename.StartsWith("GF4", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".jpg", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.TryAdd($"{type}-overview",
GetGenericAsset(stacItem, asset.Uri, "overview"));
stacItem.Assets[$"{type}-overview"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd($"{type}-overview", GetGenericAsset(stacItem, asset.Uri, "overview"))) {
stacItem.Assets[$"{type}-overview"].Properties.AddRange(asset.Properties);
}
return;
}

// metadata
if (filename.EndsWith("-MSS1.xml", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-MSS2.xml", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("MSS-metadata",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["MSS-metadata"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-metadata", GetGenericAsset(stacItem, asset.Uri, "metadata"))) {
stacItem.Assets["MSS-metadata"].Properties.AddRange(asset.Properties);
}
return;
}

if (filename.EndsWith("-PAN1.xml", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-PAN2.xml", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("PAN-metadata",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
if (filename.EndsWith("-PAN1.xml", true, CultureInfo.InvariantCulture)
|| filename.EndsWith("-PAN2.xml", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("PAN-metadata", GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["PAN-metadata"].Properties.AddRange(asset.Properties);
return;
}

if (satelliteImagery == null &&
filename.StartsWith("GF1", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".xml", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("MSS-metadata",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["MSS-metadata"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd("MSS-metadata", GetGenericAsset(stacItem, asset.Uri, "metadata"))) {
stacItem.Assets["MSS-metadata"].Properties.AddRange(asset.Properties);
}
return;
}

if (filename.StartsWith("GF4", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".xml", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.TryAdd($"{type}-metadata",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets[$"{type}-metadata"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd($"{type}-metadata", GetGenericAsset(stacItem, asset.Uri, "metadata"))) {
stacItem.Assets[$"{type}-metadata"].Properties.AddRange(asset.Properties);
}
return;
}

// rpb metadata
if (filename.EndsWith("-MSS1.rpb", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-MSS2.rpb", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("MSS-rpb",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets.Add("MSS-rpb", GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["MSS-rpb"].Properties.AddRange(asset.Properties);
return;
}

if (filename.EndsWith("-PAN1.rpb", true, CultureInfo.InvariantCulture) ||
filename.EndsWith("-PAN2.rpb", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("PAN-rpb",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets.Add("PAN-rpb", GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["PAN-rpb"].Properties.AddRange(asset.Properties);
return;
}

if (satelliteImagery == null &&
filename.StartsWith("GF1", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".rpb", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.Add("MSS-rpb",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets.Add("MSS-rpb", GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets["MSS-rpb"].Properties.AddRange(asset.Properties);
return;
}

if (filename.StartsWith("GF4", true, CultureInfo.InvariantCulture) &&
filename.EndsWith(".rpb", true, CultureInfo.InvariantCulture)) {
stacItem.Assets.TryAdd($"{type}-rpb",
GetGenericAsset(stacItem, asset.Uri, "metadata"));
stacItem.Assets[$"{type}-rpb"].Properties.AddRange(asset.Properties);
if (stacItem.Assets.TryAdd($"{type}-rpb", GetGenericAsset(stacItem, asset.Uri, "metadata"))) {
stacItem.Assets[$"{type}-rpb"].Properties.AddRange(asset.Properties);
}
return;
}

Expand Down Expand Up @@ -800,8 +796,7 @@ private StacAsset GetGenericAsset(StacItem stacItem, Uri uri, string role) {

private void AddOtherProperties(ProductMetaData productMetadata, StacItem stacItem) {
stacItem.Properties.Add("product_type", "PAN_MS_" + productMetadata.ProductLevel.Replace("LEVEL", "L"));
if (IncludeProviderProperty)
{
if (IncludeProviderProperty) {
AddSingleProvider(
stacItem.Properties,
"CNSA",
Expand Down Expand Up @@ -967,4 +962,4 @@ private void FillInstrument(ProductMetaData productMetadata,
properties.Add("gsd", gsd);
}
}
}
}

0 comments on commit e98f1f9

Please sign in to comment.