[Geomoose-users] GM3 - Labeling conflicts with multiple map-sources
Jim Klassen
klassen.js at gmail.com
Mon Apr 18 13:06:58 PDT 2022
That is expected behavior.
GeoMoose treat separate map-sources as separate entities and will make a separate request for each map-source. MapServer then doesn't know the other layers were drawn and thus can't do label collision detection between the layers in different map-sources. All the layers within one map-source are drawn with one request to MapServer and returned in one image.
This is where the feature to include multiple map-source/layers in a catalog layer src="" attribute came from. So people who really wanted the labels perfect could put all their label drawing into one mapfile at the top of the stack so MapServer could do optimal conflict detection. There are also major downsides to this regarding being able to treat layers independently which limits GeoMoose functionality (changing z-order, generally incompatible with the visible/active layers tab) and means all layers break (pink screen) if one mapfile breaks. Depending on your use case this tradeoff can be anywhere from no big deal to a show stopper. So we support both options (but not both options, well, at the same time).
On 4/18/22 10:45, Christopher Hughes wrote:
> I'm encountering some odd issues when trying to label multiple layers when they're
> in separate map-sources. All the labels work, but when they're in separate map-sources,
> they conflict with each other.
>
> For example, when I set up a single map-source for a basemap like this:
>
> <map-source name="basemap" type="mapserver">
> <file>basemap.map</file>
> <layer name="city" status="on"/>
> <layer name="town" status="on"/>
> <layer name="rivers" status="on"/>
> <layer name="Contours_(40ft)" status="on"/>
> <layer name="Contours_(10ft)" status="on"/>
> <layer name="Streams" status="on"/>
> <layer name="Streets" status="on"/>
> </map-source>
>
> Labels between different layers work seamlessly with each other (label priority settings
> are honored, auto positioning moves them to not overlap, they automatically disappear
> if a non-overlapping position can't be found).
>
> If I break apart this map-source into individual layers (i.e. you have layers in different mapfiles,
> if you want a particular layer at the top of your map, or you want to turn individual layers on or off),
> the labels for these layers can overlap regardless of label priority settings or auto positioning.
> It's not a major problem, but it can make things look very cluttered, and you have to spend a lot
> more time considering how labels from different layers will work with each other.
>
> Has anyone run into this issue or found a workaround? I'm not sure to what extent it's a MapServer
> problem or a GeoMoose issue.
>
> I appreciate any feedback,
>
> Chris
>
>
>
> --
> Chris Hughes
>
> GIS Analyst
> Lincoln County GIS Department
> 880 NE 7th St. l Newport, OR 97365
> Tel: (541) 574 1283
>
> _______________________________________________
> Geomoose-users mailing list
> Geomoose-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geomoose-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geomoose-users/attachments/20220418/895caa6c/attachment.html>
More information about the Geomoose-users
mailing list