<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; } p, li { white-space: pre-wrap; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>​<br>
</p>
<div style="font-family:'monospace'; font-size:9pt; font-weight:400; font-style:normal">
<div>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> ​> my question is</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> > starting from gdal-3.x OGRCoordinateTransformation object (::Transform() in</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> > particular) is not intended to be used by multiple threads? With gdal-2.4</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> > it worked fine.</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> > OGRCoordinateTransformation, as most objects in GDAL, instances have never been</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> intended from being used by multiple threads. That it might have worked in 2.4 was an implementation detail.</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
> > Even<br>
</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
<br>
</p>
</div>
<div>The OGRCoordinateTransformation implementation class defines several (over 20) data members. Some of<br>
</div>
<div>them are altered during a transformation, and hence the implementation is not thread safe. At least the<br>
</div>
<div>variables used for reverse checking the result could be placed into the Transform method instead to improve</div>
<div><span style="font-family: monospace; font-size: 9pt;">thread safety. However, since there were some many member variables I did not check them all.</span></div>
<div><span style="font-family: monospace; font-size: 9pt;"><br>
</span></div>
<div>Mika<br>
</div>
<div><br>
</div>
</div>
</body>
</html>