[Geomoose-users] Printing wms layers

Bistrais, Bob Bob.Bistrais at maine.gov
Fri Dec 9 12:03:25 EST 2011


I THINK I've managed a workaround, or at least something that seems to
give me better results.  This was done by editing the print_util.php
file.  There are two lines which invoke the ImageCopyMerge command.
With a bit of research on the PHP forums, I found that this command is
problematic for some.  The workaround is to use the ImageCopy command
instead.  

 

So instead of:

ImageCopyMerge($printImage, $image, 0, 0, 0, 0, $mapImageWidth,
$mapImageHeight, (float)$opacities[$i]);

 

Replace with:

ImageCopy($printImage, $image, 0, 0, 0, 0, $mapImageWidth,
$mapImageHeight);

 

With this patch, my alpha channels are no longer black, but transparent.
The PDF output is still a bit fuzzy.  We already know that PHP's PDF
output is less than ideal, but at least I'm getting a hardcopy output
that is usable.

 

Many thanks to everyone for their input, it helped point me in the
direction I needed to find this workaround.  I hope the above will help
others having the same problem.

 

Bob

 

________________________________

From: geomoose-users-bounces at lists.osgeo.org
[mailto:geomoose-users-bounces at lists.osgeo.org] On Behalf Of Dan Little
Sent: Tuesday, November 29, 2011 4:39 PM
To: Bistrais, Bob; TC Haddad; geomoose-users at lists.osgeo.org
Subject: Re: [Geomoose-users] Printing wms layers

 

This is a 2.2 install, right?

	 

	
________________________________


	From: "Bistrais, Bob" <Bob.Bistrais at maine.gov>
	To: Dan Little <danlittle at yahoo.com>; TC Haddad
<tchaddad at gmail.com>; geomoose-users at lists.osgeo.org 
	Sent: Tuesday, November 29, 2011 3:34 PM
	Subject: RE: [Geomoose-users] Printing wms layers

	Yeah, it's driving me up the wall.  I've made sure to set an
imagecolor and transparent on, on the WMS server.  But something's
getting lost on the print side, since the image looks normal on the app.

	 

	
________________________________


	From: geomoose-users-bounces at lists.osgeo.org
[mailto:geomoose-users-bounces at lists.osgeo.org] On Behalf Of Dan Little
	Sent: Tuesday, November 29, 2011 2:51 PM
	To: Bistrais, Bob; TC Haddad; geomoose-users at lists.osgeo.org
	Subject: Re: [Geomoose-users] Printing wms layers

	 

	The composite print image is a JPEG but the request coming in
should be a JPG.  If you've got no background fill it *might* be filling
black instead of white but I'd bet there is still an alpha problem.

		 

		
________________________________


		From: "Bistrais, Bob" <Bob.Bistrais at maine.gov>
		To: Dan Little <danlittle at yahoo.com>; TC Haddad
<tchaddad at gmail.com>; geomoose-users at lists.osgeo.org 
		Sent: Tuesday, November 29, 2011 1:50 PM
		Subject: RE: [Geomoose-users] Printing wms layers

		OK, I uppercased that, still getting the black alpha
channel.  But here's something interesting.  Looking at the response
URL:

		 

	
http://localhost/broadband/php/download.php?id=print_13225959874924&ext=
jpg

		 

		 

		-Notice that the URL ends with ext=jpg.  So it looks
like I'm getting a jpeg even though I think I'm asking for png.

		 

		
________________________________


		From: geomoose-users-bounces at lists.osgeo.org
[mailto:geomoose-users-bounces at lists.osgeo.org] On Behalf Of Dan Little
		Sent: Tuesday, November 29, 2011 2:40 PM
		To: Bistrais, Bob; TC Haddad;
geomoose-users at lists.osgeo.org
		Subject: Re: [Geomoose-users] Printing wms layers

		 

		You may need to have "format" all-capsed "FORMAT".  This
is a OpenLayers thing...

			 

			
________________________________


			From: "Bistrais, Bob" <Bob.Bistrais at maine.gov>
			To: Dan Little <danlittle at yahoo.com>; TC Haddad
<tchaddad at gmail.com>; geomoose-users at lists.osgeo.org 
			Sent: Tuesday, November 29, 2011 1:36 PM
			Subject: RE: [Geomoose-users] Printing wms
layers

			Hi Tanya, Dan, and everyone,

			 

			In mapbook.xml, I do have the format param set
to image/png, for those WMS layers which I want to have the Alpha
channels in.  That's in the parameters, but the URL itself is just the
path to the server, such as this:

			 

			      <map-source name="base-vector" type="wms"
tiled="false" projection='EPSG:26919'>

	
<url>http://mapservertest.maine.gov/wms/mapserv.exe</url>

			                        <layer name="Roads"
