ESRI software has a concept of a 'label point' for a (multi)polygon. It is like the centroid, except it is guaranteed to be within the (multi)polygon. Like for a U-shaped polygon, the label point is somewhere in the bottom of the U. See the ArcGIS REST API Reference on the subject.

I'd like to know a reference, English description, or pseudocode for how something like this is calculated for a polygon or multipolygon.

I get the vibe from results in ArcGIS that the label point is somewhere on the the medial axis transform (skeleton). But not just in its middle, because a big bulge at one end of a polygon will pull the label point into it. So it has a 'center of mass' aspect.

I haven't found an equivalent function in PostGIS (there is ST_PointOnSurface, but that is not quite the same thing). Nor have I found something in QGIS, but maybe I'm not looking for the right non-ESRI terminology.

This duplicates this question, but that one didn't get any high-rated non-hacky answers so I thought I'd ask again. Forgive me if it isn't the done thing.

  • Just based on empirical evaluation, the label point of a single-part polygon is the midpoint of the largest horizontal transect at ~1/4, ~1/2, and ~3/4 of the BND. Multi-part might be on the largest part, or the first part; I haven't tested that. Please edit this question to specify the software for which you want this answer, since right now it's three different questions (ArcGIS, PostGIS, and QGIS).
    – Vince
    Apr 14, 2016 at 23:43
  • See @whuber answer in the post you hyperlinked. It mentions negative buffer = pseudocode
    – FelixIP
    Apr 14, 2016 at 23:54
  • Negative buffer is an extremely expensive way to calculate a label point. Horizontal or diagonal transects use the intersection of three or two lines across the figure, while negative buffers are computationally expensive (trig functions) and iterative.
    – Vince
    Apr 15, 2016 at 3:22
  • @Vince It seems he means centre of largest inscribed circle (big bulge), not just some point inside. Yes buffer is slow but it is a buil-in function, so logic is simple gis.stackexchange.com/questions/147790/…
    – FelixIP
    Apr 15, 2016 at 6:26
  • Please note that it is not helpful for the discoverability of good answers to duplicate questions every couple of years. You can add a bounty to draw attention to the original question once you have enough reputation.
    – underdark
    Apr 15, 2016 at 18:29


Browse other questions tagged or ask your own question.