<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3020" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType name="country-region" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><o:SmartTagType 
name="place" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><o:SmartTagType 
name="PersonName" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><!--[if !mso]>
<STYLE>st1\:* {
        BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
OL {
        MARGIN-BOTTOM: 0in
}
UL {
        MARGIN-BOTTOM: 0in
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=blue link=blue bgColor=white>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>Hi Chris,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>As an additional item, can we add&nbsp;serverconfig.ini 
parameters to control the following:&nbsp;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>- Size of the cache tile&nbsp;where the tiles assumed to be 
square&nbsp;"TileSize = 300" for 300x300 tiles</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>- Tile block size, ie. the mod value in the discussion 
below "TileBlockSize = 30"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>The first item is good for tuning and is useful if you need 
to match MapGuide tiles against an externally tiled raster source.&nbsp; The 
second item could be used for tuning and eventually to support "block rendering" 
of tiles.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>Thanks,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=139522820-23012007><FONT face=Arial 
color=#0000ff size=2>Trevor</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> mapguide-internals-bounces@lists.osgeo.org 
[mailto:mapguide-internals-bounces@lists.osgeo.org] <B>On Behalf Of </B>Chris 
Claydon<BR><B>Sent:</B> Tuesday, January 23, 2007 1:26 PM<BR><B>To:</B> MapGuide 
Internals Mail List<BR><B>Subject:</B> RE: [mapguide-internals] RFC required for 
tile caching changes?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">We seem to have 
digressed a little from my original question! I have summarized the issues 
discussed in this thread below. I would like to implement the changes as 
proposed in item 2), and to do so without the need for an RFC. Please let me 
know if this is unacceptable for any reason.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Thanks,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Chris.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"><![if !supportLists]><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN 
style="mso-list: Ignore">1)<FONT face="Times New Roman" size=1><SPAN 
style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">We cannot 
conform directly with the Tile Map Service Specification, because it does not 
currently support the concept of grouping sets of tiles into individual folders. 
However, it would be very simple to write a simple script or servlet to map from 
the specification&#8217;s path format directly to the MapGuide 
format.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"><![if !supportLists]><FONT 
face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><SPAN 
style="mso-list: Ignore">2)<FONT face="Times New Roman" size=1><SPAN 
style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Traian 
suggested a slightly modified folder naming convention that provides an easier 
mapping to the original tile index. I like this approach and would be happy to 
implement it this way. His proposal is as follows:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&#8220;Another 
suggestion I have -- name the&nbsp;folder part of the path (30 * tile 
index&nbsp;div 30) and then the file part would be&nbsp;(tile index mod 
30).<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">So for 
tile 33,64 the folder would be:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Base Layer 
Group/30/60/3_4.png<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">And for 
tile -33,-64 the folder would be:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Base Layer 
Group/-30/-60/-3_-4.png<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">For tile 
1,1, the folder would be:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Base Layer 
Group/0/0/1_1.png<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">For tile 
-1,-1 the folder would be:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">&nbsp;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Base Layer 
Group/-0/-0/-1_-1.png&#8221;<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-LEFT: 0.25in"><FONT face=Arial color=navy 
size=2><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">3) Various 
issues were brought up regarding how tiles are generated, and how label 
placement can be optimized. These are beyond the scope of my proposal, and can 
be addressed separately without being affected by the changes I&#8217;ve 
proposed.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt; COLOR: windowtext">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal><B><FONT face=Tahoma color=black size=2><SPAN 
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
face=Tahoma color=black size=2><SPAN 
style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: Tahoma"> 
mapguide-internals-bounces@lists.osgeo.org 
[mailto:mapguide-internals-bounces@lists.osgeo.org] <B><SPAN 
style="FONT-WEIGHT: bold">On Behalf Of </SPAN></B><st1:PersonName 
w:st="on">Robert Bray</st1:PersonName><BR><B><SPAN 
style="FONT-WEIGHT: bold">Sent:</SPAN></B> January 17, 2007 9:08 AM<BR><B><SPAN 
style="FONT-WEIGHT: bold">To:</SPAN></B> <st1:PersonName w:st="on">MapGuide 
Internals Mail List</st1:PersonName><BR><B><SPAN 
style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: [mapguide-internals] RFC 
required for tile caching changes?</SPAN></FONT><FONT color=black><SPAN 
style="COLOR: windowtext"><o:p></o:p></SPAN></FONT></P></DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Hey Paul, I think that is because you explicitly added 
him, for some weird reason this list is already set to <B><SPAN 
style="FONT-WEIGHT: bold">reply to list</SPAN></B>. The change in question would 
not have made a difference in this case...<BR><BR>Bob<BR><BR>Paul Spencer wrote: 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Steve's response bounced from the list, but fortunately 
reply-to-all was still actually sending to everyone so I actually got the 
message ... hint, hint ... <BR><BR>Paul <BR><BR><BR>On 16-Jan-07, at 11:18 PM, 
Steve Lime wrote: <BR><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Paul: Er, I spent too much time at the Camp-to-Camp beer 
tap so my <BR>memory is a bit fuzzy. We talked about several things from 
pre-computing <BR>label positions to what you mention below. You are correct in 
how <BR>MapServer works. It doesn't have any special "tiled" mode and hence 
<BR>considers each tile just as any other map. In a single map context, 
<BR>computing label positions post-clip makes sense. <BR><BR>Computing label 
positions pre-clip would result in a single, consistent <BR>label position for 
each feature. For points and polygons that's <BR>generally <BR>OK I believe. For 
linear features the results might not always be <BR>optimal <BR>since the 
clipping often provides a nice means of segmenting long <BR>features <BR>so that 
get labeled multiple times. One could work around that at the <BR>data level by 
segmenting long features ahead of time. <BR><BR>I don't believe it would hard to 
hack MapServer drawing routine <BR>to do this and someone could test it out. Let 
me know if interested. <BR><BR>Steve <BR><BR><BR><o:p></o:p></SPAN></FONT></P>
<BLOCKQUOTE style="MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt" type="cite">
  <BLOCKQUOTE style="MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt" type="cite">
    <P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
    style="FONT-SIZE: 12pt">Paul Spencer <A 
    href="mailto:pspencer@dmsolutions.ca">&lt;pspencer@dmsolutions.ca&gt;</A> 
    01/15/07 7:03 PM &gt;&gt;&gt; 
