Select to view content in your preferred language

Invert TextSymbol on map rotation so that text always reads left to right

308
3
09-10-2024 03:19 AM
imbachb
Regular Contributor

Using the APP-6D Dictionary Renderer I noticed that the labels always read left to right, no matter the map rotation.

Here's what I mean:

radimbachb_0-1725963301263.png

radimbachb_1-1725963309951.png

The labels get inverted at some point so as to always read left to right.

Is there an equivalent functionality for TextSymbols? TextSymbol Class | ArcGIS Maps SDK for Qt | Esri Developer

I tried to set the SymbolAngleAlignment to SymbolAngleAlignment::Map. The label correctly sticks to the map rotation, but is not inverted when the map rotation gets too big. In the following screenshots I used a TextSymbol instead of the Dictionary Renderer to render the symbol, as you can see the text is not inverted.

radimbachb_2-1725963436954.png

radimbachb_3-1725963444833.png

Is there a way to replicate this functionality using TextSymbols, or should we render labels using the Dictionary Renderer?

0 Kudos
3 Replies
PreetiMaske
Esri Regular Contributor

Hello,

The behavior you are seeing with military symbols, where text gets rotated based on rotation of the map to always read from left to right is driven by flipAngle property on CIM marker symbol. 

That property is currently not available of TextSymbol at the moment and you will have to use CIM symbol for this behavior. Currently based on ArcGISPRO flipAngle can either be a 0 or greater value (most of the times it is 1). If a CIM symbol has no flipAngle property it is considered as value 0.
0 means : do not apply flipAngle property
Greater than 0 means: apply flipAngle property

However, I am interested in learning and understanding your usecase for using TextSymbol. Is there a a specific reason you want to use a simple TextSymbol instead of a CIM symbol?

Thanks

0 Kudos
imbachb
Regular Contributor

@PreetiMaske Thank you for the clarification regarding the TextSymbol.

The reason why I'm using a TextSymbol is mainly that I do not know how to create a CIM symbol like that directly in code 😅, at least I haven't really found an example. I could add a symbol like that to my .stylx file, but that seems a bit cumbersome...

0 Kudos
PreetiMaske
Esri Regular Contributor

Using a stylx seems the most reasonable approach especially if there are complex symbols are involved.

0 Kudos