[Qgis-developer] qgis web
Richard Duivenvoorde
rdmailings at duif.net
Sun Feb 13 07:03:34 EST 2011
Mohammed Rashad wrote:
> I am trying to build an online shapefile viewer using qgis as a backend.
> for that i need to render qgis output to a image(.png) file
> I cannot use QgsMapCanvas class because it requires QApplication I
> cannot use any class from qgis_gui
> but qgis_core can be used.
>
>
> QgsVectorLayer * mypLayer = new QgsVectorLayer(myLayerPath,
> myLayerBaseName, myProviderName);
> QgsSingleSymbolRenderer *mypRenderer = new
> QgsSingleSymbolRenderer(mypLayer->geometryType());
> QList<QgsMapCanvasLayer> myLayerSet;
> mypLayer->setRenderer(mypRenderer);
>
> if (mypLayer->isValid())
> {
> cout << "Layer is valid";
> }
> else
> {
> cout << "Layer is NOT valid";
> return;
> }
>
> the following code works for me in Wt. It prints layer is valid or
> invalid according to the parameters to QgsVectorLayer()
> can I set mypLayer->setRenderer of the above code to an image file so
> that rendering occurs on a image file of my choice?
>
> It hope now the problem is clear.Now can you help me?
Nope, sorry I'm not that deep into cpp coding.
But from what you write it seems that you actually want a WMS. So why
not have a look at the mapserver_qgis WMS? This can generate an image
from a given qgis-project file for you. It's also probably interesting
to look into that code https://svn.osgeo.org/qgis/trunk/qgis/src/mapserver/
Actually I'm also wondering if it would be easy to build a mini python
application which:
1) reads a qgs project file (see mapserver export plugin for that)
2) then paints the map on a given hidden mapcanvas of a given size and
bbox (this is the hard part I think?)
3) writes this to an image
Maybe somebody else?
Richard
More information about the Qgis-developer
mailing list