<o:p></o:p></SPAN></FONT></P></BLOCKQUOTE></BLOCKQUOTE>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Walt, <BR><BR>I don't believe it got documented.&nbsp; I 
spoke with Steve Lime (cc'd) <BR>directly about this during OSGeo. <BR><BR>At 
the time, I believe Steve suggested label placement would be done <BR>before 
features are clipped for rendering.&nbsp; I believe the way <BR>mapserver works, 
it grabs all features that intersect a given bbox <BR>then clips the features to 
the bbox then renders them.&nbsp; Labelling is <BR>currently done 
post-clip.&nbsp; If it were done pre-clip, then labels <BR>would be in a fixed 
position and could overlap tile boundaries <BR>without problems. <BR><BR>I do 
believe that there were some potential problems with this <BR>approach, but I 
don't know enough of mapserver internals to remember <BR>what they were. 
<BR><BR>Steve, perhaps you could jump in and fix my explanation?&nbsp; Also, do 
<BR>you think that label rendering changes would be a potential for <BR>version 
5? <BR><BR>Cheers <BR><BR>Paul <BR><BR>On 15-Jan-07, at 2:54 PM, <st1:PersonName 
w:st="on">Walt Welton-Lair</st1:PersonName> wrote: 
<BR><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">"In lieu of fixing this in MapServer (there is actually 
a proposal <BR>to fix this)..." <BR><BR>Paul - is there per chance a public link 
to this proposal?&nbsp; I'd be <BR>interested in looking at it. <BR><BR>Thanks, 
<BR>Walt <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;-----Original Message----- 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;From: <A 
href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</A> 
on behalf of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Paul <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Spencer (External) <BR>&nbsp;&nbsp;&nbsp;&nbsp;Sent: Mon 
1/15/2007 7:40 PM <BR>&nbsp;&nbsp;&nbsp;&nbsp;To: <st1:PersonName 
w:st="on">MapGuide Internals Mail List</st1:PersonName> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;Cc: <BR>&nbsp;&nbsp;&nbsp;&nbsp;Subject: Re: 
[mapguide-internals] RFC required for tile caching <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">changes? <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Trevor, 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;I don't think I got my 
idea across clearly :)&nbsp; Let me explain a <BR>&nbsp;&nbsp;&nbsp;&nbsp;little 
more clearly. <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;In 
ka-Map, the size of a tile is configurable and by default is 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;200x200 px.&nbsp; There is a second concept that 
I've called a 'meta <BR>&nbsp;&nbsp;&nbsp;&nbsp;tile'.&nbsp; A meta tile is some 
number of tiles wide x high, <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">typically 10 <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;x 10.&nbsp; When a request for a 
tile comes to the tile server, it <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">checks <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;the cache. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;If the tile exists, the 
tile (200x200px) is returned.&nbsp; This <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">happens <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;without invoking any map 
rendering ... the tile exists as an <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">image on <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;disk. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;If the tile does not 
exist, then a map render happens.&nbsp; A map <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">the <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;size of the meta tile is 
rendered and sliced into tile-sized <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">chunks <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;that are stored on disk in the 
cache directory structure.&nbsp; While <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">the <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;tiles are being created, a lock 
file is used to 'pause' requests <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">for <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;tiles in the same meta-tile 
directory so that they can all be <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">served <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;from the same map draw when it 
is finished. <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;We chose 
this approach for several reasons.&nbsp; First, MapServer 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">suffers <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;from edge effects when rendering 
map images.&nbsp; This is normally <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">not <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;noticeable, but when you put 
several map draws together in a <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">tiled <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;client, it becomes horribly 
obvious.&nbsp; The solution was to render <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">a <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;slightly larger map image (about 
10 pixels in fact) and clip out <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">the <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;center as the tile.&nbsp; 
Second, MapServer labelling only considers <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">the <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;current map draw.&nbsp; 
Depending on the size of the rendered label, <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">it <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;may not fit into a single 
tile.&nbsp; Depending on the size of a <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">feature, <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;the label may appear on several 
adjacent tiles.&nbsp; In lieu of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">fixing <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;this in MapServer (there is 
actually a proposal to fix this), <BR>&nbsp;&nbsp;&nbsp;&nbsp;rendering a much 
larger map and slicing it into smaller tiles 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;produces a reasonable effect.&nbsp; Finally, it is 
relatively <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">expensive to <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;parse the map file and find/read 
the data compared to rendering <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">so <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;rendering a single large image 
and slicing it is cheaper than <BR>&nbsp;&nbsp;&nbsp;&nbsp;rendering each 
smaller tile (with diminishing returns). <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;I don't know how you actually render the tiles in 
MapGuide, but <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">I <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><FONT face="Times New Roman" 
color=black size=3><SPAN style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;don't 
think you suffer from the same edge and label issues. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;The ka-Map directory 
structure looks something like this: <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&lt;map&gt;/&lt;layer-group&gt;/&lt;scale&gt;/&lt;row-of-metatile&gt;/&lt;col-of-metatile&gt;/&lt;row- 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;of-tile&gt;&lt;col-of-tile&gt;.&lt;ext&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;... which is similar to 
Chris' suggestion :)&nbsp; I don't get the 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;impression that you render the entire contents of 
the metatile <BR>&nbsp;&nbsp;&nbsp;&nbsp;directory in one go though.&nbsp; 
Because I do, I only have to check <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">if <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;the meta-tile directory exists 
to know if any tile in the <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">directory <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;exists, which is a small 
optimizatin. <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;One 
difference between Chris' proposal and the way ka-Map works 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">is <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;that the scale and layer group 
are reversed.&nbsp; This makes it <BR>&nbsp;&nbsp;&nbsp;&nbsp;theoretically 
possible to share the &lt;layer-group&gt; cache <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">directory <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;between different maps simply by 
creating symlinks or by <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">allowing a <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;per-layer-group setting that 
indicates the root directory to <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">keep the <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;tile cache in. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;Cheers 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;Paul 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;On 15-Jan-07, at 11:49 
AM, Trevor Wekel wrote: <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Hi everyone, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; I did some analysis on file systems a little 
while ago in <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">support <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; of the 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; directory structure change.&nbsp; Here are some 
approximate numbers <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">for <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; directory entry and file 
system entries that I pulled from an <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">internet <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; search: 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Linux 
ext3&nbsp; - each file or directory is approx 8 bytes + 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">length of <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; file 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; or directory name 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Linux Reiserfs&nbsp; - each file or directory 
is 18 bytes + length <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">of <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; file or 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; directory name <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; If we assume each file name has a format of 
R99999_C99999.PNG <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">then <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; each 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; file entry will require 26 bytes under ext3 and 
34 bytes under <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; ReiserFS. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; To facilitate 
fast directory access, tiles which are close to <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">each <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; other 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; should like in the same directory.&nbsp; This 
reduces the directory <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">entry <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; reads for each 
tile request.&nbsp; If we also assume that the read 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">block <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; size 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; for the file system is 32kbytes (32/64k is 
often used in RAID <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">arrays) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; then a 
directory with 900 entries (30x30 block) will get read 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">in a <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; single IOP (900*34 = 
30600).&nbsp; And since the tiles are blocked <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
together, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; it is very likely that adjacent tiles 
will fall within the <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">same <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; directory.&nbsp; Since the 
directory was just read, it will be <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">cached <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">and <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; there will be no 
disk access required. <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; If we increase the size of the directories to 
more than 900 <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">entries <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; then 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; we will incur more than IOP to read the 
bottom-most directory <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; structure. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; I also think 
Traian's suggestion of Base Layer Group/ <BR>30/60/3_4.png is 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; reasonable.&nbsp; It is more readable than the 
original mod scheme. <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; From a rendering perspective, dealing with 
2000x2000 pixel <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">blocks <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; may be 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; more efficient but cutting the tiles up from 
these larger <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">images <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">will <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; require some 
computational effort.&nbsp; Rendering the tiles in the 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">same <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; size 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; as requested from the client reduces server 
load because the <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">HTTP <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; request ends up being 
simply a file serving operation. <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; With some of the latest optimizations I have 
been working on, <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">MapGuide <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; tile serving 
speeds using "client-sized" tiles are quite <BR>respectable. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; On a machine with a single 3GHz CPU, MapGuide 
can service more <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">than <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; 100 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; tiles per second assuming the tiles are being 
served from <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">memory, <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; ie. no 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; disk access.&nbsp; The additional computational 
effort required to <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">generate <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; "client" tiles 
from larger pixel blocks will significantly <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">impact <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; performance. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Thanks, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Trevor 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; -----Original 
Message----- <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; From: <A 
href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; [<A 
href="mailto:mapguide-internals-bounces@lists.osgeo.org">mailto:mapguide-internals-bounces@lists.osgeo.org</A>] 
On Behalf <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Of <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Paul <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Spencer (External) 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Sent: Sunday, January 14, 2007 11:59 AM 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; To: <st1:PersonName w:st="on">MapGuide 
Internals Mail List</st1:PersonName> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Subject: 
Re: [mapguide-internals] RFC required for tile <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">caching <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; changes? 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; FWIW, Traian's 
suggestion for naming folders based on a mod of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">r/ <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">c is <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; essentially the 
same approach I took with ka-Map (for the same <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">reason <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; that Chris 
brought this up) and it seems to work very well. <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">In ka- <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; Map, 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; tiles are rendered in blocks of about 2000x2000 
pixels (tile <BR>size is <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; configurable but you 
might get 10 x 10 tiles in a typical <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
configuration) and they would go in one of these sub- <BR>directories.&nbsp; I 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; think I figured out that this would be enough 
directories to <BR>decently <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; cache a pretty 
large area (say, all of the <st1:country-region w:st="on"><st1:place 
w:st="on">US</st1:place></st1:country-region>) without running 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">into <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; file 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; system limits for most scales. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; It would be 
interesting to know the limits on: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; * files per directory 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; * directories per directory 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; * total number of directories 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; * total number of files 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; * minimum block(?) size in the file system 
compared to typical <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">size <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; of a 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; tile (wasted space per tile). 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; for various 
operating systems/file system combinations.&nbsp; I 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">know <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">we use <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; ReiserFS because 
it handles lots of small files better than <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">ext3 <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">for <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; instance.&nbsp; 
Knowing some of this might help make the caching <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">system <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; more 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; tunable in different environments. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; Paul 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; On 13-Jan-07, 
at 11:09 AM, Traian Stanev wrote: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Can you also give an example for tiles with 
negative indices? <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; For example if in the 
current scheme the tile is -33, -64, <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">what <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">would <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; be the 
resulting directory path? <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; R-2/C-3/-3_-4 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; What 
about tile -1,-1 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Another suggestion I have -- name the 
folder part of the path <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">(30 * <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; tile index 
div 30) and then the file part would be (tile <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">index mod <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 30). 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; So for 
tile 33,64 the folder would be: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Base Layer Group/30/60/3_4.png 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; And 
for tile -33,-64 the folder would be: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Base Layer Group/-30/-60/-3_-4.png 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; For 
tile 1,1, the folder would be: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Base Layer Group/0/0/1_1.png 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; For 
tile -1,-1 the folder would be: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Base Layer Group/-0/-0/-1_-1.png 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; It's a little weird around 0, but it allows 
for arbitrary <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; groupings of 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; tiles in 
folders (they don't have to be 30x30) since the tile 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">index <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; can be 
computed directly from the file path, by adding the 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">folder <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; term 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; to the 
file path term. <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Also, can you tell us what the problem is 
with having too <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">many <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">images <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; in one 
directory? Is it a file system issue? And how many <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">tiles is <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; the 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; limit, 
i.e. why is 30x30 the preferred grouping and not <BR>1000x1000 for 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; example? 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Traian 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; -----Original Message----- 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; From: <A 
href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</A> 
on behalf of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Jason <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Birch 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Sent: Fri 1/12/2007 8:57 PM 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; To: <st1:PersonName w:st="on">MapGuide 
Internals Mail List</st1:PersonName> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Cc: 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Subject: RE: [mapguide-internals] RFC 
required for tile <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">caching <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; changes? 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Can I 
forward this to the "tiling" list for comment? 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; From: <A 
href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</A> 
on behalf of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Chris <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Claydon 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Sent: Fri 2007-01-12 12:24 PM 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; To: <st1:PersonName w:st="on">MapGuide 
Internals Mail List</st1:PersonName> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
Subject: RE: [mapguide-internals] RFC required for tile 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">caching <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; changes? 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; A 
sample tile location would be as follows: <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
......\ <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">Repositories\TileCache\Samples_Sheboygan_Maps_Sheboygan\7 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; \Base 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Layer Group\R2\C3\3_4.png 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; The R and C indices correspond to rows and 
columns where each <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">row <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; contains 30 tiles 
vertically and each column contains 30 <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">tiles <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; horizontally. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; This indicates that: 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
We're at zoom level 7 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
We're in grouped row 2 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
We're in grouped column 3 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The 
tile location within this grouped row/column 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; combination is (3,4). 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; The R and C indices never take a zero value 
(to avoid issues <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">with <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; negative values around 
the origin), so this tile corresponds <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">to a <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; location of (33, 64) in 
the old scheme. <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; I took 
a quick look at the Tile Map Service Specification, 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">but it <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; doesn't appear to 
support the concept of grouping blocks of <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">tiles <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; into subfolders in its 
current form. Can you provide more <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
information on whether this is possible? <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Chris. 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 
_______________________________________________ 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; mapguide-internals mailing list 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; |Paul 
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A> 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp; | <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; |Chief Technology Officer 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp; | <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; |DM Solutions Group Inc 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><A 
href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A> | 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><FONT face="Times New Roman" 
color=black size=3><SPAN style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
_______________________________________________ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
mapguide-internals mailing list <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
_______________________________________________ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; 
mapguide-internals mailing list <BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&gt; <A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;|Paul 
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A> 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;| <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;|Chief Technology Officer 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;| <BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;|DM Solutions Group Inc 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><A 
href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A> | 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;+-----------------------------------------------------------------+ 
<BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;_______________________________________________ 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;mapguide-internals mailing list 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR>&lt;winmail.dat&gt; 
<BR>_______________________________________________ <BR>mapguide-internals 
mailing list <BR><A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR><A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><FONT face="Times New Roman" 
color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR>+-----------------------------------------------------------------+ 
<BR>|Paul 
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A 
href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A>&nbsp;&nbsp;&nbsp; 
| <BR>+-----------------------------------------------------------------+ 
<BR>|Chief Technology 
Officer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
| <BR>|DM Solutions Group 
Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A> | 
<BR>+-----------------------------------------------------------------+ 
<BR><BR><BR><BR><BR><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><FONT face="Times New Roman" 
color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><BR>+-----------------------------------------------------------------+ 
<BR>|Paul 
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A 
href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A>&nbsp;&nbsp;&nbsp; 
| <BR>+-----------------------------------------------------------------+ 
<BR>|Chief Technology 
Officer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
| <BR>|DM Solutions Group 
Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<A href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A> | 
<BR>+-----------------------------------------------------------------+ 
<BR><BR><BR><BR><BR>_______________________________________________ 
<BR>mapguide-internals mailing list <BR><A 
href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</A> 
<BR><A 
href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</A> 
<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=3><SPAN 
style="FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P></DIV></BODY></HTML>