[Mapserver-users] help with python mapscript (no image)

Sean Gillies sgillies at frii.com
Tue Dec 30 10:58:48 PST 2003


Cristoph,

Glad to help.  There are more tips about using Python MapScript at

http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?PythonMapScript

I'm using mod_python as well.  Maybe you'd be interested in
sharing notes about it on the Wiki site?

The advantage to using a string's join method is that it makes for
more readable and maintainable code.  Another good alternative is
this type of statement

     filename = '%s.%s' % (myMap.name, myImg.format.extension)

cheers,
Sean

On Tuesday, December 30, 2003, at 11:38  AM, Christoph Spoerri wrote:

> Hi Sean,
>
> thanks for your help. The code and comments you sent were very 
> usefull. I had
> to changed the code a bit to make it work, but I saw that you had to 
> save the
> map image explicit to a file (w/ name) set the URL appropriately. With 
> the
> PHP mapscript this is done for you.
>
> Thanks for your help!
> Christoph
>
> BTW. is there an advantage to using join() than using '+' to append 
> strings?
>
> On Tuesday 30 December 2003 12:38 pm, Sean Gillies wrote:
>> Hi Cristoph,
>>
>> Are you using 4.0.1?  If not, I strongly recommend that you download
>> and build MapServer 4.0.1.
>>
>> I'll try to explain the right way to do this with a little script:
>>
>>      # I'm pretty sure that import * is safe, but not 100% sure
>>      from mapscript import mapObj
>>      import os
>>
>> 	# Create map instance
>>      myMap = mapObj('/var/www/htdocs/mapserver/obis_test/testing.map')
>>
>>      # Draw map.  The resulting image acquires 'imagepath' and
>>      # 'imageurl' attributes from myMap and also acquires a 'format'
>>      # that is the same as the selected format of myMap, in this
>>      # case the built-in 'PNG24' format as defined in your map file
>>      mapImg = myMap.draw()
>>
>>      # Save image to the imageurl location using a filename formed
>>      # from the map name and the output format extension, result
>>      # in your case will be 'PYDEMO.png'
>>      imagename = '.'.join((myMap.name, mapImg.format.extension))
>>      mapImg.save(os.path.join(mapImg.imageurl, imagename))
>>
>> The IMAGEURL is a directory name.  It's not really required for a
>> Python MapScript app like it is with the mapserv CGI, but it remains
>> useful.
>>
>> Hope this helps, cheers,
>> Sean
>>
>>
--
Sean Gillies
sgillies at frii dot com
http://users.frii.com/sgillies




More information about the MapServer-users mailing list