Labeling thin polygons sometimes fails. #5234

Closed
sdlime opened this Issue Feb 5, 2016 · 2 comments

Projects

None yet

3 participants

@sdlime
Member
sdlime commented Feb 5, 2016

@szekerest reported instances where labeling where thin, simple polygons (think parcels) results in label points outside a polygon. It happens because a edge/distance computation in msPolygonLabelPoint() done after a center of gravity computation drops the label point computation into a second algorithm that uses scan lines to place the label. There is a bug in that second computation that can result in bad label placement.

The fix is easy, simply uncomment a couple of lines in that function, look for:

  /* lp->y = y; */
  /* lp->x = x; */

and the issue is resolved. In cases like this it might be even better to skip the distance check or at least make that more robust, but that's another ticket. I tried allowing a configuration via a layer processing option but since label placement is independent of layer properties it's not trivial to make that value available, especially with MapScript.

@tbonfort
Member

pull request in #5235

@tbonfort tbonfort added a commit to mapserver/msautotest_DEPRECATED that referenced this issue Feb 23, 2016
@tbonfort tbonfort update for mapserver/mapserver#5234 e876b3b
@mapserver-bot

applied to branch-6-4 in 078a6a3 , merged into branch-7-0

@tbonfort tbonfort added this to the 7.0.1 milestone Feb 23, 2016
@tbonfort tbonfort closed this Feb 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment