GeoServer

WMS renders point layer incorrectly

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 1.6.4
  • Fix Version/s: 1.6.5, 1.7.0-beta2
  • Component/s: WMS
  • Labels:
    None
  • Environment:
    RHEL3, Tomcat 5.5.25. Java 1.5.0.12
  • Number of attachments :
    3

Description

GeoServer 1.6.4 does not render my point layer correctly. There seems to be some type of coordinate shift occurring. My feature type info.xml is identical during my tests with 1.6.3 and 1.6.4

The details:
datastore = postgis
SRS = 4326
native bbox ~= -179.9, -72.4, 180, 88

PDF request URL:
http://localhost:8080/geoserver-1.6.4/wms?bbox=-197.89500961303665,-80.46500167846679,197.99500045776364,96.96500167846679&styles=&Format=application/pdf&request=GetMap&version=1.1.1&layers=topp:buoyobservation&width=800&height=336&srs=EPSG:4326

I am using the map preview demo page to test. The SVG link renders in FireFox as expected, but the OpenLayers and PDF links do not show a correct rendering.

I've attached two example PDFs – one showing how the data set looks like when it is served from 1.6.3, the other when it is served up from 1.6.4.

  1. from1.6.3.pdf
    21/May/08 4:37 PM
    40 kB
    Ryan Hofschneider
  2. from1.6.4.pdf
    21/May/08 4:37 PM
    42 kB
    Ryan Hofschneider

Issue Links

Activity

Hide
Andrea Aime added a comment -

Gah, managed to reproduce something similar to it. Happens with postgis datasource (could not reproduce with shapefiles) and only with point symbolizers.

Show
Andrea Aime added a comment - Gah, managed to reproduce something similar to it. Happens with postgis datasource (could not reproduce with shapefiles) and only with point symbolizers.
Hide
Andrea Aime added a comment -

Confirmed, this is a side effect of another bug fix. This is pretty serious, I fear we'll have to redo the gs1.6.4 and gt 2.4.3 releases because of this one...

Show
Andrea Aime added a comment - Confirmed, this is a side effect of another bug fix. This is pretty serious, I fear we'll have to redo the gs1.6.4 and gt 2.4.3 releases because of this one...
Hide
Andrea Aime added a comment -

Ryan, I've attached a modified renderer that should fix the problem. To try it out, you should stop geoserver, go to the geoserver/web-inf/lib directory, remove the gt-renderer-2.4.3.jar file and replace it with the one attached. Then start geoserver and see if it fixes the problem for you.

Show
Andrea Aime added a comment - Ryan, I've attached a modified renderer that should fix the problem. To try it out, you should stop geoserver, go to the geoserver/web-inf/lib directory, remove the gt-renderer-2.4.3.jar file and replace it with the one attached. Then start geoserver and see if it fixes the problem for you.
Hide
Ryan Hofschneider added a comment -

I've confirmed in my environment that gt2-render-2.4-SNAPSHOT.jar fixes the problem.

Show
Ryan Hofschneider added a comment - I've confirmed in my environment that gt2-render-2.4-SNAPSHOT.jar fixes the problem.
Hide
Andrea Aime added a comment -

Fixed on 1.6.x and trunk (as effect of fixing geotools)

Show
Andrea Aime added a comment - Fixed on 1.6.x and trunk (as effect of fixing geotools)
Hide
Lars Loldrup added a comment -

I had the same problem, and I applied the fix that seems to work, but sometimes I get a blank image back.

This URL returns a blank image: http://my_geoserver/geoserver/wms?service=wms&TRANSPARENT=true&LAYERS=ds:mylayer&REQUEST=GetMap&SERVICE=WMS&FORMAT=image%2Fgif&STYLES=&HEIGHT=1000&VERSION=1.1.1&SRS=EPSG:25832&WIDTH=1000&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage&BBOX=600000,6000000,1000000,6400000

