<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.2800.1505" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Comic Sans MS">
<DIV>Ed,</DIV>
<DIV>&nbsp;</DIV>
<DIV>While I do have 72 STYLE def's, I only have 11 layers defined in my Googlish mapfile, that's 11 layer definitions for essentially the same data type, Street centerlines.&nbsp; That would equate to approximately 60 real layers being queried, granted, the googlish mapfile I've been working on is somewhat complex, but I would venture that most layers could be as complex with similar cartographic needs.</DIV>
<DIV>&nbsp;</DIV>
<DIV>A couple of the layers i have are for Legends and such for additional output control, and if the control were not a big factor, they could be removed altogether if needed.&nbsp;&nbsp; But it does point to the need in some circles (like those of us who fancy ourselves as some sort of fancy "Cartographer" ;c) to be able to add in our flourishes to the outputs that do indeed require defining more than one layer.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Some instances will require these mapfiles to get very large, and the standards bar is being risen very fast IMHO, and is getting harder and harder to keep up with some of the average user expectations for readability as well as printabilty of online maps.&nbsp; This is a high priority item with me, mostly because I don't want to be stuck doing cartography day in and day out.&nbsp;&nbsp; I'm hoping that there will be some discussion to come out of this Thread related to developing some different methods for applying styles that may end up being easier to maintain as well as easier to teach to others.</DIV>
<DIV>&nbsp;</DIV>
<DIV>bobb</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV align=center><STRONG><FONT size=6><FONT size=1></FONT>&nbsp;</DIV>
<DIV align=right>
<TABLE cols=3 align=center border=0>
<TBODY>
<TR>
<TD align=right>
<DIV><STRONG><FONT size=6></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG>Bob Basques</STRONG></DIV>
<DIV><STRONG><FONT size=2><A href="http://gis.ci.stpaul.mn.us/">GIS</A> Systems Developer</FONT></STRONG></DIV>
<DIV><STRONG><FONT size=1><A href="http://www.ci.stpaul.mn.us/">City of Saint Paul, MN</A></FONT></STRONG></DIV></TD>
<TD><BR><A href="http://gis.ci.stpaul.mn.us/"><IMG alt="Moose Powered GISMO" hspace=0 src="cid:WEUQSYEXUJVH.IMAGE_61.gif" align=middle border=0></A></TD>
<TD>
<DIV><STRONG><FONT size=6></FONT></STRONG>&nbsp;</DIV>
<DIV><STRONG><FONT size=6><A href="http://gis.ci.stpaul.mn.us/"><FONT size=5>GISmo</FONT></A> </FONT></STRONG></DIV>
<DIV align=center><FONT size=2>Powered by</FONT></DIV>
<DIV align=center><STRONG><A href="http://www.geomoose.org/moose/"><FONT size=2>GeoMOOSE</FONT></A></STRONG></DIV></TD></TR></TBODY></TABLE></DIV></FONT></STRONG>
<DIV align=center>&nbsp;</DIV><A href="http://gis.ci.stpaul.mn.us/"></A><BR><BR>&gt;&gt;&gt; Ed McNierney &lt;ed@TOPOZONE.COM&gt; wrote:<BR></DIV>
<DIV style="PADDING-LEFT: 7px; MARGIN: 0px 0px 0px 15px; BORDER-LEFT: #050505 1px solid; BACKGROUND-COLOR: #f3f3f3">Ritesh -<BR><BR>Obviously you cannot possibly need 658 layers to respond to a single map =<BR>request.&nbsp; The first thing to do is figure out how to split up this one =<BR>map file into multiple map files and then use some front-end logic to =<BR>select the appropriate map file to serve a particular request.&nbsp; You may =<BR>find the INCLUDE directive helpful, but you should simply begin by =<BR>eliminating the unnecessary.&nbsp; The theoretical ideal would be that a =<BR>single MapServer request would specify a map file that contained nothing =<BR>more than the symbols, fonts, and layers required to serve that single =<BR>request - nothing more.<BR><BR>- Ed<BR><BR>Ed McNierney<BR>Chief Mapmaker<BR>Demand Media / TopoZone.com<BR>73 Princeton Street, Suite 305<BR>North Chelmsford, MA=A0 01863<BR>ed@topozone.com<BR>Phone: +1 (978) 251-4242<BR>Fax: +1 (978) 251-1396<BR><BR>-----Original Message-----<BR>From: UMN MapServer Users List [mailto:MAPSERVER-USERS@LISTS.UMN.EDU] On =<BR>Behalf Of ritesh ambastha<BR>Sent: Wednesday, January 23, 2008 2:44 PM<BR>To: MAPSERVER-USERS@LISTS.UMN.EDU<BR>Subject: Re: [UMN_MAPSERVER-USERS] Map file with 35,000+ Lines... =<BR>management issue<BR><BR>Thanks Bob,<BR><BR>The map file consists of 658 Layers.<BR>It runs with openlayers and postgis.<BR><BR>Now, am trying to sort out the best way for solving this issue.<BR>Your reply helped me to view at the problems+solutions in broad =<BR>spectrum..<BR><BR>Warm Regards,<BR>Ritesh<BR><BR>On Jan 24, 2008 1:04 AM, Bob Basques &lt;Bob.Basques@ci.stpaul.mn.us&gt; =<BR>wrote:<BR>&gt;<BR>&gt;<BR>&gt; Ritz,<BR>&gt;<BR>&gt; Whew, 35k lines, that big.&nbsp; How many layers is that anyway?&nbsp;&nbsp; The =<BR>Googlish<BR>&gt; mapfile I just did only has 1100 lines in it, and that's mostly for<BR>&gt; readability.&nbsp; I could probably get it down to half that size if I =<BR>tried.<BR>&gt;<BR>&gt; Don't know what I can contribute as a "Best Practice", because I feel =<BR>that<BR>&gt; in most cases, that form follows function, if you need a capability, =<BR>you<BR>&gt; build it.&nbsp; Anyway, here are some of my thoughts.<BR>&gt;<BR>&gt; These same sorts of performance questions crossed my mind too.&nbsp; The =<BR>Googlish<BR>&gt; mapfile I've been working on has 72 separate STYLE definitions for =<BR>example.<BR>&gt; Mostly ranged around threshholding of certain styles.&nbsp; I can see that =<BR>adding<BR>&gt; in the Water bodies, Railroad, Parks, and such, is really going to =<BR>make this<BR>&gt; thing big.&nbsp; I may just do those as separate MapFiles though since =<BR>GeoMoose<BR>&gt; handles things like these separations very nicely.<BR>&gt;<BR>&gt; These are some of the primary reasons that contributed to the way =<BR>we've<BR>&gt; built GeoMoose as a client and why it runs against MapServer CGI, so =<BR>that it<BR>&gt; can abstract the layer calls in this fashion.&nbsp; We're running 135+ =<BR>layers<BR>&gt; internally at the moment, and they all have their own MAPFILE and are =<BR>all<BR>&gt; called separately from the client.&nbsp; It has made life much easier with =<BR>regard<BR>&gt; to MapFile creation and maintenance, since each data custodian handles =<BR>their<BR>&gt; respective MAPFILE.&nbsp; The performance issues are minimized well since =<BR>even<BR>&gt; the data intensive layers are not too bad from a performance =<BR>standpoint.<BR>&gt;<BR>&gt; But even my Googlish looking mapfile got prettty big (in my opinion) =<BR>for<BR>&gt; simply displaying centerlines of streets.&nbsp;&nbsp; I've learned quite a bit =<BR>from<BR>&gt; these exercises about these types of questions.&nbsp; While I have yet to =<BR>attack<BR>&gt; the performance side of things, I anticpate that I'll need to =<BR>segregate the<BR>&gt; data out at differing thresholds in order to gain some performance =<BR>boots.<BR>&gt; We're all about doing dynamic requests here since many of our datasets<BR>&gt; change very frequently, in some cases, down to the minute.&nbsp; I may look =<BR>into<BR>&gt; tiling at some point in the future, but it will still be only for some =<BR>of<BR>&gt; the layers, there will still be a need to have this dynamic request<BR>&gt; structure in place.<BR>&gt;<BR>&gt; bobb<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; Bob Basques<BR>&gt; GIS Systems Developer<BR>&gt; City of Saint Paul, MN<BR>&gt;<BR>&gt;<BR>&gt; GISmo<BR>&gt; Powered by<BR>&gt; GeoMOOSE<BR>&gt;<BR>&gt;<BR>&gt; &gt;&gt;&gt; riteshambastha &lt;ritesh.linux@GMAIL.COM&gt; wrote:<BR>&gt;<BR>&gt; Dear Readers,<BR>&gt;<BR>&gt; I have developed a map file with more than 35,000 Lines. Its size will =<BR>grow<BR>&gt; by double/triple in next few months. Now, I am trying to tune my map =<BR>file by<BR>&gt; removing unwanted lines. Still, I am bit confused about its =<BR>maintenance.<BR>&gt;<BR>&gt;<BR>&gt; Please throw some lights over writing map files by following best =<BR>practices.<BR>&gt;<BR>&gt; Thanks in advance.<BR>&gt;<BR>&gt; Regards,<BR>&gt; Ritz<BR>&gt; --<BR>&gt; View this message in context:<BR>&gt; =<BR><A href="http://www.nabble.com/Map">http://www.nabble.com/Map</A>-file-with-35,000+-Lines...-management-issue-tp1=<BR>5048892p15048892.html<BR>&gt;<BR>&gt; Sent from the Mapserver - User mailing list archive at Nabble.com.<BR>&gt;<BR><BR><BR><BR>--=20<BR>Ritesh Ambastha,<BR><BR>Project Manager<BR>Mobiance Technologies,<BR>Bangalore<BR><BR>+91-80-41264755<BR></DIV></BODY></HTML>