Problem with ShapeObj->{classindex}
Tom Melhuish
tmelhuish at WEBINSIGHTSINC.COM
Tue Oct 18 08:48:13 PDT 2005
I have been watching the list and have not seen any response to my problen
yet. I have used the $class->insertStyle(style, index) method to define and
retrieve an index for the styleObj but don't see anything comparable for the
ClassObj when looking in the mapscript.pm file. I am successful in defining
my classes and see them appear in the Legend. I tried using class index
1,2,3..5 to set the ShapeObj->{classindex}, but it always used the first
classObj defined for all of the shapeObjs I create.
Can someone please help. I hate to have to create a separate layer for each
feature I need to define.
Please let me know if I need to provide more information to define my
problem.
Thanks again.
-----Original Message-----
From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]On
Behalf Of Tom Melhuish
Sent: Wednesday, October 12, 2005 4:53 PM
To: MAPSERVER-USERS at LISTS.UMN.EDU
Subject: Re: [UMN_MAPSERVER-USERS] Problem with ShapeObj->{classindex}
To add to my issue, I was able to generate a Legend with the classes I
defined. The colors in the Legend where displayed as expected. It looks like
the ShapeObj->{classindex} has no effect an the shapeObjs defined and
defaults to the first classObj defined. I'm running:
mapserver 4.2.2
Redhat 9.0
httpd-2.0.53
Thanks in advance for your help.
-----Original Message-----
From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]On
Behalf Of Tom Melhuish
Sent: Tuesday, October 11, 2005 3:14 PM
To: MAPSERVER-USERS at LISTS.UMN.EDU
Subject: [UMN_MAPSERVER-USERS] Problem with ShapeObj->{classindex}
I'm creating a feature and need to change the colors for each one that is
generated. I'm able to create the shapeObjs and associated text, but the
classObj is always set to index=0. If I query the $layer->{numclasses} I get
2.
for (0..1) {
my $point = new mapscript::pointObj() or &AppletMsg('Unable to create
point',"error");
my $line = new mapscript::lineObj() or &AppletMsg('Unable to create
line',"error");
my $shape = new mapscript::shapeObj($mapscript::MS_SHAPE_POINT);
$point->{x} = $QueryResultsmatrix[$_+100]->[1] or &AppletMsg('Unable to
add x value to point',"error");
$point->{y} = $QueryResultsmatrix[$_+100]->[2] or &AppletMsg('Unable to
add y value to point',"error");
$retval=$line->add($point);
$retval=$shape->add($line);
$shape->{classindex} = $_; #### Always set to 0 no matter what I enter.
$shape->{text} =Test.$_;
$retval=$layer->addFeature($shape);
}
Layer Information
-------------------
LAYER
NAME "GpsfeatPt"
STATUS OFF
TYPE POINT
TEMPLATE "ttt.html"
CLASS
#COLOR 128 255 164
SYMBOL "cross"
COLOR 254 0 0
SIZE 7
LABEL
SIZE small
POSITION UC
COLOR 254 0 0
END
END
CLASS
#COLOR 128 255 164
SYMBOL "cross"
COLOR 254 0 200
SIZE 7
LABEL
SIZE small
POSITION UC
COLOR 254 0 200
END
END
END
More information about the MapServer-users
mailing list