I'm starting a big base map of Europe project, beginning with Natural Earth datasets. I've chosen a Lambert projection, so I want to rotate placename labels (and highway shields) to match the meridians. Arc looks like it can do this for me using the option Place label at an angle specified by a field. But how, exactly? The attribute table for populated_places has latitude and longitude, but of course those are not the angle I want the placenames rotated by. Will I have to calculate a field with the proper rotation based on difference from my central meridian (15ºE)? Will I have to use trigonometric functions to do that?
rotating labels in a conic projection
Posted 20 January 2014 - 08:02 PM
Not sure about labels, but I've done this a couple of times with annotation, when I had the good fortune to be working in a projection that had circular parallels (circumpolar or conic). The circumpolar case is easy, since a 5 degree difference in longitude on the earth equals 5 degrees on the map. So calculating the angle for labels is just a matter of taking into account the map's central meridian.
In the case of conic, 360 degrees on the earth is something less than 360 degrees on the map, but it's a constant factor. Someone may be able to figure this out mathematically, but I did it empirically. I looked at the projected graticule and found that, for instance, 100 degrees on the earth was a bit more than 90 degrees on the map, so the factor was about 0.9. I expect the factor would be different for different projections and different standad parallels.
So added a longitude field (calculate geometry) and a rotationAngle field to the annotation table and, with a bit of fumbling around the formula I used was
rotationAngle = 0 - ((longitude_of_label - central_meridian) * .9008)
The "zero minus" part of the equation was puzzling for a bit, but if the label is to the right of the meridian you have to rotate it to the left. Above the pole, you omit the "zero minus".
Posted 21 January 2014 - 09:25 AM
Check out the help topics about orienting labels to graticules. There are topics for points, lines and polygons:
I hope that helps (unless I am misinterpreting what you want to do when you say "rotate to match meridians"; do you mean parallel to the meridians or perpendicular?). The above topics are about placing the labels parallel to the parallels, including curving the labels if the lines curve, so may not be what you are looking for.
Posted 22 January 2014 - 01:38 PM
Thanks all. Because I'm still at 10.0, that last one is most interesting to me. However, I don't really understand how to use it. The instructions explain that one of the parameters to be specified is angle_field, which is an Existing field that will be populated with the true north calculation value in decimal degrees.
Does this mean that I should choose some attribute field that I don't plan to use and this tool will replace the values, or that I should add a new, empty field to the attributes database?
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users