// Note: Converting to Radians here due to direct use of SLD Expressions which uses degrees
double rotation = Math.toRadians( ((Literal)legend.getRotation()).evaluate(null, Double.class));
float opacity = ((Literal)legend.getOpacity()).evaluate(null, Float.class);
ExternalGraphic graphic = (ExternalGraphic) symbol;
while (!(iter.isDone())) {
iter.currentSegment(coords);
try {
BufferedImage image = ImageIO.read(graphic.getOnlineResource().getLinkage().toURL());
if (symbolScale != 1.0){
int w = (int) (image.getWidth() / symbolScale);
int h = (int) (image.getHeight() / symbolScale);
int imageType = image.getType() == 0 ? BufferedImage.TYPE_4BYTE_ABGR : image.getType();
BufferedImage rescaled = new BufferedImage(w, h, imageType);