<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageReplySection">Il 28 feb 2020, 17:49 +0100, Just van den Broecke <justb4@gmail.com>, ha scritto:<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;">On 28-02-20 17:29, Even Rouault wrote:<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;">On vendredi 28 fĂ©vrier 2020 17:22:28 CET Francesco Bartoli wrote:<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #3498db;">However, we are using both modules so how can we handle exceptions properly<br />
for both of them?<br /></blockquote>
</blockquote>
AFAIK we only use OGR (vector) currently within pygeoapi, no raster/GDAL<br />
yet. <br /></blockquote>
<br />
<div>We are using both <a href="https://github.com/geopython/pygeoapi/blob/9d6322a9733313a98664d65a5d42e119802c3e3b/pygeoapi/provider/ogr.py#L101-L104">https://github.com/geopython/pygeoapi/blob/9d6322a9733313a98664d65a5d42e119802c3e3b/pygeoapi/provider/ogr.py#L101-L104</a> even though without any real spatial operation from GDAL</div>
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;">
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;"><br />
You can use both gdal.UseExceptions() and ogr.UseExceptions()<br /></blockquote>
My bad: in the initial version of the pygeoapi OGRProvider I added<br />
gdal.UseExceptions() from example code (py-gdalogr-cookbook). Was not<br />
aware of ogr.UseExceptions()!<br />
<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;"><br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #3498db;"><br />
Using ogr.UseExceptions() the<br />
call https://github.com/geopython/pygeoapi/pull/372/files#diff-b105ae3f7a36<br />
059b16bdc16a08071016R361 gives the same result silently without any message<br />
to system output this time.<br /></blockquote>
<br />
On a quick test, ogr.UseExceptions() does the job for me:<br />
<br />
$ OGR_GEOJSON_MAX_OBJ_SIZE=0 python<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #3498db;">
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #d35400;">
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #34495e;">from osgeo import ogr<br />
ogr.UseExceptions()<br />
ds = ogr.Open('poly.geojson')<br />
lyr = ds.GetLayer(0)<br />
lyr.GetNextFeature()<br /></blockquote>
</blockquote>
</blockquote>
Traceback (most recent call last):<br />
File "<stdin>", line 1, in <module><br />
File "/home/even/gdal/git/gdal/gdal/swig/python/build/lib.linux-x86_64-2.7/<br />
osgeo/ogr.py", line 1339, in GetNextFeature<br />
return _ogr.Layer_GetNextFeature(self, *args)<br />
RuntimeError: GeoJSON object too complex, please see the<br />
OGR_GEOJSON_MAX_OBJ_SIZE environment option<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #3498db;">
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #d35400;">
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #34495e;"><br /></blockquote>
</blockquote>
</blockquote>
<br /></blockquote>
<br />
_______________________________________________<br />
gdal-dev mailing list<br />
gdal-dev@lists.osgeo.org<br />
https://lists.osgeo.org/mailman/listinfo/gdal-dev</blockquote>
</div>
</body>
</html>