Add polygon in shapefile

"LAGACHE Alexandre - VNF/Dir. Infrastructure-Environnement/Div. Géo Carto" Alexandre.Lagache at VNF.FR
Thu Feb 9 08:44:01 PST 2006


It did help ! It works perfectly, exactly what I needed, thanks a lot !!!

-----Message d'origine-----
De : UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]De
la part de blaise
Envoyé : jeudi 9 février 2006 17:37
À : MAPSERVER-USERS at LISTS.UMN.EDU
Objet : Re: [UMN_MAPSERVER-USERS] Add polygon in shapefile


Should work although I don't remember exactly how. I think you have to
define 
only one newLineObj and add to it all the vertex of your polygon PLUS the 
first vertex. Then put this single closed line into your new shape.
Something like :
$line_a = ms_newLineObj();
$line_a->add($ecluse_sel_a);
$line_a->add($ecluse_sel_b);
$line_a->add($ecluse_sel_c);
$line_a->add($ecluse_sel_d);
$line_a->add($ecluse_sel_a);
$shape->add($line_a);
$zone_shp->addShape($shape);
$shape->free();
$zone_shp->free();

Hope it'll help.
Blaise


On Thursday 09 February 2006 15:36, LAGACHE Alexandre - VNF/Dir. 
Infrastructure-Environnement/Div. Géo Carto wrote:
> Hello All,
>
> I'd like to dynamically add polygons to a shapefile (php mapscript 4.80b).
> Here is what I do :
>
> $zone_shp = ms_newShapefileObj("zone_shp", MS_SHP_POLYGON);
> $shape = ms_newShapeObj(MS_SHAPE_POLYGON);
> $ecluse_sel_a = ms_newPointObj();
> $ecluse_sel_a-> setxy($mix,$miy);
> $ecluse_sel_b = ms_newPointObj();
> $ecluse_sel_b-> setxy($mix,$may);
> $ecluse_sel_c = ms_newPointObj();
> $ecluse_sel_c-> setxy($max,$may);
> $ecluse_sel_d = ms_newPointObj();
> $ecluse_sel_d-> setxy($max,$miy);
> $line_a = ms_newLineObj();
> $line_a->add($ecluse_sel_a);
> $line_a->add($ecluse_sel_b);
> $line_b = ms_newLineObj();
> $line_b->add($ecluse_sel_b);
> $line_b->add($ecluse_sel_c);
> $line_c = ms_newLineObj();
> $line_c->add($ecluse_sel_c);
> $line_c->add($ecluse_sel_d);
> $line_d = ms_newLineObj();
> $line_d->add($ecluse_sel_d);
> $line_d->add($ecluse_sel_a);
> $shape->add($line_a);
> $shape->add($line_b);
> $shape->add($line_c);
> $shape->add($line_d);
> $zone_shp->addShape($shape);
> $shape->free();
> $zone_shp->free();
>
> It seems to work fine but when I look at the layer, objects are multiline
> instead of polygons...
> Any idea ??? What am I doing wrong ?
>
> Thanks !
>
> Alexandre LAGACHE



More information about the MapServer-users mailing list