4

Using Cartographic Representation (CR) I've created a nice feature symbol with a filled interior and sharp outline. It looks great on a map, on screen and printed. However I can't duplicate that symbol in the legend, as the regular Symbol Property Editor doesn't have the same level of control and edit options as the CR marker editor does.

Here's the CR marker editor, and the resultant symbol:

Representation Marker Editor result

And here's the closest I can get with regular symbol editor, just not good or close enough. With stacked level character symbol the two don't line up at all, and with halo effect the effect is thicker on the right side than the left.

symbol editor, unsatisfactory results


So, how can I export the CR symbol so I can use it in the legend (and elsewhere)?

We're not using live legend as it doesn't afford enough control over the result, for instance the size of the CR symbol can't be changed, even after converting to graphics.

  • Have you considered shoehorning in a PNG screenshot of the symbol as a dummy layer with a picture marker symbol? – DPierce Jan 30 '14 at 21:01
  • This doesn't solve the underlying problem, but if you're not using a live legend, you could just take a screenshot of the good symbol and paste it into your layout on top of the existing legend symbol. – Dan C Jan 30 '14 at 21:02
  • @DPierce, no I hadn't thought of thought. It may be my last resort (bitmaps scale very poorly relative to vectors) – matt wilkie Jan 30 '14 at 21:03
  • @matt wilkie The raster scaling may not be very noticeable unless you are making the legend patch rather large. If you are, then you could rebuild/trace the figure in a vector editing software and save it as an .emf and use that in place of a high-res png. That would take a little more time, however. – DPierce Jan 30 '14 at 21:08
  • You could make it a truetype or OpenType font and load that as a symbol. high-logic.com/font-editor/fontcreator.html - There is a downside that font needs to be installed on all PC's that need to show to display/print – Mapperz Jan 30 '14 at 21:20
1

I didn't find a way to export cartographic representation, so that need still remains to be addressed.

I did find a solution that worked for the current project though. My symbol is based on a font glyph, so I used Inkscape to load the font symbol, style it approximately the same as the CR symbol, export as EMF and embed in the map composition via Insert > Picture. I couldn't get a perfect match between the symbols, but it's pretty good.

  1. Open Inkscape, use Type tool (f8)
  2. Insert character symbol, resize to something easy to work with
  3. Open Fill and Stroke palette (shift-ctrl-f)
  4. Set fill to 50% (for this example)
  5. Set stroke to black, and stroke style to desired outline thickness
  6. set Document Properties (shift-ctrl-d) to match Object height & width; this so that when imported to arcmap the symbol's bounding box matched the symbol itself, and not the document page size

.

Marker Editor property |  Inkscape equivalent
-----------------------|---------------------
Solid colour pattern   |  Fill 
Line                   |  Stroke
Line width             |  Stoke Style

The units for line/stroke width in the two applications bear little to no relationship to each other, so I just aimed for something that looked close (took multiple round trips to get sorted out).

final CR and EMF in Arcmap

In future I think I would explore creating the symbols in Inkscape first, and then using those in Arcmap right from the beginning (though the fact the way to convert .emf to CR markers uses VB6 doesn't bode well for this approach [ref]).

I also tried the speedier route of grabbing a screenshot of the CR symbol, deleting the background, and saving as PNG. However that failed because Arcmap doesn't respect the PNG transparency. (Which is just as well as the picture was kind of ugly anyway.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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