queryable="false"/>

			                        <layer name="Boundaries"
queryable="false"/>

			                        <param name="map"
value="c:/wms/basemapNew.map"/>

			                        <param name="format"
value="image/png"/>        

			                        <param
name="TRANSPARENT" value="TRUE"/>            

			                <param name="STYLES" value=""/>

			        </map-source>

			 

			 

			As far as I can tell, that's the correct format,
but if anyone sees anything out of place, or wants to try that WMS
service, please feel free to do so.  As I mentioned, I have full control
over that WMS service as well, so I can make adjustments there, too.

			 

			
________________________________


			From: geomoose-users-bounces at lists.osgeo.org
[mailto:geomoose-users-bounces at lists.osgeo.org] On Behalf Of Dan Little
			Sent: Tuesday, November 29, 2011 1:32 PM
			To: TC Haddad; geomoose-users at lists.osgeo.org
			Subject: Re: [Geomoose-users] Printing wms
layers

			 

			Odd, any "param"s tags should get applied.

			 

			having:

			 

			<param name="FORMAT">image/png</param> 

			 

			Should force the image to print as image/png,
keeping the alpha channel.

			 

				 

				
________________________________


				From: TC Haddad <tchaddad at gmail.com>
				To: "geomoose-users at lists.osgeo.org"
<geomoose-users at lists.osgeo.org> 
				Sent: Wednesday, November 23, 2011 4:45
PM
				Subject: Re: [Geomoose-users] Printing
wms layers

				Yeah the point is that if you don't
specify:
				
				format=image/png
				
				in the WMS URL, then the print script
will form a url for you that includes the default value:
				
				format-image/jpeg
				
				and this is bad for your print job
because JPEG doesn't support transparency.
				
				The server is just delivering what the
URL is asking it to...
				
				Tanya

				On Wed, Nov 23, 2011 at 2:41 PM, Bob
Basques <Bob.Basques at ci.stpaul.mn.us> wrote:

				JPEG may be a catch all since Aerial
photos look best as JPEG. 

				 

				As far as the FORMAT= piece, I know that
our WMS serves in 7 different response formats.  Two different PNG
formats. 

				 

				bobb 

				 

				
				
				>>> TC Haddad <tchaddad at gmail.com>
wrote:

Bob,

does the actual WMS url have the "Format=" specified? even though you
have set it to respond in PNG?

because if not, it looks like the print_util.php will force it to
default to JPEG (line 112-ish)

On Wed, Nov 23, 2011 at 2:25 PM, Jim Klassen <klassen.js at gmail.com>
wrote:

	MapServer uses AGG by default in 6.x and as an option in 5.x. 

	 

	The print.php script in GeoMoose uses GD (via PHP bindings) and
is independent of MapServer. (Recall not all layers in a GeoMoose site
have to come from MapServer.)

	 

	On Nov 23, 2011, at 16:20, TC Haddad <tchaddad at gmail.com> wrote:

	 

		dumb question:
		
		Is GD really being used? I thought it was replaced (in
Mapserver) in favor of AGG a while back...
		
		Tanya

		On Wed, Nov 23, 2011 at 1:58 PM, Jim Klassen
<klassen.js at gmail.com> wrote:

			Why is because it isn't the proper resolution or
aspect ratio for printing. 

			 

			Why it renders different is because in GeoMoose
the browser does the image compositing. In the print utility there is no
browser so the GD library needs to handle it. Why not print from the
browser? Because not all browsers print the same and mans don't handle
printing the composited images correctly. In any case high res prints
(think plotter) would be out of the question.

			 

			
			On Nov 23, 2011, at 14:27, "Bistrais, Bob"
<Bob.Bistrais at maine.gov> wrote:

			 

				I copied over the new function and
function call in print_util.php. I get what's going on there- it's
"cutting out" the black portions of the image, but I'm still getting
these in the printable image. 

				 

				One thing I don't understand (and the
answer is probably not so simple)- the map is looking exactly as I'd
like in the application- why aren't we grabbing that image and coping it
to the output map file? 

				 

				
________________________________


				From:
geomoose-users-bounces at lists.osgeo.org
[mailto:geomoose-users-bounces at lists.osgeo.org] On Behalf Of Brent
Fraser
				Sent: Wednesday, November 23, 2011 11:33
AM
				To: Bistrais, Bob
				Cc: geomoose-users at lists.osgeo.org
				Subject: Re: [Geomoose-users] Printing
wms layers 

				 

				Bob,
				
				I did a fix some time ago
