Opened 21 years ago

Closed 21 years ago

#275 closed defect (fixed)

HTML Legend Color does not match layer color in Mapfile / Map

Reported by: dlowther@… Owned by: dmorissette
Priority: high Milestone:
Component: GDAL Support Version: 4.0
Severity: normal Keywords:
Cc:

Description

URL is under development and may change. I will save current state so I can 
reporduce this as necessary. I will be glad to test solutions, but can only do 
so from nightly win32 binaries.

Mapfile:

#
# Start of map file
#
NAME OKSTATE
STATUS ON
SIZE 500 400
EXTENT -633771.227805 1060738.573036 152927.340425 1689379.870746 
UNITS METERS
SHAPEPATH "../data"
FONTSET fonts.list
IMAGECOLOR 255 255 255
SYMBOLSET "symbolset.list"

OUTPUTFORMAT
  NAME gif
  DRIVER "GD/GIF"
  MIMETYPE "image/gif"
  IMAGEMODE PC256
  #EXTENSION "gif"
END

IMAGETYPE gif

#
PROJECTION # ALBERS OK -all drg's and doqq's on geo site are OK ALBERS
	proj=aea
	lat_1=29.500000000 #SP1
	lat_2=45.500000000 #SP2
	lat_0=23.000000000 #REF LAT
	lon_0=-96.000000000 #CENTRAL MERIDIAN
	x_0=0.000 #FALSE EAST
	y_0=0.000 # FALSE NORTH
	datum=NAD83
	ellps=GRS80
	no_defs
END

WEB
	EMPTY "http://129.15.172.20/geomap/OKSTATE/mapOKSTATEnorecords.htm"
	TEMPLATE "http://129.15.172.20/geomap/OKSTATE/mapOKSTATEmap.htm"
	MAXSCALE 4460025.787354 
	IMAGEPATH "e:\inetpub\wwwroot\tmp\"
	IMAGEURL "/tmp/"
	#METADATA
	#	"wms_title" "TESTOK"
	#	"wms_onlineresource" "http://129.15.172.20/cgi-bin/mapserv.exe?
map=e:\inetpub\wwwroot\geohome\geomap\okstate\mapOKSTATE.map"
	#	"wms_srs" "EPSG:4269 EPSG:4326"
	#END
END

SCALEBAR
	IMAGECOLOR 255 255 255
	LABEL
		COLOR 255 255 255
		SIZE small
	END
	STYLE 1
	SIZE 200 5
	COLOR 255 255 255
	UNITS MILES
	INTERVALS 2
	TRANSPARENT TRUE
	STATUS TRUE
END

LEGEND
	STATUS ON
	KEYSIZE 18 12
	TRANSPARENT on
	LABEL
		TYPE BITMAP
		SIZE MEDIUM
		COLOR 0 0 89
	END
	TEMPLATE "mapOKSTATEhtmllegend.htm"
END
 

##############
### LAYERS ###
##############


### PRECINCTS ###
LAYER
	NAME pct_poly
	GROUP "Administrative Boundaries"
	TYPE LINE
	STATUS ON
	DATA pc
	PROJECTION #GEOGRAPHIC NAD83
		proj=longlat
		ellps=GRS80 
		no_defs 
	END
	TEMPLATE "IDPrecinct.html"
	CLASS
		MAXSCALE 100000
		STYLE
			SYMBOL "line"
    		COLOR 255 0 0
			SIZE 4
		END
	END
	CLASS
		MINSCALE 100001
		NAME "Precincts"
		STYLE
			SYMBOL "line"
	    	COLOR 255 0 0
			SIZE 1
		END
	END
	METADATA
		"DataLayersID" "8"
		"wms_group_title" "Administrative Boundaries"
		"wms_title" "Precincts"
		legend_order "20"
	END
END

END
# Map File

and HTML Legend template:

[leg_group_html]
		</td>
	</tr>
	<tr>
		<td colspan=5>&nbsp;<span class=legendtextbold>[leg_group_name]
</span></td>
	</tr>
[/leg_group_html]
[leg_layer_html opt_flag=15 order_metadata=legend_order]
<!--		</td>
	</tr>-->
	<tr>
		<td valign=top align=center>
			<input type=checkbox name=layer value=[leg_layer_name] 
