Hi Oscar,

It works after I add gt-epsg-hsql dependency. I forgot it, because my
project refers to another project which contain CRS creation code and this
dependency, so it works when I run it as local Java application. That's a
little strange and make me confused.

Thank you very much and best regards!

On Mon, Apr 16, 2012 at 1:44 PM, Oscar Fonts <[email protected]> wrote:

> Hi Zheng,
>
> To decode a CRS code, you need access to the EPSG database, which it
> seems it's not present.
>
> * Make sure you add gt-epsg-hsql in your project, and its
> depencencies, if any (you could use other EPSG factories as well, but
> that's the most usual).
> * To see what factories are available, you can iterate through
> ReferencingFactoryFinder.getCRSAuthoriyFactories. See if
> ThreadedEpsgHsqlFactory is there.
> * Better use CRS.decode("EPSG:4326"), which will loop through all
> available factories, and is a more compact code.
>
> Hope this helps.
>
> Oscar.
>
>
> 2012/4/16 Zheng Xudong <[email protected]>:
> > Hi all,
> >
> > I employ GeoTools(8.0-M4) in my server code, and I use Tomcat 7 as the
> > server application. However the server throws
> NoSuchAuthorityCodeException
> > when I want to get a CRS. My code is just like:
> >
> >     CRSAuthorityFactory crsFactory = CRS.getAuthorityFactory(true);
> >     CoordinateReferenceSystem crs =
> > crsFactory.createCoordinateReferenceSystem("EPSG:4326");
> >
> > the exceptions information was:
> >     org.opengis.referencing.NoSuchAuthorityCodeException: No code
> > "EPSG:4326" from authority "EPSG" found for object of type
> "EngineeringCRS".
> > at
> >
> org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.noSuchAuthorityException(CartesianAuthorityFactory.java:136)
> > at
> >
> org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createEngineeringCRS(CartesianAuthorityFactory.java:130)
> > at
> >
> org.geotools.referencing.factory.epsg.CartesianAuthorityFactory.createCoordinateReferenceSystem(CartesianAuthorityFactory.java:121)
> > at
> >
> org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(AuthorityFactoryAdapter.java:800)
> > at
> >
> org.geotools.referencing.factory.ThreadedAuthorityFactory.createCoordinateReferenceSystem(ThreadedAuthorityFactory.java:731)
> > at
> >
> org.geotools.referencing.DefaultAuthorityFactory.createCoordinateReferenceSystem(DefaultAuthorityFactory.java:179)
> > at
> edu.buaa.navigation.MapListener.contextInitialized(MapListener.java:90)
> > at
> >
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
> > at
> >
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
> > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> > at
> >
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
> > at
> >
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
> > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> > at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> > at java.lang.Thread.run(Thread.java:722)
> >
> > The strange thing was these code could execute without any problems if I
> run
> > it as a local Java Application, but it failed when I run it on the
> server. I
> > guess something wrong with the way of jar files deployed. I just use
> Eclipse
> > to create a "dynamic web project" and run it on tomcat 7. All needed
> > GeoTools library jar files seems deployed in the WEB-INF/lib folder.
> >
> > Who can tell me why this exception was thrown and how could I solve it?
> >
> > Thanks in advance.
> >
> > --
> > Zheng Xudong
> > State Key Laboratory of Software Development Environment
> > School of Computer Science and Engineer, BeiHang University
> >
> >
> ------------------------------------------------------------------------------
> > For Developers, A Lot Can Happen In A Second.
> > Boundary is the first to Know...and Tell You.
> > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
> > http://p.sf.net/sfu/Boundary-d2dvs2
> >
> > _______________________________________________
> > GeoTools-GT2-Users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
> >
>

-- 
Zheng Xudong
State Key Laboratory of Software Development Environment
School of Computer Science and Engineer, BeiHang University
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to