ossimlabs/ossim

Incorrect elevation projection when using VRT

vilhelmen opened this issue · 1 comments

I'm trying to integrate ASTERv3 into ossim and it appears to be projecting elevation queries incorrectly when interacting with gdal.

ossimImageElevationDatabase takes over two minutes to iterate through all the files required to locate a single point, which is unacceptable. I built a VRT without any special flags and ossim is able to read it as well in ossimImageElevationDatabase, but the results are simply wrong and only ossim seems to be having this issue:

$ ossim-info -P /aster_vrt.conf --height 27.84 -80.48
Opened cell:            /ELEV2/vrts/aster3_relative.vrt
MSL to ellipsoid delta: -27.9172229766846
Height above MSL:       9.00000002799789
Height above ellipsoid: -18.9172229486867
Geoid value:            -27.9172229766846

$ ossim-info -P /aster_dir.conf --height 27.84 -80.48
Opened cell:            /ELEV2/aster3/ASTGTMV003_N27W081_dem.tif
MSL to ellipsoid delta: -27.9172229766846
Height above MSL:       6.00000002831848
Height above ellipsoid: -21.9172229483661
Geoid value:            -27.9172229766846

$ gdallocationinfo -geoloc /ELEV2/vrts/aster3_relative.vrt -80.48 27.84
Report:
  Location: (358272P,198576L)
  Band 1:
    <LocationInfo><File>/ELEV2/vrts/../aster3/ASTGTMV003_N27W081_dem.tif</File></LocationInfo>
    Value: 6

$ gdallocationinfo -geoloc /ELEV2/aster3/ASTGTMV003_N27W081_dem.tif -80.48 27.84
Report:
  Location: (1872P,576L)
  Band 1:
    Value: 6

The full trace is pretty lengthy but the projection at the very bottom (unding rect: ( 83.000000000000014, -179.999722222222090, nan, WGE ), ( -83.000000000023419, 180.000277777828785, nan, WGE )) is clearly wrong.

VRT Lookup Trace

DEBUG ossimInit::initializeElevation(): Entered...
DEBUG: ossimGeoidManager::loadState(), entering...
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u01.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u02.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u03.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u04.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u05.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u06.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u07.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999u08.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999a01.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999a02.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999a03.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999a04.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999h01.bin
ossimGeoidNgs::addFile: Adding file = /ELEVATION/geoid99/g1999p01.bin
Opened geoid grids from:  /ELEVATION/geoid99
DEBUG: ossimGeoidManager::loadState()
Added geoid dir:  /ELEVATION/geoid99
ossimGeoidEgm96::open Entered...
ossimGeoidEgm96::open Grid file:/ELEVATION/geoid96/egm96.grd
Opened geoid grid:  /ELEVATION/geoid96/egm96.grd
DEBUG: ossimGeoidManager::loadState()
Added geoid egm 96:  /ELEVATION/geoid96/egm96.grd
DEBUG: ossimGeoidManager::loadState(), returning...
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
DEBUG ossimElevManager::loadState: Entered...
DEBUG ossimElevManager::loadState:
Looking for key:  elevation_manager.elevation_source1
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageElevationDatabase::loadState entered...
kwl:
datum_grids:  /ELEVATION/nadcon5
elevation_manager.elevation_source1.filename:  /ELEV2/vrts/aster3_relative.vrt
elevation_manager.elevation_source1.type:  image_directory
elevation_manager.threads:  true
geoid_99_directory:  /ELEVATION/geoid99
geoid_egm_96_grid:  /ELEVATION/geoid96/egm96.grd
ossim_threads:  4
plugin.file1:  /lib/ossim/plugins/libossim_gdal_plugin.so
plugin.file2:  /lib/ossim/plugins/libossim_openjpeg_plugin.so
plugin.file3:  /lib/ossim/plugins/libossim_png_plugin.so

ossimFileWalker::walk entered root=/ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile entered...
file: /ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile
file: /ELEV2/vrts/aster3_relative.vrt
exited...
ossimFileWalker::walk exiting...
ossimImageElevationDatabase::loadState result=true
DEBUG ossimElevManager::loadState:
adding elevation database:  ossimImageElevationDatabase: /ELEV2/vrts/aster3_relative.vrt
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageElevationDatabase::open entered...

