Two-Dimensional Roads in ArcIMS

Tired of roads that look like so much spaghetti on your web sites? Take a look at these:



Which one would you prefer - the door on the left, or the door on the right?

Making two dimensional roads is actually a piece of cake. What you’re doing is making a group renderer and rendering the lines three times - once in a thick white, once in a slightly thinner gray, and finally in an extremely thin dashed line. Take a look at the xml:

<LAYERDEF id=”STREETS” visible=”true” >
<GROUPRENDERER>
<SIMPLERENDERER>
<SIMPLELINESYMBOL width=”10” captype=”round” color=”255,255,255” />
</SIMPLERENDERER>
<SIMPLERENDERER>
<SIMPLELINESYMBOL width=”8” captype=”round” color=”189,189,189” />
</SIMPLERENDERER>
<SIMPLERENDERER>
<SIMPLELINESYMBOL width=”2” type=”dash” color=”255,255,255” />
</SIMPLERENDERER>
<SCALEDEPENDENTRENDERER lower=”1:1” upper=”1:100000”>
<SIMPLELABELRENDERER field=”WHOLESTNAME” linelabelposition=”PlaceAboveBelow”>
<TEXTSYMBOL antialiasing=”true” font=”Arial” fontstyle=”regular” fontsize=”10” />
</SIMPLELABELRENDERER>
</SCALEDEPENDENTRENDERER>
</GROUPRENDERER>
</LAYERDEF>

Three simple line symbols is all it takes. The last scale dependent renderer labels the streets. Viola!

One thing to note about this symbolization is that it tends to look good when you’re zoomed up close. As you zoom out, the thickness of the lines will eventually start to crowd out all the space and run together. As such, if your app shows streets when you’re zoomed way out, you may want to wrap a scale dependent renderer around the whole kit-and-caboodle and have it draw spaghetti past a certain scale.