geos_390_docs/namespacegeos_1_1operation_...

129 lines
12 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GEOS: geos::operation::overlay Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation.html">operation</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation_1_1overlay.html">overlay</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">geos::operation::overlay Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Contains classes that perform a topological overlay to compute boolean spatial functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacegeos_1_1operation_1_1overlay_1_1snap"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegeos_1_1operation_1_1overlay_1_1snap.html">snap</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacegeos_1_1operation_1_1overlay_1_1validate"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegeos_1_1operation_1_1overlay_1_1validate.html">validate</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1EdgeSetNoder.html">EdgeSetNoder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nodes a set of edges. <a href="classgeos_1_1operation_1_1overlay_1_1EdgeSetNoder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1ElevationMatrix.html">ElevationMatrix</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1ElevationMatrixCell.html">ElevationMatrixCell</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1ElevationMatrixFilter.html">ElevationMatrixFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1LineBuilder.html">LineBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forms JTS LineStrings out of a the graph of <a class="el" href="classgeos_1_1geomgraph_1_1DirectedEdge.html" title="A directed EdgeEnd. ">geomgraph::DirectedEdge</a> created by an <a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html" title="Computes the geometric overlay of two Geometry. ">OverlayOp</a>. <a href="classgeos_1_1operation_1_1overlay_1_1LineBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1MaximalEdgeRing.html">MaximalEdgeRing</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A ring of <a class="el" href="classgeos_1_1geomgraph_1_1DirectedEdge.html">DirectedEdges</a> which may contain nodes of degree &gt; 2. <a href="classgeos_1_1operation_1_1overlay_1_1MaximalEdgeRing.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1MinimalEdgeRing.html">MinimalEdgeRing</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A ring of <a class="el" href="classgeos_1_1geomgraph_1_1Edge.html">Edges</a> with the property that no node has degree greater than 2. <a href="classgeos_1_1operation_1_1overlay_1_1MinimalEdgeRing.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayNodeFactory.html">OverlayNodeFactory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates nodes for use in the <a class="el" href="classgeos_1_1geomgraph_1_1PlanarGraph.html" title="Represents a directed graph which is embeddable in a planar surface. ">geomgraph::PlanarGraph</a> constructed during overlay operations. NOTE: also used by <a class="el" href="namespacegeos_1_1operation_1_1valid.html" title="Provides classes for testing the validity of geometries. ">operation::valid</a>. <a href="classgeos_1_1operation_1_1overlay_1_1OverlayNodeFactory.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html">OverlayOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the geometric overlay of two Geometry. <a href="classgeos_1_1operation_1_1overlay_1_1OverlayOp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1PointBuilder.html">PointBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a> s from the nodes of an overlay graph. <a href="classgeos_1_1operation_1_1overlay_1_1PointBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1overlay_1_1PolygonBuilder.html">PolygonBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forms Polygon out of a graph of <a class="el" href="classgeos_1_1geomgraph_1_1DirectedEdge.html" title="A directed EdgeEnd. ">geomgraph::DirectedEdge</a>. <a href="classgeos_1_1operation_1_1overlay_1_1PolygonBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains classes that perform a topological overlay to compute boolean spatial functions. </p>
<p>The Overlay Algorithm is used in spatial analysis methods for computing set-theoretic operations (boolean combinations) of input <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometrys</a>. The algorithm for computing the overlay uses the intersection operations supported by topology graphs. To compute an overlay it is necessary to explicitly compute the resultant graph formed by the computed intersections.</p>
<p>The algorithm to compute a set-theoretic spatial analysis method has the following steps:</p>
<ul>
<li>Build topology graphs of the two input geometries. For each geometry all self-intersection nodes are computed and added to the graph.</li>
<li>Compute nodes for all intersections between edges and nodes of the graphs.</li>
<li>Compute the labeling for the computed nodes by merging the labels from the input graphs.</li>
<li>Compute new edges between the compute intersection nodes. Label the edges appropriately.</li>
<li>Build the resultant graph from the new nodes and edges.</li>
<li>Compute the labeling for isolated components of the graph. Add the isolated components to the resultant graph.</li>
<li>Compute the result of the boolean combination by selecting the node and edges with the appropriate labels. Polygonize areas and sew linear geometries together.</li>
</ul>
<h3>Package Specification</h3>
<ul>
<li>Java Topology Suite Technical Specifications</li>
<li><a href="http://www.opengis.org/techno/specs.htm">OpenGIS Simple Features Specification for SQL</a> </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>