<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<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 Definitions */
@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;}
@font-face
{font-family:Menlo;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
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;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
pre
{mso-style-priority:99;
mso-style-link:"HTML con formato previo Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-language:CA;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
span.HTMLconformatoprevioCar
{mso-style-name:"HTML con formato previo Car";
mso-style-priority:99;
mso-style-link:"HTML con formato previo";
font-family:Consolas;
mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;
mso-fareast-language:CA;}
span.EstiloCorreo22
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.checkstep-line-content
{mso-style-name:checkstep-line-content;}
span.EstiloCorreo24
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.dt-fm
{mso-style-name:dt-fm;}
span.EstiloCorreo26
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EstiloCorreo27
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1379352799;
mso-list-type:hybrid;
mso-list-template-ids:1600918552 67305489 67305497 67305499 67305487 67305497 67305499 67305487 67305497 67305499;}
@list l0:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></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]-->
</head>
<body lang="CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi again,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">MiraMon files have had INI files containing metadata information for ages.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">To read and write sections and key/values from them, we use specific Windows functions (https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestring). When I started
programming the driver, I had to create a function to do that as I couldn't use the Windows one.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I suspect that these functions are not accurate and are failing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Is there any function in GDAL that can read INI files (at least to check if a section exists and to get the value of a key in an existing section)? If not, perhaps using the following could be considered:
https://github.com/brofield/simpleini<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">It seems to have an MIT license... If it's possible to use this parser, what would be the procedure? I noticed that Even added a parser for some command line arguments and perhaps something similar
can be done with that.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">If not, is it possible for me to add some files in the MiraMonVector driver and use them?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">It's better to use something existing and multiplatform than to "reinvent the wheel" with some new function that can fail (in fact, is failing now).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thanks.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:CA">De:</span></b><span lang="EN-US" style="mso-fareast-language:CA"> gdal-dev <gdal-dev-bounces@lists.osgeo.org>
<b>En nombre de </b>Abel Pau via gdal-dev<br>
<b>Enviado el:</b> dimecres, 13 de març de 2024 12:38<br>
<b>Para:</b> Even Rouault <even.rouault@spatialys.com>; gdal-dev@lists.osgeo.org<br>
<b>Asunto:</b> Re: [gdal-dev] There's something strange about two tests that are very similar<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Even,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">thanks for your effort on that.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I’ll spend some time analyzing that but I can imagine where the problem is.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">For your information our .REL files are generated in ANSI codification and when this kind of files are read I forgot to translate to UTF-8.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">It’s very probable that this is the mistake.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I’ll tell you when I solve that!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">About <o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="color:#1F497D"><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">it’s not my intention to output part of the content file (I think that is part of the name which is bad composed because is read from this REL file)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="color:#1F497D"><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">Due to codification, certainly<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="color:#1F497D"><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">It’s odd and I didn’t want to do that, of course! I’ll review<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span lang="EN-US" style="color:#1F497D"><span style="mso-list:Ignore">4)<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">I used Valgrind some time, And I’ll do again, thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><br>
Thanks for the report!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:CA">De:</span></b><span lang="EN-US" style="mso-fareast-language:CA"> Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>>
<br>
<b>Enviado el:</b> dimecres, 13 de març de 2024 11:47<br>
</span><b><span lang="ES" style="mso-fareast-language:CA">Para:</span></b><span lang="ES" style="mso-fareast-language:CA"> Abel Pau <<a href="mailto:a.pau@creaf.uab.cat">a.pau@creaf.uab.cat</a>>;
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<b>Asunto:</b> Re: [gdal-dev] There's something strange about two tests that are very similar<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Hi,<span style="font-size:12.0pt;mso-fareast-language:CA"><o:p></o:p></span></p>
<p>I've checkout'ed your branch locally and I can reproduce the error when running the Python tests. Some of the CI checks give an interesting hint about this being related to a UTF8 issue, and I wondered why<o:p></o:p></p>
<p>But running "ogrinfo autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol" outputs:<o:p></o:p></p>
<p>"""<o:p></o:p></p>
<p>ERROR 4: Error pMMPolygonLayer.MMArc.pF: Cannot open file autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.arc<br>
<br>
[QUALITY:LINEAGE:PROCESS1]<br>
nOrganismes=1<br>
history=C:\MiraMon\MM64.exe<br>
date=20230628 16204988+0200<br>
<br>
[QUALITY:LINEAGE:PROCESS1:ORGANISME_1]<br>
IndividualName=Abel Pau<br>
PositionName=T<span style="font-family:"Tahoma",sans-serif">�</span>cnic SIG<br>
OrganisationName=Students and educational institutions<br>
<br>
[...]<o:p></o:p></p>
<p>""""<o:p></o:p></p>
<p>So there are several problems:<o:p></o:p></p>
<p>1) On failure, you shouldn't output the content of the file in the error message, to keep it brief the UTF-8 error comes from the fact that the file content is not UTF-8 encoded)<o:p></o:p></p>
<p>2) There is an error opening the file. <o:p></o:p></p>
<p>3) Interestingly something in your code *deletes* file autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol !<o:p></o:p></p>
<p>4) You should really invest in running Valgrind. After restoring the deleted file, I can see:<o:p></o:p></p>
<p>$ valgrind ogrinfo autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol<br>
==1737168== Memcheck, a memory error detector<br>
==1737168== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.<br>
==1737168== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info<br>
==1737168== Command: ogrinfo autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol<br>
==1737168== <br>
==1737168== Conditional jump or move depends on uninitialised value(s)<br>
==1737168== at 0x4843C6F: strstr (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)<br>
==1737168== by 0x635FC44: MMReturnValueFromSectionINIFile (mm_wrlayr.c:5019)<br>
==1737168== by 0x636219A: MMCheck_REL_FILE (mm_wrlayr.c:5785)<br>
==1737168== by 0x63586B0: MMInitPolygonLayer (mm_wrlayr.c:1665)<br>
==1737168== by 0x6358BC6: MMInitLayerByType (mm_wrlayr.c:1761)<br>
==1737168== by 0x636B818: MMInitLayerToRead (mm_rdlayr.c:142)<br>
==1737168== by 0x634D6A7: OGRMiraMonLayer::OGRMiraMonLayer(char const*, VSIVirtualHandle*, OGRSpatialReference const*, int, char**, MiraMonVectMapInfo*) (ogrmiramonlayer.cpp:219)<br>
==1737168== by 0x634C03E: OGRMiraMonDataSource::Open(char const*, VSIVirtualHandle*, OGRSpatialReference const*, int, char**) (ogrmiramondatasource.cpp:71)<br>
==1737168== by 0x634C997: OGRMiraMonDriverOpen(GDALOpenInfo*) (ogrmiramondriver.cpp:87)<br>
==1737168== by 0x67DD68C: GDALDriver::Open(GDALOpenInfo*, bool) (gdaldriver.cpp:116)<br>
==1737168== by 0x67F61F4: GDALOpenEx (gdaldataset.cpp:3745)<br>
==1737168== by 0x10AC95: GDALDataset::Open(char const*, unsigned int, char const* const*, char const* const*, char const* const*) (gdal_priv.h:835)<br>
==1737168== <br>
==1737168== Conditional jump or move depends on uninitialised value(s)<br>
==1737168== at 0x483EF58: strlen (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)<br>
==1737168== by 0x5262132: CPLStrdup (cpl_conv.cpp:316)<br>
==1737168== by 0x635FC6E: MMReturnValueFromSectionINIFile (mm_wrlayr.c:5023)<br>
==1737168== by 0x636219A: MMCheck_REL_FILE (mm_wrlayr.c:5785)<br>
==1737168== by 0x63586B0: MMInitPolygonLayer (mm_wrlayr.c:1665)<br>
==1737168== by 0x6358BC6: MMInitLayerByType (mm_wrlayr.c:1761)<br>
==1737168== by 0x636B818: MMInitLayerToRead (mm_rdlayr.c:142)<br>
==1737168== by 0x634D6A7: OGRMiraMonLayer::OGRMiraMonLayer(char const*, VSIVirtualHandle*, OGRSpatialReference const*, int, char**, MiraMonVectMapInfo*) (ogrmiramonlayer.cpp:219)<br>
==1737168== by 0x634C03E: OGRMiraMonDataSource::Open(char const*, VSIVirtualHandle*, OGRSpatialReference const*, int, char**) (ogrmiramondatasource.cpp:71)<br>
==1737168== by 0x634C997: OGRMiraMonDriverOpen(GDALOpenInfo*) (ogrmiramondriver.cpp:87)<br>
==1737168== by 0x67DD68C: GDALDriver::Open(GDALOpenInfo*, bool) (gdaldriver.cpp:116)<br>
==1737168== by 0x67F61F4: GDALOpenEx (gdaldataset.cpp:3745)<br>
==1737168== <br>
[...]<o:p></o:p></p>
<p><o:p> </o:p></p>
<div>
<p class="MsoNormal">Le 12/03/2024 à 20:43, Abel Pau a écrit :<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p><span style="color:#1F497D">>>></span> Are sure all needed files have been committed and pushed for the failing test?<o:p></o:p></p>
<p><span style="color:#1F497D;mso-fareast-language:CA">Yes, sure. 9 files are needed for oine polygon layer. Absolutely sure.</span><o:p></o:p></p>
<p><span style="color:#1F497D">>>> </span>Perhaps an issue Windows CR-LF vs Unix LF end of line characters ? The default settings of git on Windows may mess with binary files. cf
<a href="https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings">
https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings</a><o:p></o:p></p>
<p><span style="color:#1F497D">I’ll take a look but in binary files the format are bytes of information or blanks (there is no line endings or something similar). The drivers Writes and reads bytes and it goes to different features using offsets of 4 or 8 bytes
depending on the version. 4 in this case. Here is the format description for more information.
<a href="https://www.miramon.cat/new_note/eng/notes/MiraMon_structured_vectors_file_format.pdf">
https://www.miramon.cat/new_note/eng/notes/MiraMon_structured_vectors_file_format.pdf</a></span><o:p></o:p></p>
<p><span style="color:#1F497D">Taking a look to the log I can see an advice about GDALOpenEx (See below).</span><o:p></o:p></p>
<p><span style="color:#1F497D">Thinking about differences between extension POL and the other two (PNT and ARC) is that is the main.</span><o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">poDriver->SetMetadataItem(</span><span style="font-size:9.5pt;font-family:Consolas;color:#6F008A;mso-fareast-language:CA">GDAL_DMD_EXTENSION</span><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:CA">"pol"</span><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">);
</span><o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">poDriver->SetMetadataItem(</span><span style="font-size:9.5pt;font-family:Consolas;color:#6F008A;mso-fareast-language:CA">GDAL_DMD_EXTENSIONS</span><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:CA">"pol arc pnt"</span><span style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">);</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I look into multiple examples where ds = gdal.OpenEx() is called with one, two or three arguments.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">So, could it be related with this issue?</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thanks!!!</span><o:p></o:p></p>
<p><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">THE LOG:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D">/home/runner/work/gdal/gdal/build-ubuntu_22.04/autotest/ogr/ogr_miramon_vector.py:175:
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17282">17281</a>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17283">17282</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17284">17283</a>args = ('data/miramon/Polygons/SimplePolygons/SimplePolFile.pol',), kwargs = {}
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17285">17284</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17286">17285</a> def OpenEx(*args, **kwargs) -> "GDALDatasetShadow *":
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17287">17286</a> r"""
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17288">17287</a> OpenEx(char const * utf8_path, unsigned int nOpenFlags=0, char ** allowed_drivers=None, char
** open_options=None, char ** sibling_files=None) -> Dataset </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17289">17288</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17290">17289</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17291">17290</a> Open a raster or vector file as a :py:class:`Dataset`.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17292">17291</a> See :cpp:func:`GDALOpenEx`.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17293">17292</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17294">17293</a> Parameters
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17295">17294</a> ----------
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17296">17295</a> utf8_path : str
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17297">17296</a> name of the file to open
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17298">17297</a> flags : int
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17299">17298</a> Flags controlling how the Dataset is opened. Multiple ``gdal.OF_XXX`` flags
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17300">17299</a> may be combined using the ``|`` operator. See :cpp:func:`GDALOpenEx`.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17301">17300</a> allowed_drivers : list, optional
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17302">17301</a> A list of the names of drivers that may attempt to open the dataset.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17303">17302</a> open_options : dict/list, optional
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17304">17303</a> A dict or list of name=value driver-specific opening options.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17305">17304</a> sibling_files: list, optional
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17306">17305</a> A list of filenames that are auxiliary to the main filename
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17307">17306</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17308">17307</a> Returns
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17309">17308</a> -------
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17310">17309</a> Dataset, or ``None`` on failure.
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17311">17310</a>
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17312">17311</a> See Also
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17313">17312</a> --------
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17314">17313</a> :py:func:`Open`
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES" style="color:#1F497D"><a href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17315">17314</a> :py:func:`OpenShared`</span><o:p></o:p></p>
<p><span style="color:#1F497D"> </span><o:p></o:p></p>
<p><span style="color:#1F497D"> </span><o:p></o:p></p>
<p><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal">Le 12/03/2024 à 17:22, Abel Pau via gdal-dev a écrit :<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="ES">Hi,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">I have in a single test python file with 3 tests inside:
</span><span lang="ES"><a href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L134"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">In some actions the first and second are Ok but the third is not. Example of failure:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/actions/runs/8251854865/job/22569933640#step:12:4863"><span lang="EN-US">Some improvements for empty layers · AbelPau/gdal@90a289c (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES">Here you have the log (return _gdal.OpenEx(*args, **kwargs)
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/actions/runs/8251854865/job/22569933640#step:12:4913"><span lang="EN-US">4912</span></a></span><span lang="EN-US">23: E RuntimeError: Cannot open file %s.) <--- This happen in the
driver when open fails.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">The first two are OK:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L48"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L99"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:Menlo;color:#D0D7DE;background:#24292F"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES">But this is not OK:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L134"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">And the file are all on the correct place (I am sure about that):</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">For the second one, for example:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/tree/master/autotest/ogr/data/miramon/Arcs/SimpleArcs"><span lang="EN-US">gdal/autotest/ogr/data/miramon/Arcs/SimpleArcs at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">And for the third one:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"><a href="https://github.com/AbelPau/gdal/tree/master/autotest/ogr/data/miramon/Polygons/SimplePolygons"><span lang="EN-US">gdal/autotest/ogr/data/miramon/Polygons/SimplePolygons at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">On local tests are perfectly OK (see below). So, after some days of trying to figure out WHY and what is de difference between 2 and 3th test I have to ask you because it must be obvious but not to me.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Any idea? Some permissions stuff?? THANKS!</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">root@f5b8c1fb00ae:/gdal/build/autotest# python3 -m pytest -vv -p no:sugar --color=no ogr/ogr_miramon_vector.py</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">================================================= test session starts ==================================================</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">platform linux -- Python 3.10.12, pytest-8.1.1, pluggy-1.4.0 -- /usr/bin/python3</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">cachedir: .pytest_cache</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">GDAL Build Info:</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> PAM_ENABLED: YES</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> OGR_ENABLED: YES</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> CURL_ENABLED: YES</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> CURL_VERSION: 7.81.0</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> GEOS_ENABLED: YES</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> GEOS_VERSION: 3.10.2-CAPI-1.16.0</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> PROJ_BUILD_VERSION: 8.2.1</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> PROJ_RUNTIME_VERSION: 8.2.1</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> COMPILER: GCC 11.4.0</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">GDAL_DOWNLOAD_TEST_DATA: undefined (tests relying on downloaded data may be skipped)</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">GDAL_RUN_SLOW_TESTS: undefined (tests marked as "slow" will be skipped)</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">rootdir: /gdal/build/autotest</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">configfile: pytest.ini</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">plugins: env-1.1.3, benchmark-4.0.0</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">collected 3 items</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_point PASSED [ 33%]</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_arc PASSED [ 66%]</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_polygon PASSED [100%]</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">================================================== 3 passed in 0.11s ===================================================</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:CA"> </span><o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="0" style="width:375.0pt">
<tbody>
<tr>
<td width="310" style="width:232.5pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Abel Pau Garcia</span></b><span style="font-size:12.0pt;mso-fareast-language:CA">
</span><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:#669900;mso-fareast-language:CA">GIS developer</span></b><o:p></o:p></p>
</td>
<td width="190" valign="top" style="width:142.5pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" align="right" style="text-align:right"><span style="font-size:12.0pt;mso-fareast-language:CA"><img border="0" width="134" height="50" style="width:1.3958in;height:.5208in" id="Imagen_x0020_8" src="cid:image001.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/creaf-signature.png"></span><o:p></o:p></p>
</td>
</tr>
<tr>
<td style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a href="mailto:a.pau@creaf.uab.cat"><b><span style="color:blue">a.pau@creaf.uab.cat</span></b></a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a href="https://teams.microsoft.com/l/chat/0/0?users=a.pau@creaf.uab.cat"><b><span style="color:blue">Let's chat on Teams!</span></b></a></span><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Tel. +34 934814277</span></b><o:p></o:p></p>
</td>
<td width="190" valign="top" style="width:106.5pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" align="right" style="text-align:right"><span style="font-size:12.0pt;mso-fareast-language:CA"><img border="0" width="105" height="50" style="width:1.0937in;height:.5208in" id="Imagen_x0020_7" src="cid:image002.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/so-en-signature.png"></span><o:p></o:p></p>
</td>
</tr>
<tr>
<td style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span lang="ES"><a href="https://twitter.com/CREAF_ecologia" target="_blank"><span lang="CA" style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"><img border="0" width="17" height="17" style="width:.177in;height:.177in" id="Imagen_x0020_6" src="cid:image003.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/twitter-icon-signature.png"></span></a><a href="https://www.linkedin.com/company/1363052?trk=tyah&trkInfo=clickedVertical:company,clickedEntityId:1363052,idx:2-1-2,tarId:1465807877789,tas:creaf" target="_blank"><span lang="CA" style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"><img border="0" width="17" height="17" style="width:.177in;height:.177in" id="Imagen_x0020_5" src="cid:image004.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/linkedin-icon-signature.png"></span></a><a href="https://www.youtube.com/c/creafecologia" target="_blank"><span lang="CA" style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"><img border="0" width="17" height="17" style="width:.177in;height:.177in" id="Imagen_x0020_4" src="cid:image005.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/youtube-icon-signature.png"></span></a><a href="https://www.instagram.com/CREAF_ecologia/" target="_blank"><span lang="CA" style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"><img border="0" width="17" height="17" style="width:.177in;height:.177in" id="Imagen_x0020_3" src="cid:image006.png@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/instagram-icon-signature.png"></span></a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a href="http://www.creaf.cat" target="_blank"><b><span style="color:#003300">www.creaf.cat</span></b></a><b> |
</b><a href="http://blog.creaf.cat" target="_blank"><b><span style="color:#003300">http://blog.creaf.cat</span></b></a></span><o:p></o:p></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" align="right" style="text-align:right"><span style="font-size:12.0pt;mso-fareast-language:CA"><img border="0" width="105" height="50" style="width:1.0937in;height:.5208in" id="Imagen_x0020_2" src="cid:image007.jpg@01DA7556.F3D76DB0" alt="https://www.creaf.cat/sites/default/files/uab_logo_signatura.png"></span><o:p></o:p></p>
</td>
</tr>
<tr>
<td colspan="2" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">CREAF. Campus UAB. Edifici C. 08193 Bellaterra (Barcelona)</span><o:p></o:p></p>
</td>
</tr>
<tr>
<td colspan="2" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span style="font-size:8.5pt;font-family:"Arial",sans-serif;color:#999999;mso-fareast-language:CA"><br>
Before printing this electronic message, think about the environment.</span><o:p></o:p></p>
</td>
</tr>
<tr>
<td colspan="2" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span style="font-size:12.0pt;mso-fareast-language:CA"><img border="0" width="500" height="6" style="width:5.2083in;height:.0625in" id="Imagen_x0020_1" src="cid:image008.jpg@01DA7556.F3D76DB0" alt="http://www.creaf.uab.cat/_signatura/line.gif"></span><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="mso-fareast-language:CA"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:CA"><br>
<br>
</span><o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>gdal-dev mailing list<o:p></o:p></pre>
<pre><a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><o:p></o:p></pre>
<pre><a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre><a href="http://www.spatialys.com">http://www.spatialys.com</a><o:p></o:p></pre>
<pre>My software is free, but my time generally not.<o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre><a href="http://www.spatialys.com">http://www.spatialys.com</a><o:p></o:p></pre>
<pre>My software is free, but my time generally not.<o:p></o:p></pre>
</div>
</body>
</html>