Hi,
gettig back to this 4 week old thread, slightly on the dev side now
but since it was started on Mapnik-users and I'm not subscribed to
anything else, I'll just continue here:
Dave Stubbs wrote:
> Mapnik will always produce the image at the size you specify, the
> actual geographic area covered will be automatically adjusted to fit
> by either increasing the bbox height or width. ie: the geo bbox's
> aspect ratio is made to fit the image's. You should end up with the
> area you requested centred on the image.
The WMS specification mandates that in a situation where the geographic
area requested doesn't (after projection) have the same aspect ratio as
the given width/height, the server must still return exactly the
geographic area, stretched or shrunk to fit the width/height.
I'm implementing a WMS with mapnik and found it difficult to deal with
this. I have looked at the "OGC server" code (a Python/FastCGI based WMS
included with Mapnik) and found nothing obvious where the code handles
this issue so I *assume* - please correct me if I'm wrong - that it
doesn't comply to this aspect of the spec. (I didn't yet manage to get
OGC server to run on my machine otherwise I would just have tested it
myself.)
It is not a hugely important thing since most WMS clients will only ever
request a geo bbox that matches the given width/height, but if I have to
implement a standard then I want to do it properly and not end up being
told that the UMN mapserver is still better than mine.
The workflow in my WMS server would probably have to be like this:
1. ask mapnik to render map
2. find out what geographic area mapnik has really included (as opposed
to what was requested)
3. cut the extra stuff off of the resulting bitmap
4. scale remainig bitmap to fill requested area
I'm currently unsure how to do 2, 3, and 4.
I assume that there must be some info structure I could use to achieve 2.
I currently use the agg renderer to produce an output image of type
Image32; am I right in assuming that this is a special Mapnik image type
for which there are no standard bitmap operations like cutting and
stretching? That would leave me with the options of either converting it
to an ImageMagick or GD compatible structure and use the processing
methods available there; or I could perhaps switch to using the cairo
renderer which would probably allow me to let cairo do the work for me.
Feel free to ignore my babbling, I'll just plod on and see where I get,
but if you have any comments on what I'm up to, I'd be glad to hear them.
Bye
Frederik
--
Frederik Ramm ## eMail [EMAIL PROTECTED] ## N49°00'09" E008°23'33"
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users