Connection string: /ELEV2/vrts/aster3_relative.vrt
ossimFileWalker::walk entered root=/ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile entered...
file: /ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile
file: /ELEV2/vrts/aster3_relative.vrt
exited...
ossimFileWalker::walk exiting...
ossimImageElevationDatabase::open result=true
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageElevationDatabase::open entered...

Connection string: /ELEV2/vrts/aster3_relative.vrt
ossimFileWalker::walk entered root=/ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile entered...
file: /ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile
file: /ELEV2/vrts/aster3_relative.vrt
exited...
ossimFileWalker::walk exiting...
ossimImageElevationDatabase::open result=true
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageElevationDatabase::open entered...

Connection string: /ELEV2/vrts/aster3_relative.vrt
ossimFileWalker::walk entered root=/ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile entered...
file: /ELEV2/vrts/aster3_relative.vrt
ossimImageElevationDatabase::processFile
file: /ELEV2/vrts/aster3_relative.vrt
exited...
ossimFileWalker::walk exiting...
ossimImageElevationDatabase::open result=true
DEBUG ossimInit::initializeElevation(): leaving...
ossimDynamicLibrary:71  Loaded library:  /lib/ossim/plugins/libossim_gdal_plugin.so
ossimImageFileWriter::ossimImageFileWriter entered...
OSSIM_ID:  $Id: ossimImageFileWriter.cpp 23068 2015-01-07 23:08:29Z okramer $
ossimDynamicLibrary:71  Loaded library:  /lib/ossim/plugins/libossim_openjpeg_plugin.so
ossimDynamicLibrary:71  Loaded library:  /lib/ossim/plugins/libossim_png_plugin.so
ossim preferences file: /aster_vrt.conf
Version: 1.9.0 20210412
ossimInit::initialize(parser): leaving...
ossimInfo::initialize(ossimArgumentParser&) entered...
m_kwl:
height:  (27.84,-80.48,0,WGE)

ossimInfo::initialize(ossimArgumentParser&) exit result = true
ossimInfo::execute() entered...
Map size: 1
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageHandlerRegistry::open(file, trySuffix,openOverview): entered..........
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Trying OVR...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TIF or TIFF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing NTF or NITF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing RPF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TOC...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing JPG or JPEG...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DOQ or DOQQ...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DTn...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing HGT...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing HRI,HSI...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DEM...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing FST...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing RAS or RAW or General Raster...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing IMG...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing CCF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TIL...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing MASK...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TXT...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing CSV...
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimGdalTileSource::open() DEBUG: entered ...
ossimGdalTileSource::open DEBUG:
Opened image:  /ELEV2/vrts/aster3_relative.vrt
ossimGdalTileSource::open Driver: VRT/Virtual Raster
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageHandler::completeOpen(): Entered........
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.omd
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative_e0.omd
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageHandler::completeOpen(): Leaving.......
Looking for /ELEV2/vrts/aster3_relative_vertices.kwl vertices file...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative_vertices.kwl
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageDataFactory::create DEBUG:
Caller:  ossimGdalTileSource
bands:   1
width:   64
height:  64
Scalar type:  ossim_sint16
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimImageDataFactory::create DEBUG:
Caller:  ossimGdalTileSource
bands:   1
width:   64
height:  64
Scalar type:  ossim_sint16
ossimGdalTileSoruce::open
data type = 13
min pix   0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
-32767
max pix   0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
32767
null pix  0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
-32768
theTile:
ossimS16ImageData::print:
m_origin:  ( 0, 0 )
Null values: -32768 
Min values:  -32767 
Max values:  32767 
width:            64
height:           64
image rectangle:  (0,0,64,64,LH)
indexed:          0
alpha size:       0
ossimRectilinearDataObject::print:
m_numberOfDataComponents:     1
theNumberOfSpatialComponents:  2
m_scalarType:                 ossim_sint16
ossimDataObject::print:
theOwner->getClassName():  ossimGdalTileSource
theDataObjectStatus: OSSIM_EMPTY
theSingleBandTile:
ossimS16ImageData::print:
m_origin:  ( 0, 0 )
Null values: -32768 
Min values:  -32767 
Max values:  32767 
width:            64
height:           64
image rectangle:  (0,0,64,64,LH)
indexed:          0
alpha size:       0
ossimRectilinearDataObject::print:
m_numberOfDataComponents:     1
theNumberOfSpatialComponents:  2
m_scalarType:                 ossim_sint16
ossimDataObject::print:
theOwner->getClassName():  ossimGdalTileSource
theDataObjectStatus: OSSIM_EMPTY

