From: Davis F. <dav...@gm...> - 2005-12-13 23:42:44
|
Hi, We implemented our own test datastore in geotools, and are trying to make it work via WMS using GeoServer. WFS seems to work without a hitch using GeoServer. Using WMS -- however..the following query: http://localhost:8080/geoserver/wms?version=3D1.3.0&request=3DGetMap&layers= =3Dteleatlas:RoadElement&BBOX=3D5.7,49.4,6.5,50.1&srs=3DEPSG:4326&width=3D3= 00&height=3D300&format=3Dimage/gif&STYLES=3Dsimple_road produces a blank map image, and eclipse debugger reports the following: [SEVERE] org.geotools.renderer.lite.StreamingRenderer$DefaultRenderListener - Error transforming bbox [SEVERE] org.geotools.renderer.lite.StreamingRenderer$DefaultRenderListener - Exception rendering layer org.geotools.map.DefaultMapLayer@118317f Tracing the debugger in eclipse, org.vfny.geoserver.wms.responses.produceMap() calls: renderer.paint(graphic, paintArea, at); at line 244 in produceMap() I did an SVN co on the 2.1.x branch of GeoTools and imported into eclipse, but my debugger's execution pointer is not correct when I step into org.geotools.renderer.lite.StreamingRenderer so I'm having some trouble finding the problem. It does seem this problem has been experienced by other users before.=20 Is it possible that someone on the list might help explain what may be going wrong? The try block where the exception is caught reads: // Then create the geometry filters. We have to create one for each // geometric // attribute used during the rendering as the feature may have more // than one // and the styles could use non default geometric ones CoordinateReferenceSystem sourceCrs =3D currLayer.getFeatureSource().getSchema() .getDefaultGeometry().getCoordinateSystem(); if (sourceCrs !=3D null && !sourceCrs.equals(destinationCrs= )) { // get an unprojected envelope since the feature source is operating on // unprojected geometries transform =3D operationFactory.createOperation(destinationCrs,sourceCrs).getMathTransform= (); if (transform !=3D null && !transform.isIdentity()) { // Envelope eee=3D JTS.transform(envelope, transform);// this is the old way //10 =3D make 10 points on each side of the bbox & transform the polygon envelope =3D JTS.transform(envelope, transform,10); // this will usually be a "bigger" bbox } else transform =3D null; //reset transform } Filter filter =3D null; if (!isMemoryPreloadingEnabled()) { BBoxExpression rightBBox =3D filterFactory.createBBoxExpression(envelope); filter =3D createBBoxFilters(schema, attributes, rightB= Box); } else { filter =3D Filter.NONE; } // now build the query using only the attributes and the bounding // box needed DefaultQuery q =3D new DefaultQuery(schema.getTypeName()); q.setFilter(filter); q.setPropertyNames(attributes); query =3D q; I'm just looking for some helpful pointers on what to try next from any veterans familiar with this area of the code -- Thx... Davis |