NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Ethan,The TDS remote managent was pretty useful!!. I found one geotools system property on our server:
org.geotools.referencing.forceXY = true I also found some info about it here: http://docs.codehaus.org/display/GEOTDOC/The+axis+order+issue?showComments=falseSo I set the org.geotools.referencing.forceXY to false from the Tomcat startup script and I had all the CRS and SRS tags in the capabilities documents and Geoserver seems to work properly too.
Besides, I did another change in our geotools plugins for TDS .Here, in Galicia (northwest corner of Spain), many times we use the EPSG:23029 (UTM zone 29 north), acording with the capabilities this CRS is available for WMS requests but when I tried a getMap with it I got a 500 error as reponse and I had this in the log:
request=GetMap&service=WMS&version=1.3.0&layers=temp&CRS=EPSG:23029&bbox=465016.146875,4618098.1,697420.915625,4860623.9&width=500&height=500&styles=BOXFILL/alg&format=image/jpeg&time=2009-04-01T08:00:00.000Z& HTTP/1.1" 2009-08-24T12:22:30.610 +0200 [ 5521801][ 113] INFO - thredds.server.wms.WMSController - Request Completed - 500 - -1 - 60 org.geotools.factory.FactoryNotFoundException: No factory of kind "CoordinateOperationAuthorityFactory" found. at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:386) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:137) at org.geotools.referencing.ReferencingFactoryFinder.getAuthorityFactory(ReferencingFactoryFinder.java:216) at org.geotools.referencing.ReferencingFactoryFinder.getCoordinateOperationAuthorityFactory(ReferencingFactoryFinder.java:472) at org.geotools.referencing.operation.AuthorityBackedFactory.<init>(AuthorityBackedFactory.java:126)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)at org.geotools.factory.FactoryCreator.createServiceProvider(FactoryCreator.java:279) at org.geotools.factory.FactoryCreator.createSafe(FactoryCreator.java:247) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:198) at org.geotools.referencing.ReferencingFactoryFinder.getFactory(ReferencingFactoryFinder.java:192) at org.geotools.referencing.ReferencingFactoryFinder.getCoordinateOperationFactory(ReferencingFactoryFinder.java:319) at org.geotools.referencing.operation.BufferedCoordinateOperationFactory.getBackingFactory(BufferedCoordinateOperationFactory.java:204) at org.geotools.referencing.operation.BufferedCoordinateOperationFactory.<init>(BufferedCoordinateOperationFactory.java:163) at org.geotools.referencing.operation.BufferedCoordinateOperationFactory.<init>(BufferedCoordinateOperationFactory.java:151)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)at org.geotools.factory.FactoryCreator.createServiceProvider(FactoryCreator.java:279) at org.geotools.factory.FactoryCreator.createSafe(FactoryCreator.java:247) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:198) at org.geotools.referencing.ReferencingFactoryFinder.getFactory(ReferencingFactoryFinder.java:192) at org.geotools.referencing.ReferencingFactoryFinder.getCoordinateOperationFactory(ReferencingFactoryFinder.java:319) at org.geotools.referencing.CRS.getCoordinateOperationFactory(CRS.java:206)
at org.geotools.referencing.CRS.findMathTransform(CRS.java:906)at uk.ac.rdg.resc.ncwms.datareader.HorizontalGrid.<init>(HorizontalGrid.java:127) at uk.ac.rdg.resc.ncwms.datareader.HorizontalGrid.<init>(HorizontalGrid.java:99) at thredds.server.wms.responses.WmsGetMap.processRequest(WmsGetMap.java:90) at thredds.server.wms.WMSController.handleRequestInternal(WMSController.java:266)
.....It seemed to me another geotools issue and after changing the gt2-epsg-wkt-2.4.0 plugin for the gt2-epsg-hsql-2.4.0 (adding the hsqldb-1.8.0.7.jar was also needed ) it worked. I did this change just because the epsg-wkt was deprecated:
http://javadoc.geotools.fr/2.4/org/geotools/referencing/crs/EPSGCRSAuthorityFactory.html Here are two sample requests, one with CRS:84: http://limia.meteogalicia.es/thredds/wms/modelos/WRF/diario/20090401/wrf_arw_det_20090401_04km_00Z_0d.nc?request=GetMap&service=WMS&version=1.3.0&layers=temp&CRS=CRS:84&bbox=-11.261331695726343,40.421302033295945,-5.101928395629246,45.230011083267385&width=500&height=500&styles=BOXFILL/alg&format=image/jpeg&time=2009-04-01T08:00:00.000Z and another with EPSG:23029: http://limia.meteogalicia.es/thredds/wms/modelos/WRF/diario/20090401/wrf_arw_det_20090401_04km_00Z_0d.nc?request=GetMap&service=WMS&version=1.3.0&layers=temp&CRS=EPSG:23029&bbox=465016.146875,4618098.1,697420.915625,4860623.9&width=500&height=500&styles=BOXFILL/alg&format=image/jpeg&time=2009-04-01T08:00:00.000Z Cheers! Ethan Davis wrote:
Hi Marcos, I don't know geotools at all so I'm kind of pulling this out of thin air. What came to mind, seeing as this seems to be a cross-webapp problem, was this snippet from some Spring javadocs: "Some containers (like Tomcat) do not keep system properties separate per web app." http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/util/Log4jWebConfigurer.html So, I was wondering if geotools uses system properties and if TDS/ncWMS and Geoserver somehow are mucking with the same system properties. I'm not seeing any geotools specific system properties on our server. If there are any on your server running Geoserver, it might be that TDS/ncWMS assumes the defaults and Geoserver sets some specific properties. If you have the TDS remote management setup (http://www.unidata.ucar.edu/projects/THREDDS/tech/reference/RemoteManagement.html), you can get a list of system properties from the admin page (http://server/thredds/admin/debug) by clicking on the "Show Server info" link in the "General" section. Ethan Marcos Hermida wrote:Hi Pauline! Sorry for the slow reply but I was on holiday ;-) I have installed an alone thredds on a Apache-Tomcat and it worked fine!!! The problem comes after deploying Geoserver 1.7.5 on the same Tomcat server. After that the CRS and SRS tags are missing again. I think it might be something related with geotools. Somehow THREDDS server is mixing up the Geoserver's geotools settings, which uses the gt-epsg-hsql-2.5.6, with its own settings which are using the gt2-epsg-wkt-2.4.0. As the CRS codes are loaded in the HorizontalGrid datareader with the org.geotools.referencing.CRS class through its method getSupportedCodes, I think this is the method that fails but it doesn't report any problem: http://javadoc.geotools.fr/2.4/org/geotools/referencing/CRS.html#getSupportedCodes(java.lang.String) so I don't find any error in the logs and the variable supportedCrsCodes in the capabilities_xml.jsp is just empty: 2009-08-19T10:50:41.619 +0200 [ 2227738][ 11] DEBUG - org.springframework.web.servlet.view.JstlView - Rendering view with name 'capabilities_xml' with model {supportedCrsCodes=[], layerLimit=1, featureInfoFormats=[Ljava.lang.String;@12b523c, legendHeight=264, wmsBaseUrl=http://localhost:8080/thredds/wms/modelos/WRF/diario/20090330/wrf_arw_det_20090330_36km_00Z_0d.nc, lastUpdate=2009-03-30T09:05:03.000+02:00, layers=[uk.ac.rdg.resc.ncwms.metadata.VectorLayerImpl@124181b, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@aaca8a, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@d74b31, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@89848d, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@5d4a62, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@be8e12, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@6159c4, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@14c92a7, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@3040c5, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@1ec459b, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@cdf450, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@162b8ce, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@52fdeb, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@9c6c30, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@182eca8, uk.ac.rdg.resc.ncwms.metadata.LayerImpl@7f3159], datasetTitle=/home/METEOGALICIA/marcos.hermida/meteo/modelos/data/WRF/20090330/wrf_arw_det_20090330_36km_00Z_0d.nc, supportedImageFormats=[image/jpeg, image/png, application/vnd.google-earth.kmz, image/gif], legendWidth=110, config=uk.ac.rdg.resc.ncwms.config.Config@80f252, paletteNames=[alg, redblue, alg2, greyscale, ncview, occam, rainbow, sst_36, ferret, occam_pastel-30]} and static attributes {} and the GetCapabilities request works fine but without CRS tags (nothing to iterate over the supportedCrsCodes variable). I really don't know how the geotools work so I'm probably wrong but so far it's all I could find. Thanx! Pauline Mak wrote:Hi Marcos, Would you be able to turn on debug on your machine? Did your server have any error messages in the log? It should be in the $TOMCAT_HOME/content/thredds/logs/server/threddsServlet.log file. I had a clean install of the thredds app (removed the thredds.war and thredds directory from $TOMCAT_HOME/webapps) and it generated the attached XML file (sorry, I forgot to include it last time). Yet to look at the 500 error... Cheers, -Pauline. Marcos Hermida wrote:Hi Ethan! I answered last Pauline's e-mail without copy to the list, that was: ----------- Hi Pauline! This is pretty wierd because when I try a GetMap (vs 1.3.0) request with CRS=CRS:84 from a web browser I got a file: http://limia.meteogalicia.es/thredds/wms/modelos/WRF/diario/20090401/wrf_arw_det_20090401_36km_00Z_3d.nc?service=WMS&version=1.3.0&request=GetMap&LAYERS=temp&CRS=CRS:84&BBOX=-49.18259341789055,24.03791184287805,18.788995948788816,56.066076511429685&styles=&format=image/png&WIDTH=500&HEIGHT=500 despite I don't have CRS tags in the capabilities file. Which file have you downloaded? Anyway, if when you ran the file with your TDS you got the CRS it's likely there is something wrong with our Apache Tomcat or TDS settings, I'll check that. BTW, I've updated the TDS to version 4.0.24 - 20090724.2259 (latest, I guess) and the CRS is still missing! Thanx, I really appreciate your help!!! --------------------- And regarding yours, I downloaded the grib file from the motherlode server and ran it on our server: http://limia.meteogalicia.es/thredds/catalog/testData/catalog.html?dataset=TEST_DATA/GFS_CONUS_80km_20090729_1200.grib1 but I didn't get any CRS so I definitely think that there is something wrong with our server settings rather than some problem with the files. I'll be on holiday a couple of weeks, so I will resume the work on this after it. Thanx for your help, Cheers, Marcos. Ethan Davis wrote:Another quick note ... The following dataset on our server is also on a Lambert Conformal projection and the WMS does list lots of CRS: http://motherlode.ucar.edu:8080/thredds/wms/fmrc/NCEP/GFS/CONUS_80km/files/GFS_CONUS_80km_20090729_1200.grib1?service=WMS&version=1.3.0&request=GetCapabilities here's the OPeNDAP DAS: http://motherlode.ucar.edu:8080/thredds/dodsC/fmrc/NCEP/GFS/CONUS_80km/files/GFS_CONUS_80km_20090729_1200.grib1.das which contains a similar Lambert_Conformal section as with Marcos' dataset (below) but it has different parameter values (maybe more standard?) and lots of other information from the GRIB source. Ethan Ethan Davis wrote:Hi Marcos, Pauline, I'm not seeing any CRS elements in the GetCapabilities document at this link: http://limia.meteogalicia.es/thredds/wms/modelos/WRF/diario/20090331/wrf_arw_det_20090331_36km_00Z_1d.nc?service=WMS&version=1.3.0&request=GetCapabilities I just talked to Jeff, one of the IDV developers, and that seems to be the problem the IDV is tripping over (though he just added code to default to "CRS:84" if none is found). I'm guessing that is the problem Marcos saw for the other WMS clients as well. I'm wondering if the projection is getting lost somehow for this dataset. The project is Lambert Conformal, here's the OPeNDAP DAS snippet for the projection variable: Lambert_Conformal { String grid_mapping_name "lambert_conformal_conic"; Float64 longitude_of_central_meridian -14.100000381469727; Float64 standard_parallel 43.0, 43.0; Float64 latitude_of_projection_origin 24.22800064086914; Float64 false_easting 2182.62935; Float64 false_northing -269.65597; } The netCDF-Java library, so ToolsUI (as Marcos mentioned) and IDV, recognize the grid. Though whether they use the projection information or the lat/lon variables isn't clear. I'm not going to be able to dig into this any further until at least end of next week. Pauline, Jon, I'm wondering (from my hazy understanding of the ncWMS code) if the projection somehow fails to get mapped into a CRS that GeoTools recognizes and it then does not default to try the lat/lon grid that is also given in the dataset. Ethan Pauline Mak wrote:Hi Marco, I've downloaded the file and ran it with the latest version of TDS. The GetCapabilities XML generated has been attached - it does included theCRS (and I also tried 1.1.1, and that gave me a list of SRS). Perhapsyou can give this a try? Google Earth was able to find all the layers and palettes. I've also tried to apply a GetMap request to the downloaded file, but that's giving me a 500 error: java.lang.ArrayIndexOutOfBoundsException: 0 at ucar.ma2.Index.setDim(Index.java:562) at ucar.ma2.Index.set(Index.java:651) at uk.ac.rdg.resc.ncwms.datareader.DataChunk.getValue(DataChunk.java:67) at uk.ac.rdg.resc.ncwms.datareader.DefaultDataReader.populatePixelArray(DefaultDataReader.java:209) ..... I'll keep investigating and let you know if I find why this is so :) Cheers, -Pauline. Marcos Hermida wrote:Hi Pauline, Ethan! I've opened the netCDF files with the toolsUI and the data is recognized as gridded data and is displayed perfectly. I also tried with the IDV via OPeNDAP and it worked fine as well. The fileServer isn't enabled for all datasets because many of them are aggregations. Usually, our models' daily outputs have one file per forecast day and grid and we have set up (or at least tried it :-) ) two kind of aggregations: one in each daily output aggregating all the forecast day files in one single dataset per grid and the other aggregates all the daily outputs with the same forecast offset (only offset 0 so far) for each grid. For the WRF daily outputs I've changed the catalog, so now all the files are available via fileServer: http://limia.meteogalicia.es/thredds/catalog/modelos/WRF/diario/catalog.html You can also download the WW3 files: http://limia.meteogalicia.es/thredds/catalog/modelos/WW3/test/catalog.html Thanx!! Pauline Mak wrote:Hi Marco, I was able to load your URL - seems like the GetCapabilities XML document doesn't contain coordinate systems. I can't seem to download any of the files... if you can either email me one of them, or enable fileServer, then I can download one to take a better look. Thanks, -Pauline. Ethan Davis wrote:Hi Marcos, I'm getting a 500 response from the URL you gave. So, I wasn't able to look at your data. One quick suggestion, make sure your data is recognized as gridded data by the netCDF-Java library. You can test that with the ToolsUI (available from the netCDF-Java home page). Try opening your data file in the "FeatureTypes/Grids" tab of ToolsUI. Or, if the data is available from the TDS via OPeNDAP, try opening that in the IDV (not through the WMS interface). Or you could open it as a local file. Regards, Ethan Marcos Hermida wrote:Hi all! I've recently installed the latest version of TDS (4.0.23) and set up some catalogs ( http://limia.meteogalicia.es/thredds/ ) When I tried to display some data with IDV through WMS I got a messagewhich says "No compatible SRS found". I've also tried it with other GIS clients (QGIS, GoogleEarth, ArcView) and Igot similar messages. I think it might be that in the capabilities xml document delivered in the getCapabilities request the SRS (WMS version 1.1.0) or CRS (WMS version 1.3.0) tags are missing so the GIS clients are unable to render the maps or there is something wrong with our datasets? Thanx!_______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit:http://www.unidata.ucar.edu/mailing_lists/_______________________________________________ thredds mailing list thredds@xxxxxxxxxxxxxxxx For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
thredds
archives: