[gdal-dev] S57 objects’ catalog reload

Jerome Siot jerome.siot at mytimezero.com
Mon Feb 12 00:50:39 PST 2018


Hi Even,
Thank you for your quick answer,
We work with C#, and unfortunately, we didn’t find GDALDriverManager API.

Instead, we tried algorithm you proposed with OGR Driver.DeRegister()/Register() : this does not work, csv change is not taked into account (csv file seems to be cached)

--
Jerome

From: Even Rouault [mailto:even.rouault at spatialys.com]
Sent: Friday, February 9, 2018 2:53 PM
To: gdal-dev at lists.osgeo.org
Cc: Jerome Siot
Subject: Re: [gdal-dev] S57 objects’ catalog reload


Jerome,



>

> I would like to change the s57 objects’ catalog while running between two

> open of datasources. How can I make S57ObjectClasses.csv reloaded ?

> Or how can I change the loaded S57ObjectClasses ?



If your workflow is



open dataset 1

work with it

close dataset 1

change .csv file

open dataset 2

work with it

close dataset 2



then after "change .csv file", you could unload and reload the S57 driver so that the S57ClassRegistrar singleton gets destroyed and reloaded, with something like (untested):



GDALDriverManager* poDM = GetGDALDriverManager();

GDALDriver* poDrv = poDM->GetDriverByName("S57");

poDM->DeregisterDriver(poDrv);

delete poDrv;

RegisterOGRS57();



If you need to operate on 2 simultaneously opened datasets with different .csv files, then changes would be needed in the S57 driver.



Even



--

Spatialys - Geospatial professional services

http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20180212/cc95aa1f/attachment.html>


More information about the gdal-dev mailing list