[mapserver-users] label placement problem

Lime, Steve D (DNR) steve.lime at state.mn.us
Thu Apr 14 12:50:52 EDT 2011


The mindistance check actually compares classindex, label text and, of course, distance. Same layer is not checked, that seems to me like a bug. As it sits its possible then that labels in two different layers would be considered duplicates if they have the same classindex and text. I could see where that could happen and lead to weird results.

I'd propose patching MapServer 6.0 to explicitly compare layer indexes. 

I'm not sure if that impacts this particular problem or not. If someone wanted to test I can point you to the right spot in the code...

Steve

-----Original Message-----
From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of thomas bonfort
Sent: Thursday, April 14, 2011 10:21 AM
To: Raivo Alla
Cc: mapserver-users at lists.osgeo.org
Subject: Re: [mapserver-users] label placement problem

Raivo,
When using mindistance, we check to see if there are labels with the
same text from the same layer that are closer than the specified
threshold.

Modifying that behavior would not be impossible to make them check for
a third condition (i.e. same text, same layer, and same attribute),
but is still rather involved in the sense that each label would also
have to hold a reference to that attribute.

You might want to file an enhancement ticket for that.

--
thomas

On Thu, Apr 14, 2011 at 17:02, Raivo Alla <snaperski at gmail.com> wrote:
> Hey,
>
> is it possible that the reason why this feature is not implemented in
> Mapserver is cause it demands too much computation resource and Mapserver
> assumes that those kind of issues will be dealt before... modifying data
> structure maybe?
> Deleting all the duplicate address points for each building complex and
> leaving only one (I do not prefer that)?
>
> Cause for me it seems quite a common problem one should face in case he
> needs to display building numbers.
> Since there could be many buildings closely together at the crossings of the
> streets, I seek some way to display them decently -
> ie. showing label ("2") for buildings that are located at the street "Mündi"
> and other label "2" for buildings at the street "Saiakangi"
> so that Mapserver does not "see" the labels being identical.
>
>
> Still full of hope,
> Raivo
>
> On Wed, Apr 13, 2011 at 1:33 PM, Raivo Alla <snaperski at gmail.com> wrote:
>>
>> Thank You !
>>
>> The situation is illustrated here:
>> https://picasaweb.google.com/105062450878416453583/Ort#5595010970050628162
>> I got three different streets that have same label "2", and I would like
>> to display the labels so that for the same street address points
>> I could use declaration like MINDISTANCE 40, but if the same label "2"
>> appears on the address point that belongs to other street, then
>> it will not use MINDISTANCE and should display that label.
>>
>> I have shapefile, whre one attribute "REFERENCEPOINT" holds the same
>> numerical value for the same address points (ie those
>> points which have label "2" on the screenshot and belong to the same
>> street have same "REFERENCEPOINT" value). Can I
>> somehow use it to render them differently?
>>
>> I hope I expressed myself correctly :)
>>
>>
>> With regards,
>> Raivo
>>
>> On Tue, Apr 12, 2011 at 1:18 AM, Lime, Steve D (DNR)
>> <steve.lime at state.mn.us> wrote:
>>>
>>> Can you share some pictures that illustrate the issue?
>>>
>>>
>>>
>>> From: mapserver-users-bounces at lists.osgeo.org
>>> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Raivo Alla
>>> Sent: Wednesday, April 06, 2011 6:34 AM
>>> To: mapserver-users at lists.osgeo.org
>>> Subject: [mapserver-users] label placement problem
>>>
>>>
>>>
>>> Hello!
>>>
>>> I am using MapServer 5.4 and right now I'm facing with label positioning
>>> problem.
>>> Any help solving that would really be appreciated.
>>>
>>> 1. I have lots of buildings address points... so for example if two
>>> nearby located buildings at the crossing of "Some_street" and
>>> "Some_other_street"
>>> have both same house numbers (for example "1") then the MINDISTANCE 30
>>> declaration will cancel one label out.
>>> 2. I cannot remove MINDISTANCE neither since in many cases I have large
>>> building complexes where multiple buildings share same address label.
>>> And I want mapfile to declare some distance between those addresses that
>>> logically will mark the same address object.
>>> 3. In my buildings_addresses (points) file I do have attribute, which I
>>> could use to separate those two kinds of duplicate labels,
>>> but MapServer doent seem to support rendering them differently in a such
>>> way.... Or am I wrong?
>>>
>>>
>>> My LABEL definition:
>>>             LABEL
>>>                 TYPE truetype
>>>                 ANTIALIAS true
>>>                 FONT "arial"
>>>                 COLOR 50 50 50
>>>                 SIZE 9
>>>                 priority 1
>>>                 ANGLE [POORDENURK]
>>>                 MINDISTANCE 30
>>>                 OUTLINECOLOR 220 220 220
>>>                 POSITION cc
>>>                 BUFFER 2
>>>             END
>>>
>>>
>>> Hope that there will be some kind of solution here.
>>>
>>>
>>> Sincerely,
>>> Raivo Alla
>
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users



More information about the mapserver-users mailing list