[MapServer-users] creating a layer with PHP MapScript - shapes do not use classindex

Worth Lutz wal3 at mindspring.com
Mon Oct 16 05:57:37 PDT 2023


Hi,

I had thought of trying that but the attributes in the values are 
read-only. Since i created the shapeObj from WTK there are no values.

I'm using v7 of MapServer and the old PHP mapscript. There does not 
appear to be a way for me to set attributes on these shapes which are 
being passed down from an OpenLayers client app.

I had thought of setting a single class and putting the different 
colors, etc, in as attribute values in the shapeObj but cannot find a 
way to write them to the object.

I'll try any suggestions given.

Thanks,

*Worth Lutz*


On 10/16/23 03:59, Seth G wrote:
> Hi,
>
> The rendering code could be reassigning the classindex for the shapes 
> based on their attributes. You will probably need to make sure the 
> CLASS is assigned based on an attribute of the feature - e.g. add a 
> CLASSITEM to the layer and add a value to the feature that will match 
> the correct CLASS.
>
> Seth
>
> --
> web:https://geographika.net & https://mapserverstudio.net
> twitter: @geographika
>
> On Sun, Oct 15, 2023, at 3:12 PM, Worth Lutz via MapServer-users wrote:
>> HI,
>>
>> I'm trying to create a layer to insert into a map. I have shapes in 
>> WKT and am trying to insert them into a layer and draw it to a pdf.
>>
>> It works fine if I only have one class for the shapes. I am trying to 
>> add several classes to the layer to draw in different colors. I 
>> cannot get the shapes to use the proper class.
>>
>> Here is what I'm doing.
>>
>> After creating a layer and adding all the classes, I add the shapes.
>>
>>     for (i = 0, ii = count($features); $i < $ii; i++) {
>>     $shape = ms_shhapeObjFrom Wkt($features[$i]->geometry);
>>     $shape->set('classindex', $features[$i]->classindex);
>>     $success = $layer->addFeature($shape);
>>     }
>>
>> The shapes draw but all use $class[0].
>>
>> If I add this line in before the draw,
>>
>>     $layer-moveclassup(1);
>>
>> all the shapes are drawn with that class.
>>
>> I have been able to verify that the classes exist in the layerObj and 
>> that the classindex in the shapeObj points to the proper class.
>>
>> Does anyone have any ideas why the drawing code is not using the 
>> classindex to draw these shapes in different colors?
>>
>> What am I doing wrong?
>>
>> -- 
>> *Worth Lutz*
>>
>> _______________________________________________
>> MapServer-users mailing list
>> MapServer-users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20231016/0fe68201/attachment-0001.htm>


More information about the MapServer-users mailing list