[mapserver-users] How to create a chart layer from a php function

Sandra Liliana Moreno s.lilianamoreno at gmail.com
Fri Oct 3 15:43:35 EDT 2008


Hi!!!!

I want to create a chart layer from a PHP function, but in the style
of the class of the layer,
a parameter called "SIZE" in the mapfile, I do not know how to set in
the object styleObj.
Does anyone know how to do this?
	
Thank.

#==========MapFile===========#

LAYER
	NAME "Grafica"
	TYPE CHART
	STATUS DEFAULT
	CONNECTIONTYPE POSTGIS
	CONNECTION "host=127.0.0.1 dbname=xxx user=xxx password=xxx port=5432"
	DATA "the_geom FROM (select a.the_geom AS the_geom, a.dpto, a.gid AS
gid, a.nom_dpto,a.area_km2, b.rio, b.queman from departamento a,
dpto_viv_basura b WHERE a.dpto = b.dpto) AS foo USING UNIQUE gid"
	PROCESSING "CHART_TYPE=pie"
	PROCESSING "CHART_SIZE=30"
	CLASS
		NAME "Rio"
		STYLE
			SIZE [rio]
			COLOR 255 244 237
		END
	END
	CLASS
		NAME "Queman"
		STYLE
			SIZE [queman]
			COLOR 255 217 191
		END
	END
END #LAYER


/////////////////PHP Function///////////////////

function crearLayerGrafica($miMap){
	$layer = ms_newLayerObj($miMap);
	$layer->set( "name", "Grafica");
	$layer->set( "type", MS_LAYER_CHART);
	$layer->set( "status", MS_ON);
	$layer->set("connectiontype", MS_POSTGIS);
	$layer->set("connection", "host=127.0.0.1 dbname=xxx user=xxx
password=xxx port=5432");
	$layer->set("data","the_geom FROM (select a.the_geom AS the_geom,
a.dpto, a.gid AS gid, a.nom_dpto,a.area_km2, b.rio, b.queman from
departamento a, dpto_viv_basura b WHERE a.dpto = b.dpto) AS foo USING
UNIQUE gid");
	$layer->setProcessing("CHART_TYPE=pie");
	$layer->setProcessing("CHART_SIZE=30");
	$clase=ms_newClassObj($layer);
	$clase->set("name","Rio");
	$style=ms_newStyleObj($clase);
	$style->color->setRGB(255,244,237);
	$style->set("size","[rio]");
	$clase=ms_newClassObj($objLayer);
	$clase->set("name","Queman");
	$style=ms_newStyleObj($clase);
	$style->color->setRGB(255,217,191);
	$style->set("size","[queman]");
}


More information about the mapserver-users mailing list