Using MapServer as a C/C++ library

Brian Peschel brianp at OCCINC.COM
Mon Jan 2 08:08:18 EST 2006


I originally posted this on the USER list, but it was suggested I also post
this to the DEV list, so.....
[start original post]
So I am curious about using MapServer inside an existing C++ program.  A
previous query about this suggested I shell out to the OS and call shp2image
to create the image which I could then read in.  Shelling to the OS is not
my prefered way of doing anything (there are limitations in the C system()
call I would prefer to avoid).  So, I would rather use MapServer as a
library call.

Looking at the makefile generated by MapServer, I see that the CGI program
can be compiled as a library (the shp2img program uses a static library
version), so that should work for me.

Looking at the PHP/MapScript documentation
(http://mapserver.gis.umn.edu/docs/reference/phpmapscript-class) and the
code for shp2img, I see how the mapObj is created which creates an imageObj
which writes out to a file.  I could (I suppose) write out to a file and use
GD to read the file back in to I can get access to the pixels for my
display.  I would prefer to skip the write to file/read the file part for speed.

Is there another reference on the classes I am missing?  The online docs
don't seem to give an indication of what the actual classes do, just methods
in the classes.  Is there a better place to look for this?  Is this more of
a question for the DEV list rather than the USER list?

I haven't actually installed MapScript itself.  From the Readme in the
MapServer download, it says it is a module, and does not list C or C++ as a
language it supports.
[end original post]

The one suggestion I saw was to try to use the SWIG mapserver interface and
write my own wrapper.  This may be more than I can bite off in a short
period of time.  It might be easier (for me, not for the community) to just
create the library version of MapServer and do what I need by looking at the
headers and the couple of examples that ship with the executable.

Thanks in advance for any help...

- Brian



More information about the mapserver-dev mailing list