<div dir="ltr">Hey Bob,<div><br></div><div>Is there any chance you can start a GitHub repo with an appropriate license and maybe some screenshots for this? It's hard to use dropbox as a collaboration platform...</div><div><br></div><div>Cheers,</div><div><br></div><div>-Duck</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 8, 2018 at 1:39 PM, Basques, Bob (CI-StPaul) <span dir="ltr"><<a href="mailto:bob.basques@ci.stpaul.mn.us" target="_blank">bob.basques@ci.stpaul.mn.us</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word;line-break:after-white-space">
Tp whom it may concern . . .
<div><br>
</div>
<div>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><br>
</div>
<div>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><br>
</div>
<div>This mapfile has mutiple CLASSes with many STYLE settings per CLASS.  So it ens up a bit complicated.</div>
<div><br>
</div>
<div>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><br>
</div>
<div>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><br>
</div>
<div>Sample output is here:</div>
<div><br>
</div>
<div><a href="https://www.dropbox.com/s/epdzrod6yvg7143/centerlines_stpaul_public.2.map?dl=0" target="_blank">https://www.dropbox.com/s/<wbr>epdzrod6yvg7143/centerlines_<wbr>stpaul_public.2.map?dl=0</a></div>
<div><br>
</div>
<div> and the fragment below is for the Interstate roads, darker yellow color and Hwy Shields..</div>
<div><br>
</div>
<div>Thanks</div>
<div><br>
</div>
<div>bobb</div>
<div><br>
</div>
<div>. . . .</div>
<div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>LAYER</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>#DEBUG 5</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>NAME 'street centerlines'</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>TYPE LINE</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>STATUS DEFAULT</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>CONNECTIONTYPE POSTGIS</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>INCLUDE "../../../../conf/spatial_db/<wbr>connection_compass.inc"</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>DATA "wkb_geometry from (select </font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>objectid,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cmmsparent,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cmmsid,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- l_f_add,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- r_f_add,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- l_t_add,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- r_t_add,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>streetall,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- f_xstreet,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- t_xstreet,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- msa_route,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- ownership,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- maintained,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- stp_class,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- rowclass,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- speed_lim,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- length_ft,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- base,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- surface,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- parking_mi,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- lane_mi,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- oneway,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cmmschgreq,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- streetname,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- type,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- sufdir,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>hwy_numb,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>f_class,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cencty_l,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cenmun_l,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- censt_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cencty_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- cenmun_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- gnis_l,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- gnis_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- fips5_l,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- fips5_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- zip5_l,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- zip5_r,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- alt_nam1,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- alt_nam2,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- created_user,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- created_date,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- last_edited_user,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>-- last_edited_date,</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>wkb_geometry</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>from stpgis.stpaul_<wbr>streetcenterline) as subquery using unique objectid using srid=200068"</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>CLASSITEM 'f_class'</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>LABELITEM ‘streetall'</font></div>
</div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">. . . .</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">—————————————-</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><br>
</font></div>
<div>
<div><font face="Courier New">#######</font></div>
<div><font face="Courier New">#<span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>A10</font></div>
<div><font face="Courier New">#######</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>CLASS</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>#NAME 'US Interstate'  ## Using Interstate Shield Symbol Instead</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>EXPRESSION 'A10' # interstates</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>LABEL</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>TYPE TRUETYPE</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>FONT bluehigh</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SIZE 10</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 254 254 254</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MINDISTANCE 100</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MINFEATURESIZE 50</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OFFSET 0 0</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>PARTIALS FALSE</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>TEXT '[hwy_numb]'  <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>## be careful here with the call, you need to quote the bracketed token !!</font></div>
<div><font face="Courier New"><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"></span>## Also, this is a multiple LABELITEM.</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SYMBOL 'interstate1_wide_back'</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SIZE 18</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 254 254 254<span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"> </span>
## WHITE banner border</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END      </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SYMBOL 'interstate1_wide_back'</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SIZE 16</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 255 0 0<span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"> </span>
## RED banner</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SYMBOL 'interstate1_wide_front'</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SIZE 18</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 254 254 254<span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"> </span>
## WHITE shield border</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END      </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SYMBOL 'interstate1_wide_front'</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>SIZE 16</font></div>
<div><font face="Courier New">          <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 56 120 199<span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"> </span>
## BLUE(ish) shield color</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END      </font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE  </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINEWIDTH 1</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>WIDTH 9  </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 249 222 77</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MAXSCALEDENOM 20000</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE  </font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MINSCALEDENOM 20000</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINEWIDTH 1</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>WIDTH 6  </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 249 222 77</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MAXSCALEDENOM 25000</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>STYLE  </font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>MINSCALEDENOM 25000</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINEWIDTH 1</font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>OUTLINECOLOR 175 175 175 </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>WIDTH 2 </font></div>
<div><font face="Courier New">        <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>COLOR 249 222 77</font></div>
<div><font face="Courier New">      <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><font face="Courier New"><br>
</font></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END</font></div>
<div><span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap"><font face="Courier New"></font></span></div>
<div><font face="Courier New">    <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>TEMPLATE 'TEMPLATES/stpaul_record.html'</font></div>
<div><font face="Courier New">  <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>TOLERANCE 15</font></div>
<div><font face="Courier New">  <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>TOLERANCEUNITS pixels</font></div>
<div><font face="Courier New"> </font></div>
<div><font face="Courier New">  <span class="m_707643084409396034Apple-tab-span" style="white-space:pre-wrap">
</span>END ##end Layer</font></div>
<div><br>
</div>
<div><br>
</div>
<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;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br class="m_707643084409396034Apple-interchange-newline">
<br>
</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;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="m_707643084409396034wp_quotepage_quote">You miss 100 percent of the shots you never take.</div>
<div class="m_707643084409396034wp_quotepage_author">—Wayne Gretzky</div>
</div>
</div>
<br>
</div>
</div>

<br>______________________________<wbr>_________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.<wbr>org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/mapserver-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/mapserver-<wbr>users</a><br></blockquote></div><br></div>