I have few point layers from Esri ArcMap, whose symbols rotate as per the values(double) defined in a "Rotation" field. However, when I use the layers in QGIS 3.18, the rotation value defined in "Rotation" field is not honored. It is because of arithmetic rotation policy differences between ArcMap and QGIS. I am manipulating the field values by creating expression like: Rotation = 360 - original rotation. Eg: If the original field value is 95 in ArcGIS, the resultant field value would be (360-95 = 265 degrees).

This would be a cumbersome task since I have 20+ point layers. Is there another way to do it by using some functions or Python script in QGIS. I am new to QGIS exploration.

1 Answer 1


you can do it with QGIS with no problem.

In QGIS a rotation could be set as a value stored in a field of your layer (the option you are already using) but you can also use an expression based on your data. You can click in data driven and then choose edit.

enter image description here

Then you will have and expression string builder and you can set the formula to be : 360 - "Rotation" or whatever formula you want.

As the style could be copy paste between layer you could easily use it for all your layers or just copy-paste the formula.

Happy QGIS time !

  • 2
    And by doing it this way you dont need to alter the original value in the table meaning that you would still be able to use the original rotation value in ArcMap if needed (or open previously created MXD using it)
    – J.R
    Commented Jun 9, 2021 at 13:29
  • yes, I used the exact formula (360-rotation) and it worked. Now, just working on pasting same in all the layers! Thank you all for suggestions!
    – Amzy
    Commented Jun 10, 2021 at 9:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.