<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Tp whom it may concern . . .
<div class=""><br class="">
</div>
<div class="">I’ve recently been optimzing some MapServer layer MapFiles in our system for TIGER based centerline data to take advantage of the newer capabilities of MapServer.  The MapFile I’ve been working on recently  was just over 10 years old!!  Anyway,
 lot’s of new stuff for optimizing the Mapfile and I wanted to pass the results by the list to see if there is anything I may have missed.</div>
<div class=""><br class="">
</div>
<div class="">For long time list users, you may remember my post in the past about setting up a “googlish” type layer style for MapServer way back when.  This is my refactoring of that MapFile to the new look and feel of the Google style(s). </div>
<div class=""><br class="">
</div>
<div class="">This mapfile has mutiple CLASSes with many STYLE settings per CLASS.  So it ens up a bit complicated.</div>
<div class=""><br class="">
</div>
<div class="">I’ve also switch all data sourcing over from SHP file to Postgres/PostGIS as well as consolidating the all the DATA connection calls into a single call.  While the old file ran very fast, this one comes back almost instantly now, even for very
 large images.</div>
<div class=""><br class="">
</div>
<div class="">Here are a couple of fragments of the MAPFILE that I’ve currently set up, and just looking for thoughts on improving it even more.</div>
<div class=""><br class="">
</div>
<div class="">Sample output is here:</div>
<div class=""><br class="">
</div>
<div class=""><a href="https://www.dropbox.com/s/epdzrod6yvg7143/centerlines_stpaul_public.2.map?dl=0" class="">https://www.dropbox.com/s/epdzrod6yvg7143/centerlines_stpaul_public.2.map?dl=0</a></div>
<div class=""><br class="">
</div>
<div class=""> and the fragment below is for the Interstate roads, darker yellow color and Hwy Shields..</div>
<div class=""><br class="">
</div>
<div class="">Thanks</div>
<div class=""><br class="">
</div>
<div class="">bobb</div>
<div class=""><br class="">
</div>
<div class="">. . . .</div>
<div class="">
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>LAYER</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>#DEBUG 5</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>NAME 'street centerlines'</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>TYPE LINE</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>STATUS DEFAULT</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>CONNECTIONTYPE POSTGIS</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>INCLUDE "../../../../conf/spatial_db/connection_compass.inc"</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>DATA "wkb_geometry from (select </font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>objectid,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cmmsparent,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cmmsid,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- l_f_add,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- r_f_add,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- l_t_add,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- r_t_add,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>streetall,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- f_xstreet,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- t_xstreet,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- msa_route,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- ownership,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- maintained,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- stp_class,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- rowclass,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- speed_lim,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- length_ft,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- base,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- surface,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- parking_mi,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- lane_mi,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- oneway,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cmmschgreq,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- streetname,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- type,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- sufdir,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>hwy_numb,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>f_class,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cencty_l,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cenmun_l,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- censt_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cencty_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- cenmun_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- gnis_l,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- gnis_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- fips5_l,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- fips5_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- zip5_l,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- zip5_r,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- alt_nam1,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- alt_nam2,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- created_user,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- created_date,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- last_edited_user,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>-- last_edited_date,</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>wkb_geometry</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>from stpgis.stpaul_streetcenterline) as subquery using unique objectid using srid=200068"</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>CLASSITEM 'f_class'</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>LABELITEM ‘streetall'</font></div>
</div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">. . . .</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">—————————————-</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class="">
<div class=""><font face="Courier New" class="">#######</font></div>
<div class=""><font face="Courier New" class="">#<span class="Apple-tab-span" style="white-space:pre">
</span>A10</font></div>
<div class=""><font face="Courier New" class="">#######</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>CLASS</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>#NAME 'US Interstate'  ## Using Interstate Shield Symbol Instead</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>EXPRESSION 'A10' # interstates</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>LABEL</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>TYPE TRUETYPE</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>FONT bluehigh</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>SIZE 10</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 254 254 254</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>MINDISTANCE 100</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>MINFEATURESIZE 50</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OFFSET 0 0</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>PARTIALS FALSE</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>TEXT '[hwy_numb]'  <span class="Apple-tab-span" style="white-space:pre">
</span>## be careful here with the call, you need to quote the bracketed token !!</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>## Also, this is a multiple LABELITEM.</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SYMBOL 'interstate1_wide_back'</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SIZE 18</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 254 254 254<span class="Apple-tab-span" style="white-space:pre"> </span>
## WHITE banner border</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>END      </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SYMBOL 'interstate1_wide_back'</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SIZE 16</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 255 0 0<span class="Apple-tab-span" style="white-space:pre"> </span>
## RED banner</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SYMBOL 'interstate1_wide_front'</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SIZE 18</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 254 254 254<span class="Apple-tab-span" style="white-space:pre"> </span>
## WHITE shield border</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>END      </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SYMBOL 'interstate1_wide_front'</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>SIZE 16</font></div>
<div class=""><font face="Courier New" class="">          <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 56 120 199<span class="Apple-tab-span" style="white-space:pre"> </span>
## BLUE(ish) shield color</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>END      </font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE  </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINEWIDTH 1</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>WIDTH 9  </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 249 222 77</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>MAXSCALEDENOM 20000</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE  </font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>MINSCALEDENOM 20000</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINEWIDTH 1</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>WIDTH 6  </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 249 222 77</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>MAXSCALEDENOM 25000</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>STYLE  </font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>MINSCALEDENOM 25000</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINEWIDTH 1</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>WIDTH 2 </font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>COLOR 249 222 77</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>END</font></div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"><font face="Courier New" class=""></font></span></div>
<div class=""><font face="Courier New" class="">    <span class="Apple-tab-span" style="white-space:pre">
</span>TEMPLATE 'TEMPLATES/stpaul_record.html'</font></div>
<div class=""><font face="Courier New" class="">  <span class="Apple-tab-span" style="white-space:pre">
</span>TOLERANCE 15</font></div>
<div class=""><font face="Courier New" class="">  <span class="Apple-tab-span" style="white-space:pre">
</span>TOLERANCEUNITS pixels</font></div>
<div class=""><font face="Courier New" class=""> </font></div>
<div class=""><font face="Courier New" class="">  <span class="Apple-tab-span" style="white-space:pre">
</span>END ##end Layer</font></div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div style="color: rgb(0, 0, 0); font-family: 'Comic Sans MS'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br class="Apple-interchange-newline">
<br class="">
</div>
<div style="color: rgb(0, 0, 0); font-family: 'Comic Sans MS'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<div class="wp_quotepage_quote">You miss 100 percent of the shots you never take.</div>
<div class="wp_quotepage_author">—Wayne Gretzky</div>
</div>
</div>
<br class="">
</div>
</body>
</html>