<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello Gertjan,<br>
    <br>
    I'm also not an multithreading expert. But I've changed the Proj4j
    code to:<br>
    public synchronized static Set supportedParameters()<br>
    <br>
    and I didn't see the error anymore. Any false parameter gives an
    exception.<br>
    <br>
    Regards,<br>
    Peter<br>
    <br>
    <div class="moz-cite-prefix">Op 22-10-2012 13:23, Gertjan Idema
      schreef:<br>
    </div>
    <blockquote cite="mid:1350904997.2200.13.camel@laptop-ubuntu"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="GENERATOR" content="GtkHTML/4.1.92">
      On Mon, 2012-10-22 at 12:31 +0200, P. Peterse (HDB) wrote:
      <blockquote type="CITE">
        <pre>Martin,

can it be that the class Proj4Keyword also need to be synchronized?

</pre>
      </blockquote>
      Did you try running the code without the 'towgs84' parameter? If
      you get the same error, but for the 'proj' parameter, that would
      support the theory that your dealing with a synchronization
      problem.<br>
      'towgs84' just happens to be the first parameter to be checked.
      The next would be 'proj', at least on my JVM.<br>
      <br>
      In this case, I think the Proj4Keyword.supportedParameters()
      method should be synchronized, but I'm not really a multithreading
      expert.<br>
      <br>
      Groeten, Gertjan<br>
      <br>
      <blockquote type="CITE">
        <pre>Regards,
Peter

