En breve
Debe dividir cada círculo en 2 mitades, luego convertirlas en polilínea (o cualquier medio para imitar los perímetros de las mitades superior e inferior). Lo principal es tener al final una capa con el perímetro superior y el perímetro inferior.
Luego, etiquete el superior con un etiquetado de curva con una configuración superior y etiquete el inferior con un etiquetado inferior.
Debajo de los procedimientos con capturas de pantalla
La tabla de sus entidades debería verse así (es un ejemplo de prueba, será diferente con sus datos). Creé un campo de posición y un campo de etiqueta aquí.
En el caso de que mantenga una capa física, duplique su capa y configure el filtro para que coincida con 'ARRIBA' para una copia de la capa y 'ABAJO' para la otra (consejo: cuando alguien habrá configurado esta propiedad en los datos definidos campo esto será más simple)
Debería verse así en las propiedades:
Para cada uno, configura diferentes propiedades de etiquetado
Debajo de la capa
Capa superior
entonces obtienes:
No parece haber una forma integrada o un complemento para hacer que las etiquetas se ajusten a una curva (o cualquier otra forma que no sea una línea recta). La única forma en que puedo pensar para lograr este efecto en QGIS es usar un marco HTML para cada etiqueta en el compositor de impresión. HTML no es mi punto fuerte, pero encontré algunos sitios que explican cómo hacerlo (enlaces al final de esta publicación). Suena bastante tedioso, probablemente sea mucho más fácil producir un mapa sin etiquetas, luego agregarlo en un programa diferente. O produzca las etiquetas en otro programa, guárdelas como imágenes y agregue las imágenes al compositor de impresión.
https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm
fuente