[postgis-commits] svn - r2833 - trunk/doc

postgis-commits at postgis.refractions.net postgis-commits at postgis.refractions.net
Mon Jul 7 23:05:42 PDT 2008


Author: mleslie
Date: 2008-07-07 23:05:42 -0700 (Mon, 07 Jul 2008)
New Revision: 2833

Modified:
   trunk/doc/using_postgis.xml
Log:
Added brief descriptions to the SQL-MM curve types.

Modified: trunk/doc/using_postgis.xml
===================================================================
--- trunk/doc/using_postgis.xml	2008-07-08 05:15:57 UTC (rev 2832)
+++ trunk/doc/using_postgis.xml	2008-07-08 06:05:42 UTC (rev 2833)
@@ -185,25 +185,52 @@
       <itemizedlist>
         <listitem>
           <para>CIRCULARSTRING(0 0, 1 1, 1 0)</para>
+          <para>CIRCULARSTRING(0 0, 4 0, 4 4, 0 4, 0 0)</para>
+          <para>The CIRCULARSTRING is the basic curve type, similar to a 
+          LINESTRING in the linear world.  A single segment required three 
+          points, the start and end points (first and third) and any other 
+          point on the arc.  The exception to this is for a closed circle, 
+          where the start and end points are the same.  In this case the 
+          second point MUST be the center of the arc, ie the opposite side of 
+          the circle.  To chain arcs together, the last point of the previous 
+          arc becomes the first point of the next arc, just like in 
+          LINESTRING.  This means that a valid circular string must have an 
+          odd number of points greated than 1.</para>
         </listitem>
 
         <listitem>
           <para>COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 1, 1 0),(1 0, 0 1))</para>
+          <para>A compound curve is a single, continuous curve that has both 
+          curved (circular) segments and linear segments.  That means that 
+          in addition to having well-formed components, the end point of 
+          every component (except the last) must be coincident with the 
+          start point of the following component.</para>
         </listitem>
 
         <listitem>
           <para>CURVEPOLYGON(CIRCULARSTRING(0 0, 4 0, 4 4, 0 4, 0 0),(1 1, 3
           3, 3 1, 1 1))</para>
+          <para>A CURVEPOLYGON is just like a polygon, with an outer ring 
+          and zero or more inner rings.  The difference is that a ring can 
+          take the form of a circular string, linear string or compound 
+          string.</para>
+          <para>This is currently where PostGIS falls down.  Due to the way 
+          compound strings are represented internally, we cannot yet embed 
+          them within curve polygons.</para>
         </listitem>
 
         <listitem>
           <para>MULTICURVE((0 0, 5 5),CIRCULARSTRING(4 0, 4 4, 8 4))</para>
+          <para>The MULTICURVE is a collection of curves, which can include 
+          linear strings, circular strings or compound strings.</para>
         </listitem>
 
         <listitem>
           <para>MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(0 0, 4 0, 4 4, 0 4, 0
           0),(1 1, 3 3, 3 1, 1 1)),((10 10, 14 12, 11 10, 10 10),(11 11, 11.5
           11, 11 11.5, 11 11)))</para>
+          <para>This is a collection of surfaces, which can be (linear) 
+          polygons or curve polygons.</para>
         </listitem>
       </itemizedlist>
 
@@ -1811,4 +1838,4 @@
       <para>...</para>
     </sect2>
   </sect1>
-</chapter>
\ No newline at end of file
+</chapter>



More information about the postgis-commits mailing list