<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">My pull request
(<a class="moz-txt-link-freetext" href="https://github.com/mapserver/mapserver/pull/5199">https://github.com/mapserver/mapserver/pull/5199</a>) implements a
gutter in WMS mode.<br>
<br>
It is rather unobtrusive and straightforward. I am using it in
production for quit some time now.<br>
I could not find any side effects, but I did not try in
combination with labeling or extremely large symbols.<br>
<br>
Maybe a nice moment to review and/ or test by Patrick?<br>
<br>
MArco <br>
<br>
On 17-02-16 18:01, Lime, Steve D (MNIT) wrote:<br>
</div>
<blockquote
cite="mid:C549F0496453D842B4DD71AC8188DDC518DE93CF@055-CH1MPN1-042.055d.mgd.msft.net"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (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]-->
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:987635844;
mso-list-type:hybrid;
mso-list-template-ids:-587593790 1186647982 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:22.5pt;
text-indent:-.25in;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:58.5pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:94.5pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:130.5pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:166.5pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:202.5pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:238.5pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:274.5pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:310.5pt;
text-indent:-.25in;
font-family:Wingdings;}
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]-->
<div class="WordSection1">
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">My
memory is lousy I guess. Expanding the search rect used
based on style sizes and to account for the use case Thomas
mentions seems logical to me (more efficient), that or a
gutter (probably easier). Needs a small RFC IMHO as I’m sure
there would be side effects.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">In
terms of what might be done immediately in Patrick’s case.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph"
style="margin-left:22.5pt;text-indent:-.25in;mso-list:l0
level1 lfo1">
<!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
style="mso-list:Ignore">-<span style="font:7.0pt
"Times New Roman"">
</span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I
wonder if using CIRCLE shapes might work. A circle must be
defined by a minimum bounding rectangle. That is, two points
that define the smallest square that can contain it. These
two points are the two opposite corners of said box. Since
the which shapes function operates on bounding boxes it
should identify any of the circles that intersect the map
extent.
<o:p></o:p></span></p>
<p class="MsoListParagraph"
style="margin-left:22.5pt;text-indent:-.25in;mso-list:l0
level1 lfo1">
<!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
style="mso-list:Ignore">-<span style="font:7.0pt
"Times New Roman"">
</span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Issues
like this are also handled correctly with tiling (mapcache)
if I’m not mistaken – and you can define a metatile gutter.
Maybe that could be used. You could set up tiling and then
make arbitrary WMS calls against mapcache if you had to, or
even just use the tiles directly.<o:p></o:p></span></p>
<p class="MsoListParagraph"
style="margin-left:22.5pt;text-indent:-.25in;mso-list:l0
level1 lfo1">
<!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
style="mso-list:Ignore">-<span style="font:7.0pt
"Times New Roman"">
</span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Go
the PostGIS route as suggested by Ambrogio…<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Steve<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
deduikertjes [<a class="moz-txt-link-freetext" href="mailto:deduikertjes@xs4all.nl">mailto:deduikertjes@xs4all.nl</a>]
<br>
<b>Sent:</b> Tuesday, February 16, 2016 1:44 AM<br>
<b>To:</b> thomas bonfort
<a class="moz-txt-link-rfc2396E" href="mailto:thomas.bonfort@gmail.com"><thomas.bonfort@gmail.com></a>; Lime, Steve D (MNIT)
<a class="moz-txt-link-rfc2396E" href="mailto:Steve.Lime@state.mn.us"><Steve.Lime@state.mn.us></a><br>
<b>Cc:</b> Patrick Meis <a class="moz-txt-link-rfc2396E" href="mailto:Meis@stadt-muenster.de"><Meis@stadt-muenster.de></a>;
<a class="moz-txt-link-abbreviated" href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a><br>
<b>Subject:</b> Re: [mapserver-users] Rendering of
Symbols outside map window<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
>>>That's something we may want to fix.<br>
<br>
If I remember correctly, Mapserver in tile mode draws a
slightly larger tile and crops that one (something
configurable with GUTTER or so). I wrote my the code in my
pull request along the same principle.<br>
Adjusting the query extent when doing whichshapes() and
account for the size of symbols when adjusting the clipping
rectangle once the feature is obtained might be more
efficient?<br>
<br>
But maybe this discussion shoud be done in mapserver-dev?<br>
<br>
MArco<br>
<br>
On 15-02-16 21:23, thomas bonfort wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Steve,<o:p></o:p></p>
<div>
<p class="MsoNormal">IIRC, we account for the size of
symbols when adjusting our clipping rectangle once we
have obtained a feature, but we do not adjust the query
extent when doing whichshapes(). That's something we may
want to fix.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Another use-case would also be when
the DATA statement does something like
"ST_Buffer(the_geom,...) as the geom"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">thomas<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 15 February 2016 at 17:44, Lime,
Steve D (MNIT) <<a moz-do-not-send="true"
href="mailto:Steve.Lime@state.mn.us" target="_blank">Steve.Lime@state.mn.us</a>>
wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC
1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">I
know. We use to account for that explicitly.<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif"><o:p> </o:p></span></p>
<div>
<div class="MsoNormal" style="text-align:center"
align="center">
<hr align="center" size="2" width="100%">
</div>
<div>
<p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">
deduikertjes [<a moz-do-not-send="true"
href="mailto:deduikertjes@xs4all.nl"
target="_blank">deduikertjes@xs4all.nl</a>]<br>
<b>Sent:</b> Monday, February 15, 2016 2:44
AM<br>
<b>To:</b> Lime, Steve D (MNIT); Patrick
Meis <o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif"><br>
<b>Cc:</b> <a moz-do-not-send="true"
href="mailto:mapserver-users@lists.osgeo.org"
target="_blank">mapserver-users@lists.osgeo.org</a><br>
<b>Subject:</b> Re: [mapserver-users]
Rendering of Symbols outside map window<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Steve,<br>
<br>
I think the key part in the question is
here:<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">"
and the center point of the symbol is no
longer inside the map window".<o:p></o:p></p>
<p class="MsoNormal">To my experience a
symbol doesn't get drawn at all when the
point which is symbolized is outside the
requested extent (WMS mode at least).<br>
<br>
To solve that I created the mentioned
pull request.<br>
<br>
Or do I miss something?<br>
<br>
MArco<br>
<br>
<br>
On 13-02-16 00:17, Lime, Steve D (MNIT)
wrote:<o:p></o:p></p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">This
should already be happening. The
drawing code traverses a layer's
class/styles to commute a selection
and clipping rectangle that is
larger than the map extent.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif"><o:p> </o:p></span></p>
<div>
<div class="MsoNormal"
style="text-align:center"
align="center">
<hr align="center" size="2"
width="100%">
</div>
<div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><b><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma",sans-serif">
mapserver-users [<a
moz-do-not-send="true"
href="mailto:mapserver-users-bounces@lists.osgeo.org"><a class="moz-txt-link-abbreviated" href="mailto:mapserver-users-bounces@lists.osgeo.org">mapserver-users-bounces@lists.osgeo.org</a></a>]
on behalf of mdprive [<a
moz-do-not-send="true"
href="mailto:deduikertjes@xs4all.nl"><a class="moz-txt-link-abbreviated" href="mailto:deduikertjes@xs4all.nl">deduikertjes@xs4all.nl</a></a>]<br>
<b>Sent:</b> Friday, February
12, 2016 4:15 PM<br>
<b>To:</b> Patrick Meis<br>
<b>Cc:</b> <a
moz-do-not-send="true"
href="mailto:mapserver-users@lists.osgeo.org"><a class="moz-txt-link-abbreviated" href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a></a><br>
<b>Subject:</b> Re:
[mapserver-users] Rendering of
Symbols outside map window</span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Hi Patrick,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">i've
submitted a pull request for
extending the map by a buffer
and then clipping it, so that
partial symbols on the edge
get rendered as well (wms non
tiled mode).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">maybe you
can build from sources and use
this patch to solve your
problem.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">marco<br>
<br>
-- <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"
style="margin-bottom:12.0pt"><br>
Op 11 feb. 2016 om 21:54 heeft
Ambrogio Foletti <<a
moz-do-not-send="true"
href="mailto:afoletti@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:afoletti@gmail.com">afoletti@gmail.com</a></a>>
het volgende geschreven:<o:p></o:p></p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Hello
Patrick, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">if
you are using PostGIS as
datasource, I would
solve the problem by
integrating a st_buffer
in the DATA element
itself ;) The added
bonus is that you will
get the attribute values
from a GetFeatureInfo
(if implemented) in the
whole buffer zone.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If
not, you can try to use
tile mode, and add some
metabuffer (<a
moz-do-not-send="true"
href="http://mapserver.org/output/tile_mode.html" target="_blank">see
mapserver doc</a>)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">A.
Foletti<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">2016-02-05
10:58 GMT+01:00 Patrick
Meis <<a
moz-do-not-send="true"
href="mailto:Meis@stadt-muenster.de"><a class="moz-txt-link-abbreviated" href="mailto:Meis@stadt-muenster.de">Meis@stadt-muenster.de</a></a>>:<o:p></o:p></p>
<blockquote
style="border:none;border-left:solid
#CCCCCC
1.0pt;padding:0in 0in
0in
6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
lang="DE">Hallo,
<o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
lang="DE"> <o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">i have
stumbled on a
problem.<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I am
simulating a
buffering of
point-data with
the help of
symbols, which I
have set to
<span lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">sizeunit =
meters<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">size = 760<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">These rather
big symbols
disappear from my
map when I zoom in
and
<span lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">the center
point of the
symbol is no
longer inside the
map window.<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">But a
significant part
of the symbol
should still be
displayed.<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Is there any
possibility of
extending the
rendered map, so
that the symbols
of my points<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">are still
rendered even when
they are outside
my map window?<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Greetz<span
lang="DE"><o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Patrick<span
lang="DE"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
mapserver-users
mailing list<br>
<a
moz-do-not-send="true"
href="mailto:mapserver-users@lists.osgeo.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a></a><br>
<a
moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/mapserver-users"
target="_blank"><a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/mapserver-users">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a></a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
mapserver-users mailing list<br>
<a moz-do-not-send="true"
href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a><br>
<a moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/mapserver-users"
target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
<br>
</body>
</html>