ossimImageHandlerRegistry::open(file, trySuffix,openOverview): leaving..........
ossimSensorModelFactory::createProjection DEBUG: Testing ossimCoarsGridModel
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimSensorModelFactory::createProjection DEBUG: testing ossimQuickbirdRpcModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
DEBUG ossimNitfFile::parseFile: entered...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimNitfFile::parseStream: DEBUG entered...
DEBUG ossimNitfFile::parseFile: Not an NITF file!
ossimNitfFile::parseStream: DEBUG
exit status: false
DEBUG ossimNitfFile::parseFile: exit status: false
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimTiffTileSource::open Entered...
File:  /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimTiffTileSource::open ERROR:
libtiff could not open...
ossimSensorModelFactory::createProjection DEBUG: testing ossimIkonosRpcModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimTiffTileSource::open Entered...
File:  /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimTiffTileSource::open ERROR:
libtiff could not open...
return status: false
DEBUG ossimIkonosRpcModel parseTiffFile: returning...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimSensorModelFactory::createProjection DEBUG: testing ossimLandSatModel
ossimSensorModelFactory::createProjection DEBUG: testing ossimRS1SarModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
Constructor ossimRS1SarModel(ossimFilename) ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 65) DEBUG: entering...
ossimRS1SarModel::initFromCeos() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 343) DEBUG: entering...
ossimCeosData Constructor #1 ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 93) DEBUG: entering...
ossimCeosData::loadCeosFile() ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 1064) DEBUG:  Entered method.
ossimCeosData::loadCeosFile() ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 1078) DEBUG:  ERROR:
	Cannot open CEOS Volume Directory file: /ELEV2/vrts/vdf_dat.001
ossimCeosData Constructor #1 ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 105) DEBUG: returning...
ossimSensorModelFactory::createProjection DEBUG: testing ossimSpot5Model
ossimSensorModelFactory::createProjection DEBUG: testing ossimPpjFrameSensor
ossimSensorModelFactory::createProjection DEBUG: testing ossimAlphaSensor
header file: /ELEV2/vrts/aster3_relative.vrt.hdr
ossimSensorModelFactory::createProjection DEBUG: No sensor model found.
ossimRS1SarModel::deallocateMemory() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 1075) DEBUG: entering...
ossimRS1SarModel::deallocateMemory() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 1084) DEBUG: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimOgcWktTranslator::toOssimKwl entered...
epsg_code: 4326
units: degree
ossim_units: degrees
ossimOgcWktTranslator::toOssimKwlDEBUG:
ossimProj = ossimEquDistCylProjection
ossimOgcWktTranslator::toOssimKwl exit status = true
ossimGdalProjectionFactory: createProjection KWL = 
 central_meridian:  2.5465851649642e-11
datum:  WGE
origin_latitude:  0.000277777766044096
pcs_code:  4326
pixel_scale_units:  degrees
pixel_scale_xy:  (0.000277777777777817,0.000277777777777817)
pixel_type:  area
tie_point_units:  degrees
tie_point_xy:  (-179.999861111111,83.0001388888889)
type:  ossimEquDistCylProjection

