Class SurfaceTests
java.lang.Object
org.opengis.cite.iso19136.data.DataFixture
org.opengis.cite.iso19136.data.spatial.SurfaceTests
Validates the content of a gml:Surface element (or any element in its substitution
group), which implements the GM_Surface class from ISO 19107. A surface is a
2-dimensional primitive composed of one or more surface patches.
A surface has an "up" direction in terms of the upward (positive) normal, which is the side of the surface from which the exterior boundary appears counterclockwise and interior boundaries are traversed in a clockwise manner (see figure below). If the surface is the boundary of a solid, the "up" direction is usually outward.
Sources
- ISO 19136:2007, cl. 10.5.10 SurfaceType, Surface
- ISO 19107:2003, cl. 6.3.17 GM_Surface
-
Field Summary
Fields inherited from class org.opengis.cite.iso19136.data.DataFixture
dataFile, model
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
A configuration method (BeforeClass
) that looks for gml:Surface elements in the GML document under test (including any elements in its substitution group).void
[Test
] Verifies that a gml:Surface element has a valid CRS reference.void
[Test
] Checks that the boundary of a surface is topologically correct.void
[Test
] Checks that the orientation of the surface boundary is consistent with the upward normal.Methods inherited from class org.opengis.cite.iso19136.data.DataFixture
generateXPathExpression, initDataFixture, setDataFile, setSchemaModel
-
Field Details
-
surfaceNodes
NodeList surfaceNodes -
surfaceElems
-
-
Constructor Details
-
SurfaceTests
public SurfaceTests()
-
-
Method Details
-
findSurfaces
@BeforeClass public void findSurfaces()A configuration method (BeforeClass
) that looks for gml:Surface elements in the GML document under test (including any elements in its substitution group). If none are found all test methods defined in the class will be skipped. -
surfaceHasValidCRS
public void surfaceHasValidCRS()[Test
] Verifies that a gml:Surface element has a valid CRS reference.Sources
- ISO 19136, cl. 9.10, 10.1.3.2
- ISO 19107, cl. 6.2.2.17 (Coordinate Reference System association)
-
validSurfaceBoundary
public void validSurfaceBoundary()[Test
] Checks that the boundary of a surface is topologically correct. Each component of the surface boundary must be a simple closed curve (ring); that is, it must not self-intersect and it forms a cycle such that the end points are identical. Furthermore, each interior ring must be covered by the surface delimited by the exterior boundary (the rings may touch at a tangent point).Sources
- ISO 19136:2007, cl. 10.5.11.1: Ring, RingType, curveMember
- ISO 19136:2007, cl. 10.5.5: exterior, interior
- ISO 19107:2003, cl. 6.3.6: GM_Ring
- ISO 19107:2003, cl. 6.3.7.2: exterior, interior
-
validSurfaceOrientation
public void validSurfaceOrientation()[Test
] Checks that the orientation of the surface boundary is consistent with the upward normal. In essence, the interior is always to the left of a boundary curve. All patches must be oriented in the same manner.Sources
- ISO 19136:2007, cl. 10.5.10: SurfaceType, Surface
- ISO 19107:2003, cl. 6.3.17: GM_Surface
- ISO 19107:2003, cl. 6.4.34: GM_SurfacePatch
-