Increase Clarity of WMS

Kyle Mulka mulka at UMICH.EDU
Tue Apr 4 13:04:55 EDT 2006


Would I have to get exactly the correct scale before mapserver touches 
the file, or would it still improve quality if I got it close. Would I 
need to do this for each Google zoom level and use mapservers minscale 
and maxscale?

-- 
Kyle Mulka
http://www.kylemulka.com/


Quoting Ed McNierney <ed at topozone.com>:

> Kyle -
>
> I was looking at images like this one:
>
> http://maps.kylemulka.com/imagemagick/floorplans/tiles/dude-1-1-5.png
>
> The image itself is indeed 256x256, but your MapServer WMS request is
> asking for a source area much larger than 256x256 to be rendered into a
> 256x256 image.  The image quality degradation is coming from asking
> MapServer to resample the source images to a lower output resolution.
> You can get better quality resampling by using a (slower) tool to
> preprocess the images.
>
> 	- Ed
>
> Ed McNierney
> President and Chief Mapmaker
> TopoZone.com / Maps a la carte, Inc.
> 73 Princeton Street, Suite 305
> North Chelmsford, MA  01863
> Phone: +1 (978) 251-4242
> Fax: +1 (978) 251-1396
> ed at topozone.com
>
> -----Original Message-----
> From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU] On
> Behalf Of Kyle Mulka
> Sent: Tuesday, April 04, 2006 2:09 AM
> To: MAPSERVER-USERS at LISTS.UMN.EDU
> Subject: Re: [UMN_MAPSERVER-USERS] Increase Clarity of WMS
>
> I'm pretty sure that all the tile images are in fact 256x256 and are
> being rended that way by the browser. Do have a specific example of one
> that's not like? Either generated by the javascript, or a tile in that
> folder? Tools->Page Info->Media in Firefox will tell you what images are
> currently loaded, including those loaded dynamically with javascript.
>
> I'm thinking that I might have to use Google Maps itself to do
> georeferencing. That way I can limit, or even eliminate the amount of
> scaling and resampling that mapserver has to do. I'll give it a try next
> week when I have some time. If someone has already done some
> georeferencing with Google Maps and mapsever, let me know.
>
> Thanks,
>
> -Kyle
>
> Ed McNierney wrote:
>
>> Kyle -
>>
>> Well, if you increase the WIDTH and HEIGHT to 512 it will certainly
>> look better - and larger!
>>
>> You are taking a relatively large image and asking MapServer to shrink
>> it down for you for display.  I haven't time to decipher all the
>> JavaScript in there, but I suspect your "simply chopping up tiles using
>
>> ImageMagick" example is actually generating HTML that tells the client
>> browser to stuff an oversized PNG into a smaller IMG tag.  Your
>> individual image tiles (from the floorplans/tiles/ directory) are
>> actually much larger images than your
>> http://maps.kylemulka.com/imagemagick/livedude.php displays.  Each
>> individual tile is 512x512 pixels, but your final output image is much
>> smaller than that.
>>
>> As a result, the quality of the output image may depend heavily on the
>> browser being used.  I think those 512x512 tiles are being displayed in
>
>> IMG tags with HEIGHT and WIDTH properties set to a smaller value.  The
>> browser then squishes the images into the IMG space available.
>>
>> The image you're using is almost a worst-case scenario for MapServer.
>> It's essentially a vector drawing that's been scanned as a raster
> image.
>> You've got lots of thin lines that easily appear and disappear at
>> different scale levels, depending on how the image is resampled.
>>
>> If you're going to use scanned line art in MapServer, you'll get the
>> best results by producing high-quality resampled versions (ImageMagick
>> is fine) at each specific scale/zoom level you'll want to use.  Then
>> force the user to only use one of your preselected zoom levels.  Make
>> sure that each image - when displayed - ends up exactly the same size
>> as the original image on your server.
>>
>> 	- Ed
>>
>> Ed McNierney
>> President and Chief Mapmaker
>> TopoZone.com / Maps a la carte, Inc.
>> 73 Princeton Street, Suite 305
>> North Chelmsford, MA  01863
>> ed at topozone.com
>> (978) 251-4242
>>
>> -----Original Message-----
>> From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]
>> On Behalf Of Kyle Mulka
>> Sent: Monday, April 03, 2006 7:30 AM
>> To: MAPSERVER-USERS at LISTS.UMN.EDU
>> Subject: Re: [UMN_MAPSERVER-USERS] Increase Clarity of WMS
>>
>> Here's one of the WMS tiles I'm using. I've tried stretching it using
>> different values for the height and width but nothing I've tried has
>> made it look better or worse.
>> http://kylemulka.com/cgi-bin/mapserv?map=floorplans.map&REQUEST=GetMap&
>> S
>> ERVICE=WMS&VERSION=1.1.1&LAYERS=dude-1&STYLES=&BGCOLOR=0xFFFFFF&TRANSPA
>> R
>> ENT=TRUE&SRS=EPSG:4326&BBOX=-83.7158203125,42.2905166207974,-83.7144470
>> 2
>> 148438,42.291532494305976&WIDTH=256&HEIGHT=256
>>
>> -Kyle
>>
>> Josh Livni wrote:
>>
>>
>>> Kyle,
>>>
>>> I could be wrong -- I haven't used a mapserver wms in Google Maps -
>>> but I think your mapserver image may be being squashed a bit.  It's a
>>> bit less wide relative to the height/width of your Imagemagick
>>> version. Also the gmap div seems to be a different height/width in the
>>>
>>>
>>
>>
>>
>>> different versions.
>>>
>>> WMS will happily respond with the exact extent, but perhaps not the
>>> relative height/width you expect, thus 'squashing' the image, which
>>> may be causing the image issues you're seeing.
>>>
>>> You may want to play with this by adding a &height &width to the wms
>>> query, or you could try playing with the div height/width ratios, and
>>> seeing if you get similar results if one is a bit off, as I may be
>>> off-base with this theory.
>>>
>>>  -Josh
>>>
>>> Kyle Mulka wrote:
>>>
>>>
>>>
>>>> I have these very detailed floor plans that I'd like to georeference
>>>> and display through mapserver's WMS sever, however, the clarity of
>>>> the images degrades when it goes through. How can I increase the
>>>> clarity of these floorplans through the WMS?
>>>>
>>>> Here's with mapserver:
>>>> http://maps.kylemulka.com/floorplan-test10.php
>>>>
>>>> Here's without (simply chopping up tiles using Imagemagick)
>>>> http://maps.kylemulka.com/imagemagick/livedude.php
>>>>
>>>> Here's the parts of the map file for just the first floor:
>>>> MAP
>>>> NAME "UofM"
>>>>  FONTSET fontset.txt
>>>>  PROJECTION
>>>>      "init=epsg:4326"
>>>>  END
>>>> IMAGETYPE png24
>>>> EXTENT  -83.747063 42.272038 -83.709126 42.297056 SHAPEPATH
>>>> "/umdata/"
>>>> LAYER
>>>>  NAME "dude-1"
>>>>  TYPE raster
>>>>  DATA "dude1.tif"
>>>>  PROCESSING "RESAMPLE=AVERAGE"
>>>>  PROCESSING "DITHER=YES"
>>>>    METADATA
>>>>      "wms_title" "dude-1"
>>>>      "wms_onlineresource"
>>>> "http://kylemulka.com/cgi-bin/mapserv?map=floorplans.map&"
>>>>      "wms_srs" "EPSG:4326"
>>>>  END
>>>>  STATUS ON
>>>> END
>>>> END
>>>>
>>>> -Kyle
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>



More information about the mapserver-users mailing list