<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:st="" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40"
xmlns:ns2="http://schemas.microsoft.com/sharepoint/soap/workflow/"
xmlns:ns3="http://schemas.microsoft.com/office/2006/digsig-setup"
xmlns:ns4="http://schemas.microsoft.com/office/2006/digsig"
xmlns:ns5="http://schemas.openxmlformats.org/package/2006/digital-signature"
xmlns:ns6="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ns0="http://schemas.microsoft.com/office/2004/12/omml"
xmlns:ns7="http://schemas.openxmlformats.org/package/2006/relationships"
xmlns:ns8="http://microsoft.com/sharepoint/webpartpages"
xmlns:ns9="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:ns10="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:ns11="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/"
xmlns:ns12="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService"
xmlns:ns13="urn:schemas-microsoft-com:">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[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
namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--a:link
{mso-style-priority:99;}
span.MSOHYPERLINK
{mso-style-priority:99;}
a:visited
{mso-style-priority:99;}
span.MSOHYPERLINKFOLLOWED
{mso-style-priority:99;}
/* Font Definitions */
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:Calibri;
color:#1F497D;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:Arial;
color:navy;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
-->
</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 link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks everyone! I’m trying to keep up!<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Lime, Steve D
(DNR) [mailto:Steve.Lime@state.mn.us] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, February 15, 2011
12:22 PM<br>
<b><span style='font-weight:bold'>To:</span></b> Tamas Szekeres<br>
<b><span style='font-weight:bold'>Cc:</span></b> mapserver-users<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [mapserver-users]
Buffer features?</span></font><o:p></o:p></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>Not quite, I’m
thinking of a single layer setup:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>LAYER<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> DATA
myfile.shp # or whatever connection information is necessary<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> TYPE POLYGON<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> STATUS
DEFAULT <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> NAME
‘buffered_shapes’<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>
GEOMTRANSFORM (buffer([shape], 500)) # buffer each shape by 500 map units<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> #
classes and styles follow<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'> TEMPLATE
‘void’<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>END<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>The GEOMTRANSFORM
would be applied as shapes are pulled from a data source so you would draw or,
potentially, query the transformed shapes. The difference between a layer-level
GEOMTRANSFORM and a style-level one is the coordinates they operate on.
Layer-level work would be done on a raw feature in map coordinates and
style-level works on pixels. We do layer-level stuff already, conceptually, in
the form of projections and clipping. The GEOMTRANSFORM just provides a way of
extending that work…<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>Note this type of
GEOMTRANSFORM expression is working for buffers in STYLEs in trunk (but using
pixels for the moment).<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'>Steve<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color="#1f497d" face=Calibri><span
style='font-size:11.0pt;font-family:Calibri;color:#1F497D'><o:p> </o:p></span></font></p>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Tamas Szekeres
[mailto:szekerest@gmail.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, February 15, 2011
11:12 AM<br>
<b><span style='font-weight:bold'>To:</span></b> Lime, Steve D (DNR)<br>
<b><span style='font-weight:bold'>Cc:</span></b> mapserver-users<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [mapserver-users]
Buffer features?<o:p></o:p></span></font></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Steve,<br>
<br>
Did you mean to achieve something like?:<br>
<br>
LAYER<br>
CONNECTIONTYPE TRANSFORM<br>
CONNECTION sourcelayer # reference to another
layer<br>
NAME transformlayer<br>
PROCESSING "TRANSFORM=(buffer([shape]))"<br>
TEMPLATE query.html<br>
....<br>
END<br>
LAYER<br>
CONNECTIONTYPE SHAPE<br>
DATA myfile.shp<br>
NAME sourcelayer<br>
....<br>
END<br>
<br>
<br>
Which is simple and easy to implement.<br>
<br>
Best regards,<br>
<br>
Tamas<br>
<br>
<o:p></o:p></span></font></p>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>2011/2/15 Lime, Steve D (DNR) <<a
href="mailto:Steve.Lime@state.mn.us">Steve.Lime@state.mn.us</a>><o:p></o:p></span></font></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'>I’d approach RFC 22, especially the transform piece, differently
now with the parser changes implemented in 6.0. We now have (with GEOS
enabled) an expression syntax available to support things like buffering,
convex hull, differences, etc… or combinations thereof. I’d implement
layer-level GEOMTRANSFORMs in that case using these expressions.</span></font><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'> </span></font><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'>On the query result side of things I’d consider adding a layer
template as a layer option. This would kinda work like the approach outlined
for Bob. You’d define a presentation template layer (no DATA value) and run the
query results through it instead of the regular layer (for certain querymap
types, e.g. highlight).</span></font><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'> </span></font><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'>Steve</span></font><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color="#1f497d" face="Times New Roman"><span style='font-size:11.0pt;
color:#1F497D'> </span></font><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color -moz-use-text-color'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><font
size=2 face="Times New Roman"><span style='font-size:10.0pt;font-weight:bold'>From:</span></font></b><font
size=2><span style='font-size:10.0pt'> <a
href="mailto:mapserver-users-bounces@lists.osgeo.org" target="_blank">mapserver-users-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:mapserver-users-bounces@lists.osgeo.org" target="_blank">mapserver-users-bounces@lists.osgeo.org</a>]
<b><span style='font-weight:bold'>On Behalf Of </span></b>Tamas Szekeres<br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, February 15, 2011
3:06 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Bistrais,
Bob</st1:PersonName><br>
<b><span style='font-weight:bold'>Cc:</span></b> mapserver-users<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [mapserver-users]
Buffer features?</span></font><o:p></o:p></p>
</div>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>In accordance with
the problem mentioned, I recall a resonable enhancement as described in <a
href="http://www.mapserver.org/development/rfc/ms-rfc-22a.html" target="_blank">RFC22a</a>
which would provide an option to configure all the stuff in the mapfile (not
requiring MapScript) and would make it easier to customize the query maps as
well.<br>
<br>
With this enhancement 2 new layer data providers could be implemented, like:<br>
<br>
1. CONNECTIONTYPE=QUERYRESULT would provide to represent the result sets of one
layer in a new layer.<br>
2. CONNECTIONTYPE=TRANSFORM would provide simple geometry transformations on a
source layer and then provide the modified features as a new layer.<br>
<br>
By chaining these layers together in a map configuration we could get <a
href="http://trac.osgeo.org/mapserver/attachment/ticket/2128/sample4.png"
target="_blank">such results</a> as included in the RFC document.<br>
<br>
I consider this kind of enhancement could be implemented within the scope of
1-2 days of work (comparable with a fully elaborated MapScript solution
providing the same)<br>
<br>
Best regards,<br>
<br>
Tamas<br>
<br>
<o:p></o:p></span></font></p>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>2011/2/14 <st1:PersonName
w:st="on">Bistrais, Bob</st1:PersonName> <<a
href="mailto:Bob.Bistrais@maine.gov" target="_blank">Bob.Bistrais@maine.gov</a>><o:p></o:p></span></font></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 face="Times New Roman"><span style='font-size:10.0pt'>This question may
have come up before, but I haven’t found it in the archives. I would like
to take a selected feature and buffer it to a specified distance. I know
it’s possible to do a queryByPoint with a buffer distance, but I need to create
an actual buffer shape to display on the map. Has anyone done something
like this before? Does MapServer have this capability?</span></font><o:p></o:p></p>
</div>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'><br>
_______________________________________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org" target="_blank">mapserver-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapserver-users"
target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a><o:p></o:p></span></font></p>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>
</div>
</div>
</div>
</div>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>