[gdal-dev] RFC 46 GDAL/OGR unification adopted and commited

Even Rouault even.rouault at mines-paris.org
Tue May 27 05:11:42 PDT 2014


Selon Ivan Lucena <lucena_ivan at hotmail.com>:

> > Date: Tue, 27 May 2014 11:46:35 +0200
> > From: even.rouault at mines-paris.org
> > To: mateusz at loskot.net
> > CC: lucena_ivan at hotmail.com; even.rouault at mines-paris.org;
> gdal-dev at lists.osgeo.org
> > Subject: Re: [gdal-dev] RFC 46 GDAL/OGR unification adopted and commited
> >
> > Selon Mateusz  <mateusz at loskot.net>:
> >
> > I'd rather see frmts/mixed/XXXXX if XXXXX is a single driver that can
> return
> > both raster and vector content.
> > If you have a XXXXX (GeoRaster) and YYYYYY (OGR OCI) drivers that use
> common
> > code but remain separate, I'd say you can have frmts/raster/XXXXX and
> > frmts/vector/YYYYY and make one of them include headers from the other one.
> Like
>
> That is fine. That will be just a matter of adding some -I include path.
>
> > it has been done up to now. Well if you want it to be cleaner, you could
> have
> > frmts/common/oracle and put in there the common code. However, if they are
> > plugins and not build-in driver, you should however make sure that both
> drivers
> > are bundled in the same shared object.
>
> I don't think that will be necessary. I mean, the /common folder.
>
> But let me through another idea, if you don't mind.
>
> What if the folder under /frmts where organized by software/company name, not
> by container?

My feeling is that there are not so many drivers that are unambiguously
associated with a software/company.
And if you take a particular company, the common points between shape file,
PGeo, FileGDB, OpenFileGDB, SDE or ArcObjects are rather small (I can only think
to shapefile blob encoding/decoding for pgeo/mdb and filegdb/openfilegdb). And
it would be rather amusing to place OpenFileGDB under an E$RI directory.
And sometimes the company name changes many times, but the format remains
(ECW...)

>
> BTW, that is what I did on my first GDAL driver, I used the software name not
> the format or driver name as the folder name.
>
> IMHO there is no need for /vector, /raster or /mixed sub-folder. It really
> doesn't matter if a driver is mixed or not, in terms of folder structure.
> That should be dictated by the code.

I agree. There's no technical necessity in that /vector, /raster and /mixed
possible structure.

I've just had a look at how QGIS ogranize their providers -
https://github.com/qgis/QGIS/tree/master/src/providers - and it is flat, mixing
raster and vector. But they have "only" 15 of them.

>
> Inside the software/company sub-folder, the developer could organize folder
> names in the anyway they want, as long as there is a main makefile to be
> called. Or maybe not even that, because a driver could be plugin-only. Inside
> that folder you could have one, two, three or more drivers, mixed or not. And
> we could still have formats independent from software/companies seating on
> the /frmts folder just like he have now.
>
> Would that be too much freedom? Would make it more organized or messier?

No definitive conclusion from myself. The frmts/raster frmts/vector approach was
a no-brainer adaptation of the current organization.

>
> Like I said before, I am fine with what you proposed. I am just giving some
> ideas. I am not concerned about "my two drivers" but about the health of the
> overall GDAL code.
>
> My best regards,
>
> Ivan
>
>
> >
> >
> > > On 27 May 2014 01:24, Ivan Lucena <lucena_ivan at hotmail.com> wrote:
> > > > What I am most interested is to have two driver
> > > > (that uses the same data container) sharing a little bit of code.
> > > > [...]
> > > > In my case I would like to have a folder structure to keep my two
> driver
> > > > under the same folder.
> > > >
> > > > Something like that:
> > > >
> > > > /frmts/container/
> > > > /frmts/container/vector
> > > > /frmts/container/raster
> > > >
> > > > But that idea doesn't help with your concern about a large number of
> > > > sub-folders under /frmts.
> > >
> > > Ivan,
> > >
> > > You've touched an important issues - sharing of code between drivers that
> > > connect to the same data provider.
> > >
> > > My understanding is that drivers like Oracle or PostGIS would have the
> > > following structure:
> > >
> > > /frmts/mixed/oracle
> > > /frmts/mixed/postgis
> > >
> > > I'm not sure if I've grasped the idea well though.
> > >
> > > Best regards,
> > > --
> > > Mateusz  Łoskot, http://mateusz.loskot.net
> > >
>




More information about the gdal-dev mailing list