[Proj4j] Conversion issue
P. Peterse (HDB)
p.peterse at han-dataport.nl
Mon Oct 22 00:47:38 PDT 2012
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)
>> <p.peterse at han-dataport.nl> 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)
>>>>> <p.peterse at han-dataport.nl> 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
>>>>>> Proj4j at lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/proj4j
>>>> _______________________________________________
>>>> Proj4j mailing list
>>>> Proj4j at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/proj4j
>>>>
>>>>
>>> _______________________________________________
>>> Proj4j mailing list
>>> Proj4j at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/proj4j
>> _______________________________________________
>> Proj4j mailing list
>> Proj4j at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/proj4j
>>
>>
>> -----
>> No virus found in this message.
>> Checked by AVG - www.avg.com
>> Version: 2012.0.2221 / Virus Database: 2441/5341 - Release Date:
>> 10/19/12
>>
>>
>
> _______________________________________________
> Proj4j mailing list
> Proj4j at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/proj4j
>
>
More information about the Proj4j
mailing list