|
GeoAPI 1.0 Build 2004-05-18 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
A factory of primitive geometric objects.
All primitives created through this interface will use the
factory's coordinate reference system.
Creating primitives in a different CRS may requires a different instance of
PrimitiveFactory.
Factory? |
| Method Summary | |
|---|---|
Curve |
createCurve(List<CurveSegment> segments)
Takes a list of curve segments with the appropriate end-to-start relationships and creates a curve. |
DirectPosition |
createDirectPosition(double[] coordinates)
Create a direct position at the specified location specified by coordinates. |
Point |
createPoint(double[] coordinates)
Creates a point at the specified location specified by coordinates. |
Point |
createPoint(Position position)
Creates a point at the specified position. |
Primitive |
createPrimitive(Envelope envelope)
Returns an envelope as a primitive. |
Solid |
createSolid(SolidBoundary boundary)
Constructs a solid by indicating its boundary as a collection of shells organized into a solid boundary. |
Surface |
createSurface(List<SurfacePatch> surfaces)
Takes a list of surface patches with the appropriate side-toside relationships and creates a surface. |
Surface |
createSurface(SurfaceBoundary boundary)
Constructs a surface by indicating its boundary as a collection of curves organized into the specified surface boundary. |
CoordinateReferenceSystem |
getCoordinateReferenceSystem()
Returns the coordinate reference system in use for all primitive geometric objects to be created through this interface. |
| Method Detail |
|---|
CoordinateReferenceSystem getCoordinateReferenceSystem()
Primitive createPrimitive(Envelope envelope)
(we ignore the CRS below, assuming that it is a global variable), then we can take the various permutations of the ordinate values to create a list of polygon corners:lowerCorner = (x1, y1) upperCorner = (x2, y2)
If we then apply the convex hull function to the multi point, we get a polygon as a surface. The extent of a polygon in 2D is totally defined by its boundary (internal surface patches are planar and do not need interior control points) which gives us a data type to represent surface in 2D:MultiPoint= { (x1, y1), (x1, y2), (x2, y1), (x2, y2) }
So that the surface boundary record contains the above-cited exterior ring, and an empty set of interior rings (convex sets have no "interior" holes).Ring= {LineString= { (x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)} }
GM_Primitive(GM_Envelope)
DirectPosition createDirectPosition(double[] coordinates)
Point createPoint(double[] coordinates)
Point createPoint(Position position)
GM_Point(GM_Position)
Curve createCurve(List<CurveSegment> segments)
GM_Curve(GM_CurveSegment[1..n])
Surface createSurface(List<SurfacePatch> surfaces)
GM_Surface(GM_SurfacePatch[1..n])
Surface createSurface(SurfaceBoundary boundary)
GM_Surface(GM_SurfaceBoundary)
Solid createSolid(SolidBoundary boundary)
GM_Solid(GM_SolidBoundary)
|
GeoAPI 1.0 Build 2004-05-18 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
|
Symbols, terms and definitions | Copyright OpenGIS® Consortium |