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