<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 24, 2014 at 4:54 PM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@mines-paris.org" target="_blank">even.rouault@mines-paris.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Le samedi 24 mai 2014 21:28:39, Etienne Tourigny a écrit :<br>

<div class="">> Hi Even, great work!<br>
><br>
> Quick testing was fine and revealed no errors.<br>
><br>
> I was able to compile it in QGIS master very easily. The only "issue" I<br>
> encountered was related to GDALRegisterAll() and OGRAllRegister()<br>
> registering all drivers (raster and vector), requiring to ignore the<br>
> vector-only drivers in the raster-only related code in QGIS.<br>
<br>
</div>Yeah, I've noticed a similar issue in PostGIS because they unload now all<br>
drivers by default except those in a white list, and they still needed a OGR<br>
driver. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
><br>
> May I suggest a change that would improve backwards-compatibility and avoid<br>
> unwanted issues? Perhaps these 2 functions should only register raster or<br>
> vector drivers (as in GDAL 1.x), instead of all drivers, and a new function<br>
> would register both raster and vector drivers. This would ensure old code<br>
> behaves as previously, and ensure that no extra drivers are loaded and<br>
> probed when only raster/vector drivers are needed.<br>
><br>
> Just to be clearer here is how I would see it:<br>
> GDALRegisterAll() -> registers raster drivers (those with<br>
> GDAL_DCAP_RASTER="YES")<br>
> OGRAllRegister() -> registers vector drivers (those with<br>
> GDAL_DCAP_VECTOR="YES")<br>
> GDALRegisterDrivers() -> registers all drivers<br>
><br>
> On the other habd, I imagine this may not be easy to implement and could<br>
> cause some confusion in the future.<br>
<br>
</div>That could be done, although I'm not sure it is really worth doing. There will<br>
be likely other changes in GDAL 2.0 development that will require adjustments<br>
in calling code.<br>
In your suggestion a driver that has a raster and vector face (like the re-<br>
unified PDF and PCIDSK done in RFC 46) should be listed in the two lists.<br>
<br>
Actually in QGIS case, the issue is likely not driver registration, but driver<br>
listing (in QGIS, both GDAL and OGR driver should be registered). So that<br>
wouldn't help.<br></blockquote><div><br></div><div>sort of - the side effect of registering all vector drivers was that vector drivers were listed, so I filtered them using the <span style="color:rgb(0,0,0);font-family:Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;font-size:13px">GDAL_DCAP_RASTER</span></div>
<div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;font-size:13px"><br></span></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class=""><br>
> Also, probing optimization can instead<br>
> be achieved using GDALOpenEx() specifying raster vs.vector drivers.<br>
<br>
</div>GDALOpen() will only probe drivers that have raster capabilities. It is an<br>
alias of GDALOpenEx(filename, GDAL_OF_RASTER | update_flag )<br></blockquote><div><br></div><div>right- got confused there</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;font-size:13px">anyway - if important issues come up it might be worth changing this, if not no biggie. Again congrats!</span></div>
<div><br></div><div>Etienne </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5"><br>
Even<br>
<br>
--<br>
Geospatial professional services<br>
<a href="http://even.rouault.free.fr/services.html" target="_blank">http://even.rouault.free.fr/services.html</a><br>
</div></div></blockquote></div><br></div></div>