add new st_linecrossing graphic, experiment with new style, put in informal table

git-svn-id: http://svn.osgeo.org/postgis/trunk@4484 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
Regina Obe 2009-09-11 21:24:34 +00:00
parent bedfa80299
commit c8f1179ea2
5 changed files with 58 additions and 24 deletions

View file

@ -59,6 +59,7 @@ IMAGES= \
../images/st_isvalid07.png \
../images/st_isvalid08.png \
../images/st_linecrossingdirection01.png \
../images/st_linecrossingdirection02.png \
../images/st_line_interpolate_point01.png \
../images/st_line_substring01.png \
../images/st_minimumboundingcircle01.png \

View file

@ -1,3 +1,2 @@
Style2;LINESTRING(25 169,89 114,40 70,86 43)
Style2;GEOMETRYCOLLECTION(POINT(25 169),POLYGON((80.84 41.66,84.66 48.16,86 43,80.84 41.66)) )
Style2;GEOMETRYCOLLECTION(LINESTRING(25 169,89 114,40 70,86 43), POINT(25 169),POLYGON((78.26 40.98,83.98 50.74,86 43,78.26 40.98)) )
Style1-thinline;GEOMETRYCOLLECTION(LINESTRING(171 154,20 140,71 74,161 53),POINT(171 154),POLYGON((153.15 48.12,156.12 60.85,161 53,153.15 48.12)) )

View file

@ -1,3 +1,2 @@
Style2;LINESTRING(25 169,89 114,40 70,86 43)
Style2;GEOMETRYCOLLECTION(POINT(25 169),POLYGON((80.84 41.66,84.66 48.16,86 43,80.84 41.66)) )
Style1-thinline;GEOMETRYCOLLECTION(LINESTRING(171 154, 20 140, 71 74, 2.99 90.16),POINT(171 154),POLYGON((153.15 48.12,156.12 60.85,161 53,153.15 48.12)) )
Style2-thinline;GEOMETRYCOLLECTION(LINESTRING(25 169,89 114,40 70,86 43), POINT(25 169), POLYGON((80.84 41.66,84.66 48.16,86 43,80.84 41.66)) )
Style1-thinline;GEOMETRYCOLLECTION(LINESTRING(171 154, 20 140, 71 74, 2.99 90.16),POINT(171 154),POLYGON((6.66 84.21,2.99 90.16,8.94 93.83,6.66 84.21)) )

View file

@ -1,7 +1,7 @@
# This file describes the styles used to render the png images
# The styleName attribute for every style should be unique.
#
# To use a style, prefix the wkt string with the styleName; i.e.
# To use a style, prefix the wkt string with the styleName; i.e.
# Style1;POINT(50 50)
#
# convert -list color
@ -51,3 +51,13 @@ polygonFillColor = DarkSeaGreen4
polygonStrokeColor = DarkGreen
polygonStrokeWidth = 0
[Style]
# The second layer in the rendered WKT image
styleName = Style2-thinline
pointSize = 6
pointColor = DarkSeaGreen4
lineWidth = 3
lineColor = DarkSeaGreen4
polygonFillColor = DarkSeaGreen4
polygonStrokeColor = DarkGreen
polygonStrokeWidth = 0

View file

@ -9677,38 +9677,63 @@ WHERE ST_Crosses(roads.the_geom, highways.the_geom);</programlisting>
<refsection>
<title>Examples</title>
<!-- TODO: We really badly need diagrams here and more examples -->
<informalfigure>
<mediaobject>
<imageobject>
<imagedata fileref="images/st_linecrossingdirection01.png" />
</imageobject>
<caption><para>Line 1 fat line, Line 2 thin line, ball is start point,
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry><para><informalfigure>
<mediaobject>
<imageobject>
<imagedata fileref="images/st_linecrossingdirection01.png" />
</imageobject>
<caption><para>Line 1 (green), Line 2 ball is start point,
triangle are end points. Query below. </para></caption>
</mediaobject>
</informalfigure>
<programlisting>SELECT ST_LineCrossingDirection(foo.line1, foo.line2) As l1_cross_l2 ,
</mediaobject>
</informalfigure>
<programlisting>
SELECT ST_LineCrossingDirection(foo.line1, foo.line2) As l1_cross_l2 ,
ST_LineCrossingDirection(foo.line2, foo.line1) As l2_cross_l1
FROM (SELECT
FROM (SELECT
ST_GeomFromText('LINESTRING(25 169,89 114,40 70,86 43)') As line1,
ST_GeomFromText('LINESTRING(171 154,20 140,71 74,161 53)') As line2
ST_GeomFromText('LINESTRING(171 154,20 140,71 74,161 53)') As line2
) As foo;
l1_cross_l2 | l2_cross_l1
-------------+-------------
3 | -3
</programlisting>
<programlisting>
SELECT ST_LineCrossingDirection(foo.line1, foo.line2) As l1_cross_l2 ,
</programlisting>
</para>
</entry>
<entry>
<para><informalfigure>
<mediaobject>
<imageobject>
<imagedata fileref="images/st_linecrossingdirection02.png" />
</imageobject>
<caption><para>Line 1 (green), Line 2 ball is start point,
triangle are end points. Query below.</para></caption>
</mediaobject>
</informalfigure>
<programlisting>
SELECT ST_LineCrossingDirection(foo.line1, foo.line2) As l1_cross_l2 ,
ST_LineCrossingDirection(foo.line2, foo.line1) As l2_cross_l1
FROM (SELECT
FROM (SELECT
ST_GeomFromText('LINESTRING(25 169,89 114,40 70,86 43)') As line1,
ST_GeomFromText('LINESTRING (171 154, 20 140, 71 74, 2.99 90.16)') As line2
) As foo;
l1_cross_l2 | l2_cross_l1
l1_cross_l2 | l2_cross_l1
-------------+-------------
2 | -3
</programlisting>
2 | -3
</programlisting>
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<programlisting>
SELECT s1.gid, s2.gid, ST_LineCrossingDirection(s1.the_geom, s2.the_geom)
FROM streets s1 CROSS JOIN streets s2 ON (s1.gid != s2.gid AND s1.the_geom &amp;&amp; s2.the_geom )