📄 geometryfilterimpl.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.4.2_13) on Tue Jun 05 11:36:27 GMT-05:00 2007 --><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><TITLE>GeometryFilterImpl (Geotools 2.3.x 2.3.2 API)</TITLE><META NAME="keywords" CONTENT="org.geotools.filter.GeometryFilterImpl class"><META NAME="keywords" CONTENT="addLeftGeometry()"><META NAME="keywords" CONTENT="setExpression1()"><META NAME="keywords" CONTENT="addRightGeometry()"><META NAME="keywords" CONTENT="setExpression2()"><META NAME="keywords" CONTENT="getLeftGeometry()"><META NAME="keywords" CONTENT="getRightGeometry()"><META NAME="keywords" CONTENT="validate()"><META NAME="keywords" CONTENT="evaluate()"><META NAME="keywords" CONTENT="toString()"><META NAME="keywords" CONTENT="equals()"><META NAME="keywords" CONTENT="hashCode()"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="GeometryFilterImpl (Geotools 2.3.x 2.3.2 API)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/GeometryFilterImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../org/geotools/filter/GeometryExpressionImpl.html" title="class in org.geotools.filter"><B>PREV CLASS</B></A> <A HREF="../../../org/geotools/filter/HsqlFilterFactoryImpl.html" title="class in org.geotools.filter"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="GeometryFilterImpl.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_BinaryComparisonAbstract">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.geotools.filter</FONT><BR>Class GeometryFilterImpl</H2><PRE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/geotools/filter/FilterAbstract.html" title="class in org.geotools.filter">FilterAbstract</A> <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/geotools/filter/AbstractFilter.html" title="class in org.geotools.filter">AbstractFilter</A> <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/geotools/filter/BinaryComparisonAbstract.html" title="class in org.geotools.filter">BinaryComparisonAbstract</A> <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>GeometryFilterImpl</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>BinaryComparisonOperator, BinarySpatialOperator, <A HREF="../../../org/geotools/filter/Filter.html" title="interface in org.geotools.filter">Filter</A>, Filter, <A HREF="../../../org/geotools/filter/FilterType.html" title="interface in org.geotools.filter">FilterType</A>, <A HREF="../../../org/geotools/filter/GeometryFilter.html" title="interface in org.geotools.filter">GeometryFilter</A>, SpatialOperator</DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/geotools/filter/spatial/BBOXImpl.html" title="class in org.geotools.filter.spatial">BBOXImpl</A>, <A HREF="../../../org/geotools/filter/CartesianDistanceFilter.html" title="class in org.geotools.filter">CartesianDistanceFilter</A>, <A HREF="../../../org/geotools/filter/spatial/ContainsImpl.html" title="class in org.geotools.filter.spatial">ContainsImpl</A>, <A HREF="../../../org/geotools/filter/spatial/CrossesImpl.html" title="class in org.geotools.filter.spatial">CrossesImpl</A>, <A HREF="../../../org/geotools/filter/spatial/DisjointImpl.html" title="class in org.geotools.filter.spatial">DisjointImpl</A>, <A HREF="../../../org/geotools/filter/spatial/EqualsImpl.html" title="class in org.geotools.filter.spatial">EqualsImpl</A>, <A HREF="../../../org/geotools/filter/spatial/IntersectsImpl.html" title="class in org.geotools.filter.spatial">IntersectsImpl</A>, <A HREF="../../../org/geotools/filter/spatial/OverlapsImpl.html" title="class in org.geotools.filter.spatial">OverlapsImpl</A>, <A HREF="../../../org/geotools/filter/spatial/TouchesImpl.html" title="class in org.geotools.filter.spatial">TouchesImpl</A>, <A HREF="../../../org/geotools/filter/spatial/WithinImpl.html" title="class in org.geotools.filter.spatial">WithinImpl</A></DD></DL><HR><DL><DT>public abstract class <B>GeometryFilterImpl</B><DT>extends <A HREF="../../../org/geotools/filter/BinaryComparisonAbstract.html" title="class in org.geotools.filter">BinaryComparisonAbstract</A><DT>implements <A HREF="../../../org/geotools/filter/GeometryFilter.html" title="interface in org.geotools.filter">GeometryFilter</A></DL><P>Implements a geometry filter. <p> This filter implements a relationship - of some sort - between two geometry expressions. Note that this comparison does not attempt to restict its expressions to be meaningful. This means that it considers itself a valid filter as long as it contains two <b>geometry</b> sub-expressions. It is also slightly less restrictive than the OGC Filter specification because it does not require that one sub-expression be an geometry attribute and the other be a geometry literal. </p> <p> In other words, you may use this filter to compare two geometries in the same feature, such as: attributeA inside attributeB? You may also compare two literal geometries, although this is fairly meaningless, since it could be reduced (ie. it is always either true or false). This approach is very similar to that taken in the FilterCompare class. </p><P><P><DL><DT><B>Author:</B></DT> <DD>Rob Hranac, TOPP</DD><DT><B>Module:</B></DT><DD><CODE><B>module/main</B></CODE> (<A HREF="http://maven.geotools.fr/repository/org/geotools/gt2-main/"><CODE>gt2-main.jar</CODE></A>) (<A HREF="http://maven.geotools.fr/reports/main/index.html">Maven report</A>) (<A HREF="http://svn.geotools.org/geotools/tags/2.3.2/module/main/src/org/geotools/filter/GeometryFilterImpl.java">SVN head</A>)</DD><DT><B>'TODO:'</B></DT> <DD>REVISIT: make this class (and all filters) immutable, implement cloneable and return new filters when calling addLeftGeometry and addRightG Issues to think through: would be cleaner immutability to have constructor called with left and right Geometries, but this does not jive with SAX parsing, which is one of the biggest uses of filters. But the alternative is not incredibly efficient either, as there will be two filters that are just thrown away every time we make a full geometry filter. These issues extend to most filters, as just about all of them are mutable when creating them. Other issue is that lots of code will need to be changed for immutability. (comments by cholmes) - MUTABLE FACTORIES! Sax and immutability.</DD></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Field Summary</B></FONT></TD></TR></TABLE> <A NAME="fields_inherited_from_class_BinaryComparisonAbstract"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from class <A HREF="../../../org/geotools/filter/BinaryComparisonAbstract.html" title="class in org.geotools.filter">BinaryComparisonAbstract</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../org/geotools/filter/BinaryComparisonAbstract.html#expression1">expression1</A>, <A HREF="../../../org/geotools/filter/BinaryComparisonAbstract.html#expression2">expression2</A></CODE></TD></TR></TABLE> <A NAME="fields_inherited_from_class_AbstractFilter"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from class <A HREF="../../../org/geotools/filter/AbstractFilter.html" title="class in org.geotools.filter">AbstractFilter</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../org/geotools/filter/AbstractFilter.html#filterType">filterType</A>, <A HREF="../../../org/geotools/filter/AbstractFilter.html#permissiveConstruction">permissiveConstruction</A></CODE></TD></TR></TABLE> <A NAME="fields_inherited_from_class_Filter"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from interface <A HREF="../../../org/geotools/filter/Filter.html" title="interface in org.geotools.filter">Filter</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../org/geotools/filter/Filter.html#ALL">ALL</A>, <A HREF="../../../org/geotools/filter/Filter.html#NONE">NONE</A></CODE></TD></TR></TABLE> <A NAME="fields_inherited_from_class_FilterType"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from interface <A HREF="../../../org/geotools/filter/FilterType.html" title="interface in org.geotools.filter">FilterType</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../org/geotools/filter/FilterType.html#BETWEEN">BETWEEN</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_EQUALS">COMPARE_EQUALS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_GREATER_THAN">COMPARE_GREATER_THAN</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_GREATER_THAN_EQUAL">COMPARE_GREATER_THAN_EQUAL</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_LESS_THAN">COMPARE_LESS_THAN</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_LESS_THAN_EQUAL">COMPARE_LESS_THAN_EQUAL</A>, <A HREF="../../../org/geotools/filter/FilterType.html#COMPARE_NOT_EQUALS">COMPARE_NOT_EQUALS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#FID">FID</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_BBOX">GEOMETRY_BBOX</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_BEYOND">GEOMETRY_BEYOND</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_CONTAINS">GEOMETRY_CONTAINS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_CROSSES">GEOMETRY_CROSSES</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_DISJOINT">GEOMETRY_DISJOINT</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_DWITHIN">GEOMETRY_DWITHIN</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_EQUALS">GEOMETRY_EQUALS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_INTERSECTS">GEOMETRY_INTERSECTS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_OVERLAPS">GEOMETRY_OVERLAPS</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_TOUCHES">GEOMETRY_TOUCHES</A>, <A HREF="../../../org/geotools/filter/FilterType.html#GEOMETRY_WITHIN">GEOMETRY_WITHIN</A>, <A HREF="../../../org/geotools/filter/FilterType.html#LIKE">LIKE</A>, <A HREF="../../../org/geotools/filter/FilterType.html#LOGIC_AND">LOGIC_AND</A>, <A HREF="../../../org/geotools/filter/FilterType.html#LOGIC_NOT">LOGIC_NOT</A>, <A HREF="../../../org/geotools/filter/FilterType.html#LOGIC_OR">LOGIC_OR</A>, <A HREF="../../../org/geotools/filter/FilterType.html#NULL">NULL</A></CODE></TD></TR></TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected </CODE></FONT></TD><TD><CODE><B><A HREF="../../../org/geotools/filter/GeometryFilterImpl.html#GeometryFilterImpl(org.geotools.filter.FilterFactory)">GeometryFilterImpl</A></B>(<A HREF="../../../org/geotools/filter/FilterFactory.html" title="interface in org.geotools.filter">FilterFactory</A> factory)</CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected </CODE></FONT></TD><TD><CODE><B><A HREF="../../../org/geotools/filter/GeometryFilterImpl.html#GeometryFilterImpl(org.geotools.filter.FilterFactory, org.opengis.filter.expression.Expression, org.opengis.filter.expression.Expression)">GeometryFilterImpl</A></B>(<A HREF="../../../org/geotools/filter/FilterFactory.html" title="interface in org.geotools.filter">FilterFactory</A> factory, Expression e1, Expression e2)</CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected </CODE></FONT></TD><TD><CODE><B><A HREF="../../../org/geotools/filter/GeometryFilterImpl.html#GeometryFilterImpl(short)">GeometryFilterImpl</A></B>(short filterType)</CODE><BR> Constructor with filter type.</TD></TR></TABLE> <!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../org/geotools/filter/GeometryFilterImpl.html#addLeftGeometry(org.geotools.filter.Expression)">addLeftGeometry</A></B>(<A HREF="../../../org/geotools/filter/Expression.html" title="interface in org.geotools.filter">Expression</A> leftGeometry)</CODE><BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -