I have created ca 40 000 annotations for a basemap im working on and some of the angled texts overlap. Is there a good way to displace them, like a "negative snapper"? thanks for all the help i can get!
Have a look at the offsetter and see if that does it
http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Transformers/offsetter.htm
I tried messing with the offsetter, but it doesn't seem to offset intuitively, and as far as I can deduce I would need to calculate overlapping distance and store offset distances as an attribute and loop until no overlap = 0. There must be a better way?
There's actually a Displacer transformer that might do what you need. From the help doc:
"Solves proximity conflicts between features using a variant of the Nickerson displacement algorithm."
Ah thats terrific!
Although It doesnt seem to honor the text-geometry...? A little background: Ive taken ca 40 000 points and passed them through a set of TextAdders and added some Fontsize-, rotation-, and colour attributes via AttributeCreater. The Displacer seems to treat my input features as points. I suspect I need to get rid of the piont geometry, but then I don't know where to add my labels?
Ah thats terrific!
Although It doesnt seem to honor the text-geometry...? A little background: Ive taken ca 40 000 points and passed them through a set of TextAdders and added some Fontsize-, rotation-, and colour attributes via AttributeCreater. The Displacer seems to treat my input features as points. I suspect I need to get rid of the piont geometry, but then I don't know where to add my labels?
you could try creating a bounding box around the text features and using those to input into the Displacer then (assuming you can calcualte the transformation/translation) apply that to the text
@disco2000 The MapTextLabeller is designed to do just this - although it is an extra cost plugin.