[if name=layer_status value=1]CHECKED[/if]>
		</td>
	[if name=layer_type value=4] <!--Annotation-->
		<td colspan=2 nowrap><img src=images/spacer.gif width=82 
height=1><span class=legendtext>[metadata name=wms_title]</span></td>
	[/if]		
	[if name=layer_type oper=neq value=4]
		<td valign=top nowrap>
			<input type=radio name=idlayer value=[leg_layer_name]  
onclick=SetQ2Radio()>
		</td>
	[/if]
		<td nowrap valign=top>
	[if name=layer_type value=3]
		[if name=DataLayersID oper=isset]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<a class=BlueTableLinks href=http://129.15.172.20/cgi-
bin/redesign.cgi?ft=db&template=DataLayer.htm&DataLayersID=[metadata 
name=DataLayersID] target=DataInfo>[metadata name=wms_title]</a><br>
		[/if]
		[if name=DataLayersID oper=isnull]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<span class=legendtext>[metadata name=wms_title]</span><br>
		[/if]
	[/if]
			
[/leg_layer_html]
<!-- Layer Type: 0=POINT, 1=LINE, 2=POLYGON, 3=RASTER, 4=ANNOTATION, 5=QUERY, 
6=CIRCLE -->
[leg_class_html opt_flag=15]
	[if name=layer_type oper=eq value=0]	<!-- LayerType=Point -->
		[if name=DataLayersID oper=isset]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<a class=BlueTableLinks href=http://129.15.172.20/cgi-
bin/redesign.cgi?ft=db&template=DataLayer.htm&DataLayersID=[metadata 
name=DataLayersID] target=DataInfo>[leg_class_name]</a><br>
		[/if]
		[if name=DataLayersID oper=isnull]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<span class=legendtext>[leg_class_name]</span><br>		
		[/if]
	[/if]
	[if name=layer_type oper=eq value=1] <!-- LayerType=Line -->		
		
		[if name=DataLayersID oper=isset]
			<img src=[leg_icon width=40 height=5]
>&nbsp;&nbsp;&nbsp;<a class=BlueTableLinks href=http://129.15.172.20/cgi-
bin/redesign.cgi?ft=db&template=DataLayer.htm&DataLayersID=[metadata 
name=DataLayersID] target=DataInfo>[leg_class_name]</a><br>
		[/if]
		[if name=DataLayersID oper=isnull]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<span class=legendtext>[leg_class_name]</span><br>
		[/if]
	[/if]
	[if name=layer_type oper=eq value=2] <!-- LayerType=Polygon-->
		[if name=DataLayersID oper=isset]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<a class=BlueTableLinks href=http://129.15.172.20/cgi-
bin/redesign.cgi?ft=db&template=DataLayer.htm&DataLayersID=[metadata 
name=DataLayersID] target=DataInfo>[leg_class_name]</a><br>
		[/if]
		[if name=DataLayersID oper=isnull]
			<img src=[leg_icon width=40 height=10]
>&nbsp;&nbsp;&nbsp;<span class=legendtext>[leg_class_name]</span><br>
		[/if]
	[/if]

[/leg_class_html]

Change History (3)

comment:1 by dlowther@…, 21 years ago

Daniel said to try this:

Can you edit the following lines around line 835 in mapgd.c, inside function 
msDrawLineSymbolGD():

  if(style->backgroundcolor.pen == MS_PEN_UNSET) msImageSetPenGD(img, &(style-
>backgroundcolor));
  if(style->outlinecolor.pen == MS_PEN_UNSET) msImageSetPenGD(img, &(style-
>outlinecolor));
  if(style->color.pen == MS_PEN_UNSET) msImageSetPenGD(img, &(style->color));

... and change them to:

 msImageSetPenGD(img, &(style->backgroundcolor));  msImageSetPenGD(img, &(style-
>outlinecolor));  msImageSetPenGD(img, &(style->color));

comment:2 by dmorissette, 21 years ago

Cc: warmerdam@… added
This may be related to bug 276

comment:3 by sdlime, 21 years ago

Resolution: fixed
Status: newclosed
This is related to 276, but is not identical. Just fixed this one tonite by
reseting pen values prior to drawing legend icons.
Note: See TracTickets for help on using tickets.