DEBUG ossimEquDistCylProjection::loadState: Input keyword list is 
central_meridian:  2.5465851649642e-11
datum:  WGE
origin_latitude:  0.000277777766044096
pcs_code:  4326
pixel_scale_units:  degrees
pixel_scale_xy:  (0.000277777777777817,0.000277777777777817)
pixel_type:  area
tie_point_units:  degrees
tie_point_xy:  (-179.999861111111,83.0001388888889)
type:  ossimEquDistCylProjection

ossimImageElevationHandler::open DEBUG:
mean spacing(meters): 30.8875
unding rect: ( 83.000000000000014, -179.999722222222090, nan, WGE ), ( -83.000000000023419, 180.000277777828785, nan, WGE )

return status: true
DEBUG ossimElevSource::ossimElevSource: entering...
DEBUG:
theComputeStatsFlag:  false
DEBUG ossimElevSource::ossimElevSource: returning...
ossimImageHandlerRegistry::open(file, trySuffix,openOverview): entered..........
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Trying OVR...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TIF or TIFF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing NTF or NITF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing RPF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TOC...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing JPG or JPEG...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DOQ or DOQQ...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DTn...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing HGT...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing HRI,HSI...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing DEM...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing FST...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing RAS or RAW or General Raster...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing IMG...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing CCF...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TIL...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing MASK...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing TXT...
ossimImageHandlerFactory::getImageHandlersBySuffix() -- Testing CSV...
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimGdalTileSource::open() DEBUG: entered ...
ossimGdalTileSource::open DEBUG:
Opened image:  /ELEV2/vrts/aster3_relative.vrt
ossimGdalTileSource::open Driver: VRT/Virtual Raster
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageHandler::completeOpen(): Entered........
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.omd
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative_e0.omd
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageHandler::completeOpen(): Leaving.......
Looking for /ELEV2/vrts/aster3_relative_vertices.kwl vertices file...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative_vertices.kwl
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimImageDataFactory::create DEBUG:
Caller:  ossimGdalTileSource
bands:   1
width:   64
height:  64
Scalar type:  ossim_sint16
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimImageDataFactory::create DEBUG:
Caller:  ossimGdalTileSource
bands:   1
width:   64
height:  64
Scalar type:  ossim_sint16
ossimGdalTileSoruce::open
data type = 13
min pix   0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
-32767.000000
max pix   0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
32767.000000
null pix  0:ossimGdalTileSource::getInputScalarType debug:
GDAL Type:    3
Input scalar: 13
ossimGdalTileSource::getOutputScalarType debug:
Output scalar: 13
-32768.000000
theTile:
ossimS16ImageData::print:
m_origin:  ( 0, 0 )
Null values: -32768.000000 
Min values:  -32767.000000 
Max values:  32767.000000 
width:            64
height:           64
image rectangle:  (0,0,64,64,LH)
indexed:          0
alpha size:       0
ossimRectilinearDataObject::print:
m_numberOfDataComponents:     1
theNumberOfSpatialComponents:  2
m_scalarType:                 ossim_sint16
ossimDataObject::print:
theOwner->getClassName():  ossimGdalTileSource
theDataObjectStatus: OSSIM_EMPTY
theSingleBandTile:
ossimS16ImageData::print:
m_origin:  ( 0, 0 )
Null values: -32768.000000 
Min values:  -32767.000000 
Max values:  32767.000000 
width:            64
height:           64
image rectangle:  (0,0,64,64,LH)
indexed:          0
alpha size:       0
ossimRectilinearDataObject::print:
m_numberOfDataComponents:     1
theNumberOfSpatialComponents:  2
m_scalarType:                 ossim_sint16
ossimDataObject::print:
theOwner->getClassName():  ossimGdalTileSource
theDataObjectStatus: OSSIM_EMPTY

