<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Abel,<br>
</p>
<div class="moz-cite-prefix">Le 23/02/2024 à 10:34, Abel Pau via
gdal-dev a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:PAXPR07MB7775A0A768660C9138FA0689A2552@PAXPR07MB7775.eurprd07.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator"
content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}span.EstiloCorreo17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span lang="ES">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">after reading </span><span
lang="ES"><a
href="https://gdal.org/user/virtual_file_systems.html#vsistdout-standard-output-streaming"
moz-do-not-send="true"><span lang="EN-US">https://gdal.org/user/virtual_file_systems.html#vsistdout-standard-output-streaming</span></a></span><span
lang="ES">
</span><span lang="EN-US">I have to say I don’t understand
what it means.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I which cases it’s used?
Some example to consider?</span></p>
</div>
</blockquote>
<p>/vsistdout/ also makes sense for formats that can be streamed in
writing, that is you can generate the content as data flows in the
driver and don't have to seek back to edit something in the
header. So only a small subset of formats/drivers can natively
support that. The canonical example is a CSV file. So I'd say
don't worry about that use case for your driver.<br>
</p>
<span lang="EN-US"><o:p></o:p></span>
<blockquote type="cite"
cite="mid:PAXPR07MB7775A0A768660C9138FA0689A2552@PAXPR07MB7775.eurprd07.prod.outlook.com">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">On the other hand, I am
confused about the Update concept.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">My driver is capable of
creating from zero a layer from other formats.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But I haven’t programmed
the capacity to insert a feature in a pre-existent layer (I
cannot simply add at the end of the file because de format
description is a little more complicated).</span></p>
</div>
</blockquote>
<p>Same thing as above. A lot of drivers can only create + add
features in the newly features, but can't (at least easily) edit
or append to an existing file. So just return nullptr when Open()
is called with the update flag with a CPLError() message.</p>
<p>Something like</p>
<p> if (poDS != nullptr && poOpenInfo->eAccess ==
GA_Update)<br>
{<br>
CPLError(CE_Failure, CPLE_OpenFailed,<br>
"SDTS Driver doesn't support update.");<br>
delete poDS;<br>
poDS = nullptr;<br>
}<br>
</p>
<p>You have been in a "development black hole" for a long time now,
so I'd suggest you limit the functionality to what you've already
implemented, and make it in good shape for review. The more code,
the harder & longer effort for reviewers. You can always add
new functionality in follow-up pull requests once a base has
already been integrated.</p>
<p>Even<span style="white-space: pre-wrap"></span><br>
</p>
<p>-- </p>
<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>