<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Sean,</p>
<p>It is far from obvious to me to find a universal pattern that
would fit existing and future use cases. If we would find a
universal syntax, there would be the problem of deciding what to
do with code that doesn't match it: support only new way (breaking
external code), or supporting both old and new ways (additional
complexity in our code base)<br>
</p>
<p>How would we deal with the existing practices which are very
diverse ? Examples:</p>
<p>- True filenames (most of the drivers)<br>
</p>
<p>- Database based drivers:<br>
</p>
<pre><span class="n">PG</span><span class="p">:</span><span class="s2">"dbname='databasename' host='addr' port='5432' user='x' password='y'" (Postgis vector)
</span><span class="s2"><span class="n">PG</span><span class="p">:</span><span class="s2">"[host=''] [port=''] [dbname='' [user=''] [password=''] [schema=''] [table=''] [column=''] [where=''] [mode=''] [outdb_resolution='']"</span> (Postgis raster, consistent with previous one)
MYSQL:dbname,user="userid",password="password",host=x,port=y
OCI:u</span><span class="n">sername</span><span class="o">/</span><span class="n">password</span><span class="nd">@host_name</span><span class="p">:</span><span class="n">port_number</span><span class="o">/</span><span class="n">service_name</span><span class="p">:</span><span class="n">MY_SCHEMA</span><span class="o">.</span><span class="n">MY_VIEW
</span>georaster:<user>{,/}<pwd>{,@}[db],[schema.][table],[column],[where]
georaster:<user>{,/}<pwd>{,@}[db],<rdt>,<rid><span class="s2"></span>
</pre>
<p>- Web services (some of them also accept plain filenames that are
.xml files describing the service and parameters)</p>
<pre><span class="s2">WMS:<a class="moz-txt-link-freetext" href="http://demo.opengeo.org/geoserver/gwc/service/wms?SERVICE=WMS&VERSION=1">http://demo.opengeo.org/geoserver/gwc/service/wms?SERVICE=WMS&VERSION=1</a>.</span><span class="s2">1.1&</span>
<span class="n">REQUEST</span><span class="o">=</span><span class="n">GetMap</span><span class="o">&</span><span class="n">LAYERS</span><span class="o">=</span><span class="n">og</span><span class="o">%</span><span class="mi">3</span><span class="n">Abugsites</span><span class="o">&</span><span class="n">SRS</span><span class="o">=</span><span class="n">EPSG</span><span class="p">:</span><span class="mi">900913</span><span class="o">&</span>
<span class="n">BBOX</span><span class="o">=-</span><span class="mf">1.15841845090625E7</span><span class="p">,</span><span class="mf">5479006.186718751</span><span class="p">,</span><span class="o">-</span><span class="mf">1.1505912992109375E7</span><span class="p">,</span><span class="mf">5557277.703671876</span><span class="o">&</span>
<span class="n">FORMAT</span><span class="o">=</span><span class="n">image</span><span class="o">/</span><span class="n">png</span><span class="o">&</span><span class="n">TILESIZE</span><span class="o">=</span><span class="mi">256</span><span class="o">&</span><span class="n">OVERVIEWCOUNT</span><span class="o">=</span><span class="mi">25</span><span class="o">&</span><span class="n">MINRESOLUTION</span><span class="o">=</span><span class="mf">0.0046653459640220</span><span class="o">&</span><span class="n">TILED</span><span class="o">=</span><span class="n">true</span><span class="s2">"
(note the mix of pure WMS GetMap request query parameters + GDAL specific properties TILESIZE, OVERVIEWCOUNT, MINRESOLUTION)
</span></pre>
<p></p>
<pre><span class="s2">WCS:<a class="moz-txt-link-freetext" href="http://194.66.252.155/cgi-bin/BGS_EMODnet_bathymetry/ows?VERSION=1.1.0&coverage=BGS_EMODNET_CentralMed-MCol">http://194.66.252.155/cgi-bin/BGS_EMODnet_bathymetry/ows?VERSION=1.1.0&coverage=BGS_EMODNET_CentralMed-MCol</a></span>
<span class="n">WFS</span><span class="p">:</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www2</span><span class="o">.</span><span class="n">dmsolutions</span><span class="o">.</span><span class="n">ca</span><span class="o">/</span><span class="n">cgi</span><span class="o">-</span><span class="nb">bin</span><span class="o">/</span><span class="n">mswfs_gmap
</span>OAPIF:<a class="moz-txt-link-freetext" href="https://www.ldproxy.nrw.de/rest/services/kataster">https://www.ldproxy.nrw.de/rest/services/kataster</a>
<span class="s2">WMTS:<a class="moz-txt-link-freetext" href="http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml,layer=lb">http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml,layer=lb</a></span>
( layer= is GDAL specific)
</pre>
<br>
<p>- Raster subdatasets (whether to surround filename with double
quotes is driver specific)<br>
</p>
<p>NITF_IM:{image_number}:{filename}<br>
NITF_TOC_ENTRY:{product_type}_{chartname}_{scale}_{somenumber}_{anothernumber}:GNCJNCN/rpf/a.toc<br>
ECRG_TOC_ENTRY:{product_name}:{disk_name}:{scale}:{filename}<br>
GTIFF:{directory_number}:{filename}<br>
GTIFF:off:{directory_offset}:{filename}<br>
GPKG:{filename}:{tablename}<br>
netCDF:{filename}:{variable_name}<br>
HDF5:{filename}:{dataset_path}<br>
ZARR:{filename} (mostly when filename is /vsicurl/ and we don't
have a ReadDirectory() API)<br>
ZARR:{filename}:{path_to_array}<br>
ZARR:{filename}:{path_to_array}:{third_dim_index}[:{fourth_dim_index}[:{fifth_dim_index}...]]<br>
</p>
<p>- Other syntax</p>
<p>vrt:// connection string
(<a class="moz-txt-link-freetext" href="https://gdal.org/drivers/raster/vrt.html#vrt-connection-string">https://gdal.org/drivers/raster/vrt.html#vrt-connection-string</a>) .
e.g. vrt://my.tif?bands=3,2,1
</p>
<p>Do you have also /vsi syntax in mind ?<br>
</p>
<p>Even<br>
</p>
<pre><span class="s2"></span><span class="s2"></span><span class="n"></span></pre>
<p></p>
<div class="moz-cite-prefix">Le 14/09/2023 à 17:14, Sean Gillies a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CAOodmJrA248YJKvXZMNby5=UN-YJyA8780w+gSx6wt68tw-UbQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi all,<br>
</div>
<div><br>
</div>
<div>In <a
href="https://github.com/OSGeo/gdal/pull/8155#issuecomment-1704923263"
moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/OSGeo/gdal/pull/8155#issuecomment-1704923263</a>
I think I see (for the first time?) the beginning of a
specification of the syntax for GDAL "file names". I think it
would be helpful if there was an RFC for this.</div>
<div><br>
</div>
<div>I'm sure a lot of applications construct GDAL file names
without much understanding of what's correct or incorrect. A
formal spec could help make it more likely that anyone can
construct a valid filename on the first try.</div>
<div><br>
</div>
<div>A stretch goal for the RFC could be to come up with a
syntax that is sufficiently general that authors of new format
drivers don't have to create their own new idiosyncratic file
names.<br>
</div>
<div><br>
</div>
<span class="gmail_signature_prefix">-- </span><br>
<div dir="ltr" class="gmail_signature"
data-smartmail="gmail_signature">Sean Gillies</div>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
</body>
</html>