ossimImageHandlerRegistry::open(file, trySuffix,openOverview): leaving..........
ossimSensorModelFactory::createProjection DEBUG: Testing ossimCoarsGridModel
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimSensorModelFactory::createProjection DEBUG: testing ossimQuickbirdRpcModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
DEBUG ossimNitfFile::parseFile: entered...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimNitfFile::parseStream: DEBUG entered...
DEBUG ossimNitfFile::parseFile: Not an NITF file!
ossimNitfFile::parseStream: DEBUG
exit status: false
DEBUG ossimNitfFile::parseFile: exit status: false
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimTiffTileSource::open Entered...
File:  /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimTiffTileSource::open ERROR:
libtiff could not open...
ossimSensorModelFactory::createProjection DEBUG: testing ossimIkonosRpcModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
ossimImageHandler::ossimImageHandler() DEBUG:
OSSIM_ID:  $Id: ossimImageHandler.cpp 23013 2014-12-02 19:21:56Z okramer $
ossimTiffTileSource::open Entered...
File:  /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimTiffTileSource::open ERROR:
libtiff could not open...
return status: false
DEBUG ossimIkonosRpcModel parseTiffFile: returning...
ossim::StreamFactoryRegistry::createIstream: ....... entered: /ELEV2/vrts/aster3_relative.vrt
ossim::StreamFactoryRegistry::createIstream: ....... leaving!
ossimSensorModelFactory::createProjection DEBUG: testing ossimLandSatModel
ossimSensorModelFactory::createProjection DEBUG: testing ossimRS1SarModel
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): entering...
DEBUG ossimSensorModel::ossimSensorModel(geom_kwl): returning...
Constructor ossimRS1SarModel(ossimFilename) ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 65) DEBUG: entering...
ossimRS1SarModel::initFromCeos() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 343) DEBUG: entering...
ossimCeosData Constructor #1 ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 93) DEBUG: entering...
ossimCeosData::loadCeosFile() ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 1064) DEBUG:  Entered method.
ossimCeosData::loadCeosFile() ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 1078) DEBUG:  ERROR:
	Cannot open CEOS Volume Directory file: /ELEV2/vrts/vdf_dat.001
ossimCeosData Constructor #1 ("/tmp/ossim/ossim/src/support_data/ossimCeosData.cpp", line 105) DEBUG: returning...
ossimSensorModelFactory::createProjection DEBUG: testing ossimSpot5Model
ossimSensorModelFactory::createProjection DEBUG: testing ossimPpjFrameSensor
ossimSensorModelFactory::createProjection DEBUG: testing ossimAlphaSensor
header file: /ELEV2/vrts/aster3_relative.vrt.hdr
ossimSensorModelFactory::createProjection DEBUG: No sensor model found.
ossimRS1SarModel::deallocateMemory() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 1075) DEBUG: entering...
ossimRS1SarModel::deallocateMemory() ("/tmp/ossim/ossim/src/projection/ossimRS1SarModel.cpp", line 1084) DEBUG: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
DEBUG ossimSensorModel::~ossimSensorModel: entering...
DEBUG ossimSensorModel::~ossimSensorModel: returning...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimProjectionFactoryBase::createProjectionFromGeometryFile DEBUG:
imageFile:  /ELEV2/vrts/aster3_relative.vrt
entryIdx:   0
DEBUG:  No geometry file found.  Returning NULL...
ossimOgcWktTranslator::toOssimKwl entered...
epsg_code: 4326
units: degree
ossim_units: degrees
ossimOgcWktTranslator::toOssimKwlDEBUG:
ossimProj = ossimEquDistCylProjection
ossimOgcWktTranslator::toOssimKwl exit status = true
ossimGdalProjectionFactory: createProjection KWL = 
 central_meridian:  2.5465851649642e-11
datum:  WGE
origin_latitude:  0.000277777766044096
pcs_code:  4326
pixel_scale_units:  degrees
pixel_scale_xy:  (0.000277777777777817,0.000277777777777817)
pixel_type:  area
tie_point_units:  degrees
tie_point_xy:  (-179.999861111111,83.0001388888889)
type:  ossimEquDistCylProjection

DEBUG ossimEquDistCylProjection::loadState: Input keyword list is 
central_meridian:  2.5465851649642e-11
datum:  WGE
origin_latitude:  0.000277777766044096
pcs_code:  4326
pixel_scale_units:  degrees
pixel_scale_xy:  (0.000277777777777817,0.000277777777777817)
pixel_type:  area
tie_point_units:  degrees
tie_point_xy:  (-179.999861111111,83.0001388888889)
type:  ossimEquDistCylProjection

