12.07.2015 Views

PostGIS 1.5.8 Manual - Fedora Project Packages GIT repositories

PostGIS 1.5.8 Manual - Fedora Project Packages GIT repositories

PostGIS 1.5.8 Manual - Fedora Project Packages GIT repositories

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>PostGIS</strong> <strong>1.5.8</strong> <strong>Manual</strong>18 / 3104.1.3 SQL-MM Part 3The SQL Multimedia Applications Spatial specification extends the simple features for SQL spec by defining a number ofcircularly interpolated curves.The SQL-MM definitions include 3dm, 3dz and 4d coordinates, but do not allow the embedding of SRID information.The well-known text extensions are not yet fully supported. Examples of some simple curved geometries are shown below:• CIRCULARSTRING(0 0, 1 1, 1 0)CIRCULARSTRING(0 0, 4 0, 4 4, 0 4, 0 0)The CIRCULARSTRING is the basic curve type, similar to a LINESTRING in the linear world. A single segment requiredthree 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 oppositeside of the circle. To chain arcs together, the last point of the previous arc becomes the first point of the next arc, just like inLINESTRING. This means that a valid circular string must have an odd number of points greated than 1.• COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 1, 1 0),(1 0, 0 1))A compound curve is a single, continuous curve that has both curved (circular) segments and linear segments. That means thatin addition to having well-formed components, the end point of every component (except the last) must be coincident with thestart point of the following component.• CURVEPOLYGON(CIRCULARSTRING(0 0, 4 0, 4 4, 0 4, 0 0),(1 1, 3 3, 3 1, 1 1))Example compound curve in a curve polygon: CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0,2 0, 2 1,2 3, 4 3),(4 3, 4 5, 1 4, 0 0)), CIRCULARSTRING(1.7 1, 1.4 0.4, 1.6 0.4, 1.6 0.5, 1.7 1) )A CURVEPOLYGON is just like a polygon, with an outer ring and zero or more inner rings. The difference is that a ring cantake the form of a circular string, linear string or compound string.As of <strong>PostGIS</strong> 1.4 <strong>PostGIS</strong> supports compound curves in a curve polygon.• MULTICURVE((0 0, 5 5),CIRCULARSTRING(4 0, 4 4, 8 4))The MULTICURVE is a collection of curves, which can include linear strings, circular strings or compound strings.• 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)))This is a collection of surfaces, which can be (linear) polygons or curve polygons.Note<strong>PostGIS</strong> prior to 1.4 does not support compound curves in a curve polygon, but <strong>PostGIS</strong> 1.4 and above do support theuse of Compound Curves in a Curve Polygon.NoteAll floating point comparisons within the SQL-MM implementation are performed to a specified tolerance, currently1E-8.4.2 <strong>PostGIS</strong> Geography TypeThe geography type provides native support for spatial features represented on "geographic" coordinates (sometimes called"geodetic" coordinates, or "lat/lon", or "lon/lat"). Geographic coordinates are spherical coordinates expressed in angular units(degrees).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!