[Mapserver-users] help with annotations

Dylan Keon keon at nacse.org
Mon Sep 22 20:16:40 EDT 2003


That's pretty much how I think of it, although that doesn't necessarily 
mean it's correct :-)  From the mapfile reference:

   "Annotation means that a label point will be calculated for the
    features, but the feature itself will not be drawn although a marker
    symbol can be optionally drawn."

--Dylan


Matt Doggett wrote:

> This is exactly what I'm doing except I'm using TYPE POINT, rather than
> TYPE ANNOTATION.  So what's the difference between POINT and ANNOTATION?
> Let me guess, A POINT layer has both a point SYMBOL and a LABEL at each
> x,y coordinate of the points in the layer. But the ANNOTATION layer has
> only a LABEL at each of the points.  Is this correct?  Perhaps I've come
> full circle now back to my original question trying to understand
> annotation layers (of which I still have not found an adequate
> explanation).
> 
> Matt
> 
> 
>>-----Original Message-----
>>From: Dylan Keon [mailto:keon at nacse.org]
>>Sent: Monday, September 22, 2003 4:27 PM
>>To: mdoggett at coas.oregonstate.edu
>>Cc: mapserver-users at lists.gis.umn.edu
>>Subject: Re: [Mapserver-users] help with annotations
>>
>>Matt,
>>
>>I'm not sure this is what you're after, but in one of my PHP apps I
>>label dynamically-created lines with text from user input.  Assuming
> 
> you
> 
>>want to build your label text from database content, just run the
> 
> query,
> 
>>construct your several-item label ahead of time, and assign it to a
>>variable (or push the labels into an array).  That variable would
>>replace "$label[$i]" in the code example below (which is part of a for
>>loop that adds the labels after I've rendered the lines):
>>
>>  $pt = ms_newLineObj();
>>  $pt->addXY($x, $y);
>>
>>  $shape = ms_newShapeObj(MS_SHAPE_POINT);
>>
>>  $shape->set('classindex', 0);
>>
>>  $shape->set('text', $label[$i]);  // assign the label
>>
>>  $shape->add($pt);
>>
>>  $layer = $map->getLayerByName('line_annotation');
>>
>>  $shape->draw($map, $layer, $image);
>>
>>  $pt->free();
>>
>>  $shape->free();
>>
>>Here's the corresponding entry in my mapfile:
>>
>>LAYER
>>  NAME line_annotation
>>  STATUS ON
>>  TYPE ANNOTATION
>>  FEATURE
>>  END
>>  CLASS
>>    LABEL
>>      TYPE TRUETYPE
>>      FONT arial
>>      SIZE 10
>>      COLOR 0 0 0
>>      POSITION UC
>>      FORCE TRUE
>>    END
>>  END
>>END
>>
>>
>>--Dylan
>>
>>--
>>**************************************************************
>> Dylan Keon - GIS/Database Specialist
>> Northwest Alliance for Computational Science and Engineering
>> Oregon State University
>> Corvallis, OR 97331
>> keon at nacse.org     voice: 541-737-6608     fax: 541-737-6609
>>**************************************************************
>>
>>Matt Doggett wrote:
>>
>>
>>>Someone else had suggested this same technique, and I've seen it in
> 
> the
> 
>>>documentation. But where do the values [FIRSTNAME] [LASTNAME] come
> 
> from?
> 
>>>My guess is that they are attribute 'columns' in the shape file.  But
>>>here's the problem.  My shape object is created dynamically with
>>>Php/Mapscript (from a query to a postgres database).  I see that the
>>>ShapeObj class has the values array but apparently it is read-only so
>>>that I cannot dynamically create the data columns
>>>([TEMP],[DEWPT],[WIND], etc) that this method would require.  This
>>>problem is off topic but are there any suggestions?
>>>
>>>md
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: mapserver-users-admin at lists.gis.umn.edu
> 
> [mailto:mapserver-users-
> 
>>>>admin at lists.gis.umn.edu] On Behalf Of Lowell Filak
>>>>Sent: Monday, September 22, 2003 1:04 PM
>>>>To: Matt Doggett; 'Tyler Mitchell'; mapserver-users at lists.gis.umn.edu
>>>>Subject: RE: [Mapserver-users] help with annotations
>>>>
>>>>You can specify multiple 'text' attributes for the class, ie.
>>>>([FIRSTNAME],[LASTNAME]) .
>>>>Lowell
>>>>
>>>>The following message was sent by "Matt Doggett"
>>>><mdoggett at coas.oregonstate.edu> on Mon, 22 Sep 2003 12:36:53 -0700.
>>>>
>>>>
>>>>
>>>>>Well, I have a single point layer that contains weather station
> 
> data.
> 
>>>I
>>>
>>>
>>>>>currently have it so that the label (actually the 'text' attribute
> 
> of
> 
>>>>>the shape object) contains the station identifier. In addition to
>>>
>>>this,
>>>
>>>
>>>>>I also would like to be able to display one, some, all of additional
>>>>>data like temp, dewpt, winds, etc.
>>>>>None of the responses so far has suggested annotations so maybe
>>>
>>>that's
>>>
>>>
>>>>>not the direction I need to be going.
>>>>>
>>>>>matt
>>>>>
>>>>>
>>>>>
>>>>>>-----Original Message-----
>>>>>>From: mapserver-users-admin at lists.gis.umn.edu
>>>
>>>[mailto:mapserver-users-
>>>
>>>
>>>>>>admin at lists.gis.umn.edu] On Behalf Of Tyler Mitchell
>>>>>>Sent: Monday, September 22, 2003 11:18 AM
>>>>>>To: mapserver-users at lists.gis.umn.edu
>>>>>>Subject: Re: [Mapserver-users] help with annotations
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>Do you just want to create labels that use more than one line (i.e.
>>>>>>multi-line labels) and use more than one attribute?  Are you
> 
> already
> 
>>>>>>displaying labels okay?  You can do all this using similar
>>>
>>>methodology
>>>
>>>
>>>>>as
>>>>>
>>>>>
>>>>>>far as I know.   Maybe give us a short example of what you are
>>>
>>>already
>>>
>>>
>>>>>>doing and how you'd like that to change.
>>>>>>
>>>>>>Tyler
>>>>>>
>>>>>>mapserver-users-admin at lists.gis.umn.edu wrote on 09/22/2003
> 
> 10:45:36
> 
>>>>>AM:
>>>>>
>>>>>
>>>>>>>I have some point data where I want to display more than one data
>>>>>
>>>>>value
>>>>>
>>>>>
>>>>>>in
>>>>>>
>>>>>>
>>>>>>>the labels at each data point (eg. Temperature, windspeed, dewpt,
>>>>>
>>>>>etc).
>>>>>
>>>>>
>>>>>>How
>>>>>>
>>>>>>
>>>>>>>would I do this?  I'm thinking that this would involve annotation
>>>>>
>>>>>layers
>>>>>
>>>>>
>>>>>>but
>>>>>>
>>>>>>
>>>>>>>I can't find any documentation that says exactly what they are or
>>>
>>>how
>>>
>>>
>>>>>to
>>>>>
>>>>>
>>>>>>use
>>>>>>
>>>>>>
>>>>>>>them.  Can anyone shed some light on how to use annotation layers?
>>>>>
>>>>>I'm
>>>>>
>>>>>
>>>>>>>using PHP/Mapscript if that helps.
>>>>>>>
>>>>>>>TIA,
>>>>>>>
>>>>>>>Matt
>>>>>>>
>>>>>>>Matt Doggett
>>>>>>>Spatial Climate Analysis Service
>>>>>>>Oregon State University
>>>>>>>316 Strand Ag Hall
>>>>>>>Corvallis, OR 97331
>>>>>>>(541)737-9153
>>>>>>>mdoggett at coas.oregonstate.edu
>>>>>>>






More information about the mapserver-users mailing list