Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • otb otb
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 184
    • Issues 184
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Main Repositories
  • otbotb
  • Issues
  • #2154

Closed
Open
Created Feb 24, 2021 by Julien Osman@julienosmanDeveloper4 of 4 tasks completed4/4 tasks

Implement SAR metadata parsing from geom files

This issue is part of the SAR sensor models refactoring story (#2142 (closed))

Rationale

In !761 (merged), the parsing of SAR metadata from raw products has been refactored to use the new metadata framework introduced in !707 (merged). To ensure backward compatibility, OTB should also be able to read metadata from geom files. Generic metadata parsing from geom has been added in !759 (merged), but metadata specific to SAR products were not parsed in the ImageMetadataInterface classes. The purpose of this issue is to adds parsing from geom in SAR products.

Analysis

We need to upgrade the parse method of the SAR ImageMetadataInterfaces, in the same way it was done in !770 (merged).

Sensors to update:

  • CosmoSkyMed
  • Radarsat2
  • Sentinel1
  • TerraSar

This is the list of metadata parsed in geom by ossimSarSensorModel and the corresponding paths:

Name Type Path
theOrbitRecords std::vector<OrbitRecordType> orbitList.nb_orbits orbitList.orbit[i].{time, x_pos, x_vel, y_pos,y_vel, z_pos, z_vel}
theGCPRecords std::vector<GCPRecordType> support_data.geom.gcp.number support_data.geom.gcp[i].{azimuthTime, im_pt.{x,y}, slant_range_time, world_pt.{hgt, lon, la} }
theBurstRecords std::vector<BurstRecordType> support_data.geom.bursts.number support_data.geom.bursts.urst[i].{ azimuth_start_time,azimut_stop_time,end_line,start_line}
theSlantRangeToGroundRangeRecords std::vector<CoordinateConversionRecordType> isGRD get(kwl, SR_PREFIX, keySr0, theSlantRangeToGroundRangeRecords);
theGroundRangeToSlantRangeRecords std::vector<CoordinateConversionRecordType> IsGRD get(kwl, GR_PREFIX, keyGr0, theGroundRangeToSlantRangeRecords);
theRadarFrequency double support_data,radar_frequency
theAzimuthTimeInterval DurationType support_data,line_time_interval
theNearRangeTime double support_data,slant_range_to_first_pixel
theRangeSamplingRate double support_data,range_sampling_rate
theRangeResolution double support_data,range_spacing
theBistaticCorrectionNeeded Bool Always false when reading geom ???????
theProductType ProductType support_data,product_type
theAzimuthTimeOffset DurationType optimizeTimeOffsetsFromGcps()
theRangeTimeOffset double optimizeTimeOffsetsFromGcps() Always 0 ?????
theRightLookingFlag bool true in ossimSarSensorModel constructor
theFirstLineTime TimeType Not read ? Set in deburst()
theLastLineTime TimeType Not read ? Set in deburst()
theGeomVersion unsigned int header.version
theNumberOfLinesPerBurst unsigned long if(theBurstRecords.size() > 1) support_data.geom.bursts.number_lines_per_burst
theNumberOfSamplesPerBurst unsigned long if(theBurstRecords.size() > 1) support_data.geom.bursts.number_samples_per_burst
redaptMedataAfterDeburst bool false in ossimSarSensorModel constructor ; set to true in deburst()
thePluginVersion unsigned int const int = 4
thePluginVersionMin unsigned int const int = 2

TODO: add metadata specific to sensors.

Acceptance criterions

One test per product type should be added: the metadata from a product is compared with the metadata read from a geom file using the --compare-metadata utility refactored in !763 (merged).

Risk management

Risk Likelihood Impact Action
Edited Mar 23, 2021 by Julien Osman
Assignee
Assign to
Time tracking