This is a lake in Netherlands.

Right side of the image : Points contains names of the lake (red label). I performed a spatial join between the point and polygon in order that the polygon get names from the point shapefiles.

Problem : From the right images Ex:Limmergat is displayed in middle but should be displayed towards the left below.

Are there any other ways to display the labels as seen in left image using Arcgis or QGIS ? Was doing spatial joint a bad option ??


  • 3
    You need to decide if you want to use ArcGIS or QGIS or the question is to broad. I dont Think spatial join is what you want. Set a transparent symbology to the Points and label the Points. Then look for some way to make the labels stay inside the lake polygon. – BERA Feb 1 '19 at 12:44
  • The reason some agencies label certain entities using a separate point layer is that automated labeling engines don't take every exception into account very well. There is a workaround in QGIS though if you choose to ask about it specifically. – Gabriel C. Feb 1 '19 at 18:52

In QGIS, a linear layer can work quite well for oriented or curved labels like what you show in the left photo in your question. It might be much simpler to go with that option but if using a separate layer to precisely position the label isn't viable, there is always the option to move the spatially joined labels freely using the label toolbar. To make it appear, right click on any toolbar and tick its checkbox. From there:

  • Click on the Move label button

enter image description here

  • Click on the existing label in your lake layer. It will ask you to choose a key to link to the internal project data. Choose a relevant field.

enter image description here

From now on, while the label moving tool is active, you can click and drag your label anywhere you want. The entity will become red and you will see the outline of your label with its anchor point as you move it around.

enter image description here

Of course, this is all manual so for large datasets it's not very time-efficient. You can also rotate the labels with the corresponding tool.

Personally, when I need to place a label very precisely, I use a separate layer, either point or line depending on the needs.

  • Didn't know about this tool, this is very helpful. But since I have large amount of data, could dint make use of this function. guess using a separate point layer is better. Thank you. – roshualine Feb 4 '19 at 8:37

For QGIS you can force the label inside the polygon (based on the centroid).

enter image description here

Preference is for Visible Polygon (the map and for printing)

Then force the centroid to be inside

The other option is create an invisible polygon that is placed inside the lake to label.

  • Since I used Point in Polygon, eg. 3 points inside a single polygon is being displayed at the same centroid point. Hence this didn't solve my requirement. Thank you. – roshualine Feb 4 '19 at 8:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.