<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Follow the arrows</title>
	<atom:link href="http://blog.geoserver.org/2009/04/02/follow-the-arrows/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/</link>
	<description>Everything GeoServer, and a little more</description>
	<lastBuildDate>Sat, 31 Jul 2010 17:28:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Paul Ramsey</title>
		<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/comment-page-1/#comment-36348</link>
		<dc:creator>Paul Ramsey</dc:creator>
		<pubDate>Mon, 11 May 2009 18:28:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.geoserver.org/?p=191#comment-36348</guid>
		<description>I found that I needed two other parameters in the SLD to get this to work for me. I needed this between Font and Fill:

&lt;LabelPlacement&gt;
&lt;LinePlacement&gt;
&lt;PerpendicularOffset&gt;0&lt;/PerpendicularOffset&gt; 
&lt;/LinePlacement&gt; 
&lt;/LabelPlacement&gt;

And this after Fill:

&lt;VendorOption name=&quot;followLine&quot;&gt;true&lt;/VendorOption&gt;
&lt;VendorOption name=&quot;forceLeftToRight&quot;&gt;false&lt;/VendorOption&gt;</description>
		<content:encoded><![CDATA[<p>I found that I needed two other parameters in the SLD to get this to work for me. I needed this between Font and Fill:</p>
<p>&lt;LabelPlacement&gt;<br />
&lt;LinePlacement&gt;<br />
&lt;PerpendicularOffset&gt;0&lt;/PerpendicularOffset&gt;<br />
&lt;/LinePlacement&gt;<br />
&lt;/LabelPlacement&gt;</p>
<p>And this after Fill:</p>
<p>&lt;VendorOption name=&#8221;followLine&#8221;&gt;true&lt;/VendorOption&gt;<br />
&lt;VendorOption name=&#8221;forceLeftToRight&#8221;&gt;false&lt;/VendorOption&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Harald Wellmann</title>
		<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/comment-page-1/#comment-33131</link>
		<dc:creator>Harald Wellmann</dc:creator>
		<pubDate>Tue, 07 Apr 2009 14:36:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.geoserver.org/?p=191#comment-33131</guid>
		<description>Very helpful! I just posted a question about drawing arrows on the uDig mailing list, and received a link to this post.

I tried the second approach from Christoph&#039;s comments in uDig. There is a screenshot in my blog: 

http://hwellmann.blogspot.com/2009/04/arrows-with-styled-layer-descriptor.html</description>
		<content:encoded><![CDATA[<p>Very helpful! I just posted a question about drawing arrows on the uDig mailing list, and received a link to this post.</p>
<p>I tried the second approach from Christoph&#8217;s comments in uDig. There is a screenshot in my blog: </p>
<p><a href="http://hwellmann.blogspot.com/2009/04/arrows-with-styled-layer-descriptor.html" rel="nofollow">http://hwellmann.blogspot.com/2009/04/arrows-with-styled-layer-descriptor.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Pumphrey</title>
		<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/comment-page-1/#comment-32948</link>
		<dc:creator>Mike Pumphrey</dc:creator>
		<pubDate>Mon, 06 Apr 2009 15:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.geoserver.org/?p=191#comment-32948</guid>
		<description>Hey Christoph.  Thanks for the code.  Do you have a link to a screenshot or some sample output using this SLD?  I&#039;m sure everyone would like to see it.

(And I&#039;ll look into getting some comment previewing set up.)</description>
		<content:encoded><![CDATA[<p>Hey Christoph.  Thanks for the code.  Do you have a link to a screenshot or some sample output using this SLD?  I&#8217;m sure everyone would like to see it.</p>
<p>(And I&#8217;ll look into getting some comment previewing set up.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christoph</title>
		<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/comment-page-1/#comment-32898</link>
		<dc:creator>Christoph</dc:creator>
		<pubDate>Mon, 06 Apr 2009 07:40:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.geoserver.org/?p=191#comment-32898</guid>
		<description>I&#039;m sorry, this was my first post. I try another one with xml quoted. Why there is no button for testing comments?


  &lt;Rule&gt;
    &lt;ogc:Filter&gt;
     &lt;ogc:Or&gt;
     	&lt;ogc:PropertyIsEqualTo&gt;
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;
     	 &lt;ogc:Literal&gt;yes&lt;/ogc:Literal&gt;
     	&lt;/ogc:PropertyIsEqualTo&gt;
     	&lt;ogc:PropertyIsEqualTo&gt;
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;
     	 &lt;ogc:Literal&gt;true&lt;/ogc:Literal&gt;
     	&lt;/ogc:PropertyIsEqualTo&gt;
     	&lt;ogc:PropertyIsEqualTo&gt;
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;
     	 &lt;ogc:Literal&gt;1&lt;/ogc:Literal&gt;
     	&lt;/ogc:PropertyIsEqualTo&gt;
     &lt;/ogc:Or&gt;
    &lt;/ogc:Filter&gt;
    &lt;MaxScaleDenominator&gt;10000&lt;/MaxScaleDenominator&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;1&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 12 10 152&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;2&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 12 9 153&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;3&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 18 2 154&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;4&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 18 1 155&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
   &lt;/Rule&gt;
   &lt;Rule&gt;
    &lt;ogc:Filter&gt;
     &lt;ogc:PropertyIsEqualTo&gt;
      &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;
      &lt;ogc:Literal&gt;-1&lt;/ogc:Literal&gt;
     &lt;/ogc:PropertyIsEqualTo&gt;
    &lt;/ogc:Filter&gt;
    &lt;MaxScaleDenominator&gt;10000&lt;/MaxScaleDenominator&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;1&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 12 10 152&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;2&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 13 9 152&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;3&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 14 2 158&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
    &lt;LineSymbolizer&gt;
     &lt;Stroke&gt;
      &lt;CssParameter name=&quot;stroke&quot;&gt;#6c70d5&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-width&quot;&gt;4&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-linejoin&quot;&gt;bevel&lt;/CssParameter&gt;
      &lt;CssParameter name=&quot;stroke-dasharray&quot;&gt;0 15 1 158&lt;/CssParameter&gt;
     &lt;/Stroke&gt;
    &lt;/LineSymbolizer&gt;
   &lt;/Rule&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;m sorry, this was my first post. I try another one with xml quoted. Why there is no button for testing comments?</p>
<p>  &lt;Rule&gt;<br />
    &lt;ogc:Filter&gt;<br />
     &lt;ogc:Or&gt;<br />
     	&lt;ogc:PropertyIsEqualTo&gt;<br />
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;<br />
     	 &lt;ogc:Literal&gt;yes&lt;/ogc:Literal&gt;<br />
     	&lt;/ogc:PropertyIsEqualTo&gt;<br />
     	&lt;ogc:PropertyIsEqualTo&gt;<br />
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;<br />
     	 &lt;ogc:Literal&gt;true&lt;/ogc:Literal&gt;<br />
     	&lt;/ogc:PropertyIsEqualTo&gt;<br />
     	&lt;ogc:PropertyIsEqualTo&gt;<br />
     	 &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;<br />
     	 &lt;ogc:Literal&gt;1&lt;/ogc:Literal&gt;<br />
     	&lt;/ogc:PropertyIsEqualTo&gt;<br />
     &lt;/ogc:Or&gt;<br />
    &lt;/ogc:Filter&gt;<br />
    &lt;MaxScaleDenominator&gt;10000&lt;/MaxScaleDenominator&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;1&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 12 10 152&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;2&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 12 9 153&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;3&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 18 2 154&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;4&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 18 1 155&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
   &lt;/Rule&gt;<br />
   &lt;Rule&gt;<br />
    &lt;ogc:Filter&gt;<br />
     &lt;ogc:PropertyIsEqualTo&gt;<br />
      &lt;ogc:PropertyName&gt;oneway&lt;/ogc:PropertyName&gt;<br />
      &lt;ogc:Literal&gt;-1&lt;/ogc:Literal&gt;<br />
     &lt;/ogc:PropertyIsEqualTo&gt;<br />
    &lt;/ogc:Filter&gt;<br />
    &lt;MaxScaleDenominator&gt;10000&lt;/MaxScaleDenominator&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;1&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 12 10 152&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;2&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 13 9 152&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;3&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 14 2 158&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
    &lt;LineSymbolizer&gt;<br />
     &lt;Stroke&gt;<br />
      &lt;CssParameter name=&#8221;stroke&#8221;&gt;#6c70d5&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-width&#8221;&gt;4&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-linejoin&#8221;&gt;bevel&lt;/CssParameter&gt;<br />
      &lt;CssParameter name=&#8221;stroke-dasharray&#8221;&gt;0 15 1 158&lt;/CssParameter&gt;<br />
     &lt;/Stroke&gt;<br />
    &lt;/LineSymbolizer&gt;<br />
   &lt;/Rule&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christoph</title>
		<link>http://blog.geoserver.org/2009/04/02/follow-the-arrows/comment-page-1/#comment-32894</link>
		<dc:creator>Christoph</dc:creator>
		<pubDate>Mon, 06 Apr 2009 07:29:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.geoserver.org/?p=191#comment-32894</guid>
		<description>There is another alternative to get quite cool looking direction arrows. I use it to get the oneway streets from Openstreetmap labeled. The trick is to use some kinds of dasharray strokes to make it look like arrows. Try out the following rules (one for oneway streets in forward direction and one for backward direction). You have to adapt the filter to your data and have fun!


   
    
     
     	
     	 oneway
     	 yes
     	
     	
     	 oneway
     	 true
     	
     	
     	 oneway
     	 1
     	
     
    
    10000
    
     
      #6c70d5
      1
      bevel
      0 12 10 152
     
    
    
     
      #6c70d5
      2
      bevel
      0 12 9 153
     
    
    
     
      #6c70d5
      3
      bevel
      0 18 2 154
     
    
    
     
      #6c70d5
      4
      bevel
      0 18 1 155
     
    
   
   
    
     
      oneway
      -1
     
    
    10000
    
     
      #6c70d5
      1
      bevel
      0 12 10 152
     
    
    
     
      #6c70d5
      2
      bevel
      0 13 9 152
     
    
    
     
      #6c70d5
      3
      bevel
      0 14 2 158
     
    
    
     
      #6c70d5
      4
      bevel
      0 15 1 158
     
    
   </description>
		<content:encoded><![CDATA[<p>There is another alternative to get quite cool looking direction arrows. I use it to get the oneway streets from Openstreetmap labeled. The trick is to use some kinds of dasharray strokes to make it look like arrows. Try out the following rules (one for oneway streets in forward direction and one for backward direction). You have to adapt the filter to your data and have fun!</p>
<p>     	 oneway<br />
     	 yes</p>
<p>     	 oneway<br />
     	 true</p>
<p>     	 oneway<br />
     	 1</p>
<p>    10000</p>
<p>      #6c70d5<br />
      1<br />
      bevel<br />
      0 12 10 152</p>
<p>      #6c70d5<br />
      2<br />
      bevel<br />
      0 12 9 153</p>
<p>      #6c70d5<br />
      3<br />
      bevel<br />
      0 18 2 154</p>
<p>      #6c70d5<br />
      4<br />
      bevel<br />
      0 18 1 155</p>
<p>      oneway<br />
      -1</p>
<p>    10000</p>
<p>      #6c70d5<br />
      1<br />
      bevel<br />
      0 12 10 152</p>
<p>      #6c70d5<br />
      2<br />
      bevel<br />
      0 13 9 152</p>
<p>      #6c70d5<br />
      3<br />
      bevel<br />
      0 14 2 158</p>
<p>      #6c70d5<br />
      4<br />
      bevel<br />
      0 15 1 158</p>
]]></content:encoded>
	</item>
</channel>
</rss>