(http://geomoose.org/trac/ticket/108) regarding using the alpha channel
in Print_util.php. This fix is in GeoMoose v2.4 so I'm confused...

				  

				Best Regards,

				  

				  

				Brent Fraser

				  

				
				On 11/23/2011 9:27 AM, Bistrais, Bob
wrote: 

				It sure looks like a problem with the
alpha channels. Doesn't seem to matter which browser I use, either. 

				 

				
________________________________


				From: Jim Klassen
[mailto:klassen.js at gmail.com]
				Sent: Wednesday, November 23, 2011 10:43
AM
				To: Bistrais, Bob
				Cc: Bob Basques;
<geomoose-users at lists.osgeo.org <mailto:geomoose-users at lists.osgeo.org>
>
				Subject: Re: [Geomoose-users] Printing
wms layers 

				 

				If the quality is different between PNG
and GIF you are probably using PNG24 (as PNG8 and GIF should be
identical image wise). 

				 

				My guess is a GD bug dealing with PNG24.
I'm not sure what your options are, but it sounds like the print.php
needs to be rewritten with a more modern library. 

				
				On Nov 23, 2011, at 9:11, "Bistrais,
Bob" <Bob.Bistrais at maine.gov> wrote: 

				Looks like I'm using png. 

				 

				One thing I tried was to use gif in the
mapbook.xml, for those WMS layers, but while they displayed alright, the
quality was awful. 

				 

				
________________________________


				From: Bob Basques
[mailto:Bob.Basques at ci.stpaul.mn.us]
				Sent: Wednesday, November 23, 2011 10:05
AM
				To: geomoose-users at lists.osgeo.org;
Bistrais, Bob
				Subject: RE: [Geomoose-users] Printing
wms layers 

				 

				What version of PNG, PNG8 PNG24, etc.  

				 

				bobb  

				 

				
				
				>>> "Bistrais, Bob"
<Bob.Bistrais at maine.gov> wrote: 

Yes, the WMS is outputting PNG. What would be recommended instead?  

 

________________________________

From: Bob Basques [mailto:Bob.Basques at ci.stpaul.mn.us]
Sent: Tuesday, November 22, 2011 4:54 PM
To: geomoose-users at lists.osgeo.org; Bistrais, Bob
Subject: Re: [Geomoose-users] Printing wms layers  

 

Something to look at . . .  

 

What is the format of the images from the WMS service?  

 

PNG24 vs other PNG formats have caused problem in cross browser
situations. Some versions of IE don't like one or the other for example.


 

bobb  

 



>>> "Bistrais, Bob" <Bob.Bistrais at maine.gov> wrote:  

I had brought up this question before but it seems to be happening
again. I have a few layers that I consume in GeoMoose by WMS. Some of
these are vecot line layers such as roads. They work perfectly in
GeoMoose map view. But when I compose a printable map, these layers have
a black background which obscures other layers and just plain looks
ugly. If I set the "transparent" property to false, the black background
goes away, but then I can't see any underlying data. 

 

By the way, I do have control over the WMS services in this case. I
tried to set Offsite to 0 0 0, but that didn't seem to help either. The
WMS is at MapServer 6.0.1. Any suggestions?  

				 

	
_______________________________________________
				Geomoose-users mailing list
				Geomoose-users at lists.osgeo.org
	
http://lists.osgeo.org/mailman/listinfo/geomoose-users 

				 

				 

				 

				  

	
_______________________________________________

				  

				  

				Geomoose-users mailing list

				  

				  

				Geomoose-users at lists.osgeo.org
<mailto:Geomoose-users at lists.osgeo.org> 

				  

				  

	
http://lists.osgeo.org/mailman/listinfo/geomoose-users
<http://lists.osgeo.org/mailman/listinfo/geomoose-users> 

				  

				  

				> 

				  

				Geomoose-users mailing list

				  

				  

				Geomoose-users at lists.osgeo.org
<mailto:Geomoose-users at lists.osgeo.org> 

				  

				  

	
http://lists.osgeo.org/mailman/listinfo/geomoose-users
<http://lists.osgeo.org/mailman/listinfo/geomoose-users> 

				  

				  

	
_______________________________________________
				Geomoose-users mailing list
				Geomoose-users at lists.osgeo.org
	
http://lists.osgeo.org/mailman/listinfo/geomoose-users

			
			_______________________________________________
			Geomoose-users mailing list
			Geomoose-users at lists.osgeo.org
	
http://lists.osgeo.org/mailman/listinfo/geomoose-users

		 

		_______________________________________________
		Geomoose-users mailing list
		Geomoose-users at lists.osgeo.org
		http://lists.osgeo.org/mailman/listinfo/geomoose-users

 

				 

				
	
_______________________________________________
				Geomoose-users mailing list
				Geomoose-users at lists.osgeo.org
	
http://lists.osgeo.org/mailman/listinfo/geomoose-users

			 

		 

	 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/geomoose-users/attachments/20111209/12b20626/attachment-0001.html


More information about the Geomoose-users mailing list