Op 22-10-2012 11:55, P. Peterse (HDB) schreef:
> Hello Martin,
>
> I updated the proj4j package and using this library in our project.
>
> unfortunately the error still exists:
> ============
> towgs84 parameter is not supported
> org.osgeo.proj4j.UnsupportedParameterException: towgs84 parameter is not
> supported
>     at
> org.osgeo.proj4j.parser.Proj4Keyword.checkUnsupported(Proj4Keyword.java:108)
>     at
> org.osgeo.proj4j.parser.Proj4Keyword.checkUnsupported(Proj4Keyword.java:115)
>     at org.osgeo.proj4j.parser.Proj4Parser.parse(Proj4Parser.java:34)
>     at org.osgeo.proj4j.CRSFactory.createFromParameters(CRSFactory.java:120)
>     at org.osgeo.proj4j.CRSFactory.createFromParameters(CRSFactory.java:98)
>     at com.hdb.tol.wms.RDConverter.convert2WGS84(RDConverter.java:114)
> ============
> Is this an other issue with an other race condition?
>
> One of your questions was:
>
> Are you using the codein a multithreaded context?  
>
> This is true, our project is using multiple threads.
>
> Regards,
> Peter
>
> Op 22-10-2012 9:47, P. Peterse (HDB) schreef:
>> Hello Martin,
>>
>> I've just update the proj4j code. And start trying it in our code.
>> I will let you now if it will work.
>>
>> Thanks for digging in to the code.
>>
>> Regards,
>> Peter
>>
>> Op 19-10-2012 19:52, Martin Davis schreef:
>>> I just committed a patch to the Registry which should avoid potential
>>> race conditions during initialization.
>>>
>>> Also, the idea about conflicting JARs is a good thing to look at too. 
>>> Ah, the joys of Java classloaders...
>>>
>>> On 10/19/2012 8:36 AM, Martin Davis wrote:
>>>> Not sure why this would be a transient error.  Are you using the code
>>>> in a multithreaded context?  It's possible there's a race condition in
>>>> the Registry initialization.  If you can recompile the code, try
>>>> changing the initialize method in Registry.java to:
>>>>
>>>>    private synchronized void initialize() {
>>>>
>>>> M
>>>>
>>>> On Fri, Oct 19, 2012 at 6:14 AM, P. Peterse (HDB)
>>>> <<a moz-do-not-send="true" href="mailto:p.peterse@han-dataport.nl">p.peterse@han-dataport.nl</a>> wrote:
>>>>> Hello,
>>>>>
>>>>> here is the stack trace from my code:
>>>>> ===============
>>>>> org.osgeo.proj4j.InvalidValueException: Unknown projection: sterea
>>>>>      at
>>>>> org.osgeo.proj4j.parser.Proj4Parser.parseProjection(Proj4Parser.java:71)
>>>>>
>>>>>      at org.osgeo.proj4j.parser.Proj4Parser.parse(Proj4Parser.java:43)
>>>>>      at
>>>>> org.osgeo.proj4j.CRSFactory.createFromParameters(CRSFactory.java:120)
>>>>>      at
>>>>> org.osgeo.proj4j.CRSFactory.createFromParameters(CRSFactory.java:98)
>>>>>      at com.hdb.tol.wms.RDConverter.convert2WGS84(RDConverter.java:114)
>>>>> ===============
>>>>>
>>>>> What can I check?
>>>>>
>>>>> Thanks for any reply.
>>>>> Peter
>>>>>
>>>>> Op 19-10-2012 10:40, P. Peterse (HDB) schreef:
>>>>>> Hello Martin,
>>>>>>
>>>>>> It looks indeed that it's an initialisation issue. We are trying to
>>>>>> trace the bug and for now we suspect that the issue is in the class
>>>>>> Proj4Keyword
>>>>>> This method checkUnsupported is throwing the error. The code thinks
>>>>>> one
>>>>>> of the params is not supported.
>>>>>>
>>>>>> If we find a sollution we will send it.
>>>>>>
>>>>>> Regards,
>>>>>> Peter Peterse
>>>>>>
>>>>>>
>>>>>> Op 17-10-2012 18:27, Martin Davis schreef:
>>>>>>> I just tried this as well, and the code works fine for me.  But if
>>>>>>> the
>>>>>>> problem is some kind of transient intialization error it's probably
>>>>>>> not going to show up in simple one-off tests.
>>>>>>>
>>>>>>> All I can suggest is to try and see if you can catch the problem in a
>>>>>>> debug session, and then have a look at why it might be occurring.
>>>>>>>
>>>>>>> Nice to see Proj4J is getting used!
>>>>>>>
>>>>>>> Martin
>>>>>>>
>>>>>>> On Wed, Oct 17, 2012 at 3:10 AM, P. Peterse (HDB)
>>>>>>> <<a moz-do-not-send="true" href="mailto:p.peterse@han-dataport.nl">p.peterse@han-dataport.nl</a>> wrote:
>>>>>>>> Hello list,
>>>>>>>>
>>>>>>>> We are using org.osgeo.proj4j in our project and facing sometimes an
>>>>>>>> issue while transforming an coordinate from lat/long format to
>>>>>>>> EPSG:28992.
>>>>>>>> Most times the conversion will work ok, but sometimes there comes an
>>>>>>>> exception:
>>>>>>>> towgs84 parameter is not supported
>>>>>>>> The input coordinate is:
>>>>>>>> LatLon[lat=52.11882666666666, lon=5.04316]
>>>>>>>>
>>>>>>>> The used code is as follows:
>>>>>>>> ===============
>>>>>>>>          CRSFactory csFactory = new CRSFactory();
>>>>>>>>          final String EPSG28992_PARAM = "+proj=sterea
>>>>>>>> +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079
>>>>>>>> +x_0=155000 +y_0=463000 +ellps=bessel
>>>>>>>> +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725
>>>>>>>> +units=m +no_defs";
>>>>>>>>          CoordinateReferenceSystem epsg28992 =
>>>>>>>> csFactory.createFromParameters("EPSG:28992", EPSG28992_PARAM);
>>>>>>>>
>>>>>>>>          final String WGS84_PARAM = "+title=long/lat:WGS84
>>>>>>>> +proj=longlat
>>>>>>>> +ellps=WGS84 +datum=WGS84 +units=degrees";
>>>>>>>>          CoordinateReferenceSystem epsg4326 =
>>>>>>>> csFactory.createFromParameters("WGS84",WGS84_PARAM);
>>>>>>>>
>>>>>>>>          CoordinateTransformFactory ctFactory = new
>>>>>>>> CoordinateTransformFactory();
>>>>>>>>          CoordinateTransform trans =
>>>>>>>> ctFactory.createTransform(epsg4326,
>>>>>>>> epsg28992);
>>>>>>>>          ProjCoordinate inCoord = new ProjCoordinate();
>>>>>>>>          ProjCoordinate outCoord = new ProjCoordinate();
>>>>>>>>          inCoord.y = pos.getLat();
>>>>>>>>          inCoord.x = pos.getLon();
>>>>>>>>          //convert from lat/lon to RD.
>>>>>>>>          trans.transform(inCoord, outCoord);
>>>>>>>>          final double[] point = new double[2];
>>>>>>>>          point[0]=outCoord.x;
>>>>>>>>          point[1]=outCoord.y;
>>>>>>>>
>>>>>>>>          return point;
>>>>>>>> ===============
>>>>>>>>
>>>>>>>> Does anyone have a clue what's going wrong over here?
>>>>>>>>
>>>>>>>> Thanks for your patience.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Peter Peterse
>>>>>>>> _______________________________________________
>>>>>>>> Proj4j mailing list
>>>>>>>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>>>>>>>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>>>>> _______________________________________________
>>>>>> Proj4j mailing list
>>>>>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>>>>>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Proj4j mailing list
>>>>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>>>>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>>> _______________________________________________
>>>> Proj4j mailing list
>>>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>>>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>>>
>>>>
>>>> -----
>>>> No virus found in this message.
>>>> Checked by AVG - <a moz-do-not-send="true" href="http://www.avg.com">www.avg.com</a>
>>>> Version: 2012.0.2221 / Virus Database: 2441/5341 - Release Date:
>>>> 10/19/12
>>>>
>>>>
>>> _______________________________________________
>>> Proj4j mailing list
>>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>>
>>>
>> _______________________________________________
>> Proj4j mailing list
>> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
>> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>>
>>
> _______________________________________________
> Proj4j mailing list
> <a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
> <a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
>
>

_______________________________________________
Proj4j mailing list
<a moz-do-not-send="true" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
<a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Proj4j mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Proj4j@lists.osgeo.org">Proj4j@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/proj4j">http://lists.osgeo.org/mailman/listinfo/proj4j</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>