ossimImageElevationHandler::open DEBUG:
mean spacing(meters): 30.887514
unding rect: ( 83.000000000000014, -179.999722222222090, nan, WGE ), ( -83.000000000023419, 180.000277777828785, nan, WGE )

return status: true
Opened cell:            /ELEV2/vrts/aster3_relative.vrt
MSL to ellipsoid delta: -27.917222976684570
Height above MSL:       9.000000027997888
Height above ellipsoid: -18.917222948686682
Geoid value:            -27.917222976684570
KEY_COUNT:    1
consumedKeys: 1
ossimInfo::execute() exited...

Nothing sticks out when comparing vrt and the individual tif's coordinate data

Gdalinfo Summary

$gdalinfo /ELEV2/aster3/ASTGTMV003_N27W081_dem.tif
Driver: GTiff/GeoTIFF
Files: /ELEV2/aster3/ASTGTMV003_N27W081_dem.tif
Size is 3601, 3601
Coordinate System is:
GEOGCRS["WGS 84",
    DATUM["World Geodetic System 1984",
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Origin = (-81.000138888888898,28.000138888888898)
Pixel Size = (0.000277777777778,-0.000277777777778)
Metadata:
  AREA_OR_POINT=Area
  Band_1=Band 1
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  ( -81.0001389,  28.0001389) ( 81d 0' 0.50"W, 28d 0' 0.50"N)
Lower Left  ( -81.0001389,  26.9998611) ( 81d 0' 0.50"W, 26d59'59.50"N)
Upper Right ( -79.9998611,  28.0001389) ( 79d59'59.50"W, 28d 0' 0.50"N)
Lower Right ( -79.9998611,  26.9998611) ( 79d59'59.50"W, 26d59'59.50"N)
Center      ( -80.5000000,  27.5000000) ( 80d30' 0.00"W, 27d30' 0.00"N)
Band 1 Block=256x256 Type=Int16, ColorInterp=Gray
  Description = Band 1
  Overviews: 1801x1801, 1201x1201, 901x901, 451x451, 401x401, 226x226, 57x57, 45x45

$gdalinfo /ELEV2/vrts/aster3_relative.vrt
Driver: VRT/Virtual Raster
Files: /ELEV2/vrts/aster3_relative.vrt
       /ELEV2/vrts/../aster3/ASTGTMV003_N47W120_dem.tif
       /ELEV2/vrts/../aster3/ASTGTMV003_S76E054_dem.tif
       /ELEV2/vrts/../aster3/ASTGTMV003_S20E023_dem.tif
       /ELEV2/vrts/../aster3/ASTGTMV003_N74W042_dem.tif
       /ELEV2/vrts/../aster3/ASTGTMV003_N61W070_dem.tif
.
.
.
Size is 1296001, 597601
Coordinate System is:
GEOGCRS["WGS 84",
    DATUM["World Geodetic System 1984",
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
Origin = (-180.000138888889012,83.000138888888898)
Pixel Size = (0.000277777777778,-0.000277777777778)
Corner Coordinates:
Upper Left  (-180.0001389,  83.0001389) (180d 0' 0.50"W, 83d 0' 0.50"N)
Lower Left  (-180.0001389, -83.0001389) (180d 0' 0.50"W, 83d 0' 0.50"S)
Upper Right ( 180.0001389,  83.0001389) (180d 0' 0.50"E, 83d 0' 0.50"N)
Lower Right ( 180.0001389, -83.0001389) (180d 0' 0.50"E, 83d 0' 0.50"S)
Center      (   0.0000000,  -0.0000000) (  0d 0' 0.00"E,  0d 0' 0.00"S)
Band 1 Block=128x128 Type=Int16, ColorInterp=Gray

Is there a configuration option I'm missing that is causing this? Is there an ossim-preferred VRT-like that ossim is able to build, perhaps using ossim-preproc?

I'm on 2.11.0 but also this is most likely an issue for plugins, need to move it after verifying some things again.