Panning 1 km north & east returns a image as expexted: http://my_geoserver/geoserver/wms?service=wms&TRANSPARENT=true&LAYERS=ds:mylayer&REQUEST=GetMap&SERVICE=WMS&FORMAT=image%2Fgif&STYLES=&HEIGHT=1000&VERSION=1.1.1&SRS=EPSG:25832&WIDTH=1000&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage&BBOX=601000,6001000,1001000,6401000

The geoserver log-file (with debug) does not show any different processing for the 2 requests.

My environment: RHEL 5, postgresql-8.3.1, tomcat-6.0.16, geoserver-1.6.4a patched with gt2-render-2.4-SNAPSHOT.jar

Show
Lars Loldrup added a comment - I had the same problem, and I applied the fix that seems to work, but sometimes I get a blank image back. This URL returns a blank image: http://my_geoserver/geoserver/wms?service=wms&TRANSPARENT=true&LAYERS=ds:mylayer&REQUEST=GetMap&SERVICE=WMS&FORMAT=image%2Fgif&STYLES=&HEIGHT=1000&VERSION=1.1.1&SRS=EPSG:25832&WIDTH=1000&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage&BBOX=600000,6000000,1000000,6400000 Panning 1 km north & east returns a image as expexted: http://my_geoserver/geoserver/wms?service=wms&TRANSPARENT=true&LAYERS=ds:mylayer&REQUEST=GetMap&SERVICE=WMS&FORMAT=image%2Fgif&STYLES=&HEIGHT=1000&VERSION=1.1.1&SRS=EPSG:25832&WIDTH=1000&TRANSPARENT=TRUE&EXCEPTIONS=application/vnd.ogc.se_inimage&BBOX=601000,6001000,1001000,6401000 The geoserver log-file (with debug) does not show any different processing for the 2 requests. My environment: RHEL 5, postgresql-8.3.1, tomcat-6.0.16, geoserver-1.6.4a patched with gt2-render-2.4-SNAPSHOT.jar
Hide
Andrea Aime added a comment -

Lars, I need data to reproduce your case. If you want to discuss this, you can also join us on IRC, #geoserver at irc.freenode.net

Show
Andrea Aime added a comment - Lars, I need data to reproduce your case. If you want to discuss this, you can also join us on IRC, #geoserver at irc.freenode.net
Hide
Lars Loldrup added a comment -

Andrea here comes the data (I cannot attach the file):

