[mapserver-dev] Regression in 5.6.4
Stephen Woodbridge
woodbri at swoodbridge.com
Mon Jul 12 10:25:45 EDT 2010
Lime, Steve D (DNR) wrote:
> I'm confused, is this a 5.6 regression or a 5.6.4 regression?
I have not had time to go through all the versions to figure where this
came in, but I suspect that it is post 5.6.0 as I have had various
version 5.6.x running on different sites without noticing this problem.
-SteveW
> Steve
>
> ________________________________________
> From: mapserver-dev-bounces at lists.osgeo.org [mapserver-dev-bounces at lists.osgeo.org] On Behalf Of Stephen Woodbridge [woodbri at swoodbridge.com]
> Sent: Saturday, July 10, 2010 11:02 AM
> To: mapserver-dev
> Subject: [mapserver-dev] Regression in 5.6.4
>
> I'm not sure when this regression crept in because I'm converting a lot
> of older apps over to use 5.6.4. But on 5.2.2 I could draw a layer with
> NullShape items in a shapefile without a problem and on 5.6.4 it dies
> with a general error message.
>
> msDrawMap(): Image handling error. Failed to draw layer named 'Linear
> Water'. msDrawShape(): General error message. Only polygon or line
> shapes can be drawn using a line layer definition.
>
> In general, since mapserver is designed for drawing data and not
> validating it or being a GIS system in general. I think we should just
> step over these records. If we want to be more helpful AND the user has
> DEBUG truned on than it would be helpful to say what file and what
> record is a NullShape.
>
> I have a huge tileindex that I converted to script like:
> # shpdump ./afghanistan_p/major_roads/aflw | grep Shape:
> with 128 files and anyones guess on the number of records.
>
> woodbri at carto:/u/data/leaddog$ dbfdump tidx-lw.dbf > bbb
> woodbri at carto:/u/data/leaddog$ vi bbb
> woodbri at carto:/u/data/leaddog$ sh bbb | grep -v Arc
> Shape:0 (NullShape) nVertices=0, nParts=0
> Shape:1 (NullShape) nVertices=0, nParts=0
>
> Here is a patch that seems to fix this:
>
> woodbri at carto:/u/software/mapserver-5.6.4$ diff -Naur mapdraw.c
> mapdraw.c-orig
> --- mapdraw.c 2010-07-10 11:53:17.000000000 -0400
> +++ mapdraw.c-orig 2010-07-10 11:57:27.000000000 -0400
> @@ -964,7 +964,7 @@
> while((status = msLayerNextShape(layer, &shape)) == MS_SUCCESS) {
>
> shape.classindex = msShapeGetClass(layer, &shape,
> map->scaledenom, classgroup, nclasses);
> - if((shape.type == MS_SHAPE_NULL) || (shape.classindex == -1) ||
> (layer->class[shape.classindex]->status == MS_OFF)) {
> + if((shape.classindex == -1) ||
> (layer->class[shape.classindex]->status == MS_OFF)) {
> msFreeShape(&shape);
> continue;
> }
>
>
> http://trac.osgeo.org/mapserver/ticket/3487
>
> -Steve W
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
More information about the mapserver-dev
mailing list