From a cartographic point of view, I would consider the blocks to be more important than the parcels, so those to be labelled first (but it depends on the purpose of your map of course).
If you label both in a single MapTextLabeller but with different priorities you should be able to get them all labelled without overlapping.
@tom_adair
Hi Tom,
as Hans correctly said, placing all the labels with a single MapTextLabeller is a better way of creating the labels.
Keep in mind that MapTextLabeller does whatever it can to place the labels according to your rules, but it cannot guarantee that ALL the labels will be placed - there might be no room for them if all the rules are applied and all the are met. If you don't get all the labels (MapText gives you placement statistics in the log) try softening your rules - set more different sizes for the labels, allow boundary crossings etc.
There might be some situations, when it is necessary to place two MapTextLabellers. For example, with the first transformer, you may want to place names, and, if some of the names don't fit, the second transformer would place numbers instead, which occupy less space. Whatever was generated with the first transformer then will becomes obstacles. Supply them to the second transformer as bounding boxes. In my opinion, however, the situation where two transformers are needed, should be rare.
Here is my article about MapTextLabeller:
https://knowledge.safe.com/articles/1040/introduct...
If you need more help with this, feel free to contact me directly at dmitri.bagh@safe.com
Dmitri
@tom_adair
Hi Tom,
as Hans correctly said, placing all the labels with a single MapTextLabeller is a better way of creating the labels.
Keep in mind that MapTextLabeller does whatever it can to place the labels according to your rules, but it cannot guarantee that ALL the labels will be placed - there might be no room for them if all the rules are applied and all the are met. If you don't get all the labels (MapText gives you placement statistics in the log) try softening your rules - set more different sizes for the labels, allow boundary crossings etc.
There might be some situations, when it is necessary to place two MapTextLabellers. For example, with the first transformer, you may want to place names, and, if some of the names don't fit, the second transformer would place numbers instead, which occupy less space. Whatever was generated with the first transformer then will becomes obstacles. Supply them to the second transformer as bounding boxes. In my opinion, however, the situation where two transformers are needed, should be rare.
Here is my article about MapTextLabeller:
https://knowledge.safe.com/articles/1040/introduct...
If you need more help with this, feel free to contact me directly at dmitri.bagh@safe.com
Dmitri
Thank you Dmitri. Unfortunately, one MapTextLabeller will not meet our needs. But I'll try working with bounding boxes as you suggested. To the developers at Safe: It would be nice if the placed text from a MapTextLabller could be used as an obstacle in a subsequent MapTextLabeller transformer. Bounding boxes are ok but they are not great if the labels are at an angle. Scripting a solution is also not easy since the text can be stacked, and whether/how it is stacked seems to be hidden. Implementing this enhancement would make MapTextLabeller extremely powerful.
Thank you Dmitri. Unfortunately, one MapTextLabeller will not meet our needs. But I'll try working with bounding boxes as you suggested. To the developers at Safe: It would be nice if the placed text from a MapTextLabller could be used as an obstacle in a subsequent MapTextLabeller transformer. Bounding boxes are ok but they are not great if the labels are at an angle. Scripting a solution is also not easy since the text can be stacked, and whether/how it is stacked seems to be hidden. Implementing this enhancement would make MapTextLabeller extremely powerful.
Hi @tom_adair -- normally the label collisions are best handled within one labeller -- then the rules can be set up to assign priorities etc. It has the effect of precisely taking into account the issues you raise.
What is the reason that one MapTextLabeller can't do what you need? Maybe we could take this in detail with you --- please do follow up with Dmitri at the address above.