CREATE TABLE ds.byggesag (
id integer NOT NULL,
geometri public.geometry,
titel character varying,
beskrivelse character varying,
url character varying,
CONSTRAINT enforce_dims_geometri CHECK ((public.ndims(geometri) = 2)),
CONSTRAINT enforce_geotype_geometri CHECK (((public.geometrytype(geometri) = 'POINT'::text) OR (geometri IS NULL))),
CONSTRAINT enforce_srid_geometri CHECK ((public.srid(geometri) = 25832))
);
INSERT INTO byggesag VALUES (1, '0101000020E86400000000000090751C410000008039775741', '2008 test', 'bla bla...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (3, '0101000020E864000000000000DC11264100000080FA965741', 'Raadhus', 'Bernstofftvej 161', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (5, '0101000020E86400000000000090751C410000008039775741', '2008 test2', 'bla2 bla2...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (6, '0101000020E86400000000000090751C410000008039775741', '2008 test3', 'bla3 bla3...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (7, '0101000020E86400000000000090751C410000008039775741', '2008 test4', 'bla4 bla4...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (8, '0101000020E86400000000000090751C410000008039775741', '2008 test5', 'bla5 bla5...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (9, '0101000020E86400000000000090751C410000008039775741', '2008 test6', 'bla6 bla6...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf');
INSERT INTO byggesag VALUES (4, '0101000020E864000000000000DC11264100000080FA965741', 'xadd', 'Bernstofftvej 161 kld.', 'http://xyz.xyz.dk');

CREATE INDEX byggesag_gist_idx ON byggesag USING gist (geometri);

INSERT INTO geometry_columns VALUES ('', 'ds', 'byggesag', 'geometri', 2, 25832, 'POINT');

Show
Lars Loldrup added a comment - Andrea here comes the data (I cannot attach the file): CREATE TABLE ds.byggesag ( id integer NOT NULL, geometri public.geometry, titel character varying, beskrivelse character varying, url character varying, CONSTRAINT enforce_dims_geometri CHECK ((public.ndims(geometri) = 2)), CONSTRAINT enforce_geotype_geometri CHECK (((public.geometrytype(geometri) = 'POINT'::text) OR (geometri IS NULL))), CONSTRAINT enforce_srid_geometri CHECK ((public.srid(geometri) = 25832)) ); INSERT INTO byggesag VALUES (1, '0101000020E86400000000000090751C410000008039775741', '2008 test', 'bla bla...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (3, '0101000020E864000000000000DC11264100000080FA965741', 'Raadhus', 'Bernstofftvej 161', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (5, '0101000020E86400000000000090751C410000008039775741', '2008 test2', 'bla2 bla2...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (6, '0101000020E86400000000000090751C410000008039775741', '2008 test3', 'bla3 bla3...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (7, '0101000020E86400000000000090751C410000008039775741', '2008 test4', 'bla4 bla4...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (8, '0101000020E86400000000000090751C410000008039775741', '2008 test5', 'bla5 bla5...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (9, '0101000020E86400000000000090751C410000008039775741', '2008 test6', 'bla6 bla6...', 'http://www.xyz.dk/Archive-Login/0157-0000743.pdf'); INSERT INTO byggesag VALUES (4, '0101000020E864000000000000DC11264100000080FA965741', 'xadd', 'Bernstofftvej 161 kld.', 'http://xyz.xyz.dk'); CREATE INDEX byggesag_gist_idx ON byggesag USING gist (geometri); INSERT INTO geometry_columns VALUES ('', 'ds', 'byggesag', 'geometri', 2, 25832, 'POINT');
Hide
Andrea Aime added a comment -

Tried it out, could not spot any issue, only one visible point gets renderer in both cases, and it's the correct result. The points above have 6 out of 8 geometries at the same location, and the remaining two have the same location as well.

select id,astext(geometri) from byggesag;
id | astext
---+----------------------
1 | POINT(466276 6151398)
3 | POINT(723182 6183914)
5 | POINT(466276 6151398)
6 | POINT(466276 6151398)
7 | POINT(466276 6151398)
8 | POINT(466276 6151398)
9 | POINT(466276 6151398)
4 | POINT(723182 6183914)
(8 rows)

Your bbox filter BBOX=600000,6000000,1000000,6400000 captures only rows 3 and 4, and only one points appears on the screen in both images, I'm not getting back any blank image...
Tried with both GeoServer 1.7.x series and 1.6.x series. It may be somethign that has been fixed already, don't know. Maybe try out a nightly from: http://gridlock.openplans.org/geoserver/1.6.x/

Show
Andrea Aime added a comment - Tried it out, could not spot any issue, only one visible point gets renderer in both cases, and it's the correct result. The points above have 6 out of 8 geometries at the same location, and the remaining two have the same location as well. select id,astext(geometri) from byggesag; id | astext ---+---------------------- 1 | POINT(466276 6151398) 3 | POINT(723182 6183914) 5 | POINT(466276 6151398) 6 | POINT(466276 6151398) 7 | POINT(466276 6151398) 8 | POINT(466276 6151398) 9 | POINT(466276 6151398) 4 | POINT(723182 6183914) (8 rows) Your bbox filter BBOX=600000,6000000,1000000,6400000 captures only rows 3 and 4, and only one points appears on the screen in both images, I'm not getting back any blank image... Tried with both GeoServer 1.7.x series and 1.6.x series. It may be somethign that has been fixed already, don't know. Maybe try out a nightly from: http://gridlock.openplans.org/geoserver/1.6.x/
Hide
Andrea Aime added a comment -

Closing, got no further feedback from the user.

Show
Andrea Aime added a comment - Closing, got no further feedback from the user.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: