# How to calculate a Label Point for a (multi)polygon [duplicate]

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). Apr 14, 2016 at 23:43
• See @whuber answer in the post you hyperlinked. It mentions negative buffer = pseudocode 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. 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/… 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. Apr 15, 2016 at 18:29