|
| 1 | +:::: header |
| 2 | + |
| 3 | + |
| 4 | +::: header-text |
| 5 | +JTS Topology Suite - Features |
| 6 | +::: |
| 7 | +:::: |
| 8 | + |
| 9 | +::: content |
| 10 | +A description of the features and functions provided by JTS, linked to |
| 11 | +the relevant [Javadoc](javadoc/index.html){.javadoc} for the current |
| 12 | +version. |
| 13 | + |
| 14 | +### Geometry Model |
| 15 | + |
| 16 | +- Support for all |
| 17 | + [Geometry](javadoc/org/locationtech/jts/geom/Geometry.html){.javadoc} |
| 18 | + types defined in the OGC *Simple Features for SQL* specification, |
| 19 | + including: |
| 20 | + - [Point](javadoc/org/locationtech/jts/geom/Point.html){.javadoc} and |
| 21 | + [MultiPoint](javadoc/org/locationtech/jts/geom/MultiPoint.html){.javadoc} |
| 22 | + - [LineString](javadoc/org/locationtech/jts/geom/LineString.html){.javadoc} |
| 23 | + and |
| 24 | + [MultiLineString](javadoc/org/locationtech/jts/geom/MultiLineString.html){.javadoc} |
| 25 | + - [Polygon](javadoc/org/locationtech/jts/geom/Polygon.html){.javadoc} |
| 26 | + and |
| 27 | + [MultiPolygon](javadoc/org/locationtech/jts/geom/MultiPolygon.html){.javadoc} |
| 28 | + - heterogeneous |
| 29 | + [GeometryCollection](javadoc/org/locationtech/jts/geom/GeometryCollection.html){.javadoc} |
| 30 | + |
| 31 | +### Geometry Operations |
| 32 | + |
| 33 | +- Topological |
| 34 | + [validity](javadoc/org/locationtech/jts/geom/Geometry.html#isValid()) |
| 35 | + checking |
| 36 | +- [Area](javadoc/org/locationtech/jts/geom/Geometry.html#getArea()) and |
| 37 | + [Length/Perimeter](javadoc/org/locationtech/jts/geom/Geometry.html#getLength()) |
| 38 | +- [Distance between |
| 39 | + geometries](javadoc/org/locationtech/jts/geom/Geometry.html#distance(org.locationtech.jts.geom.Geometry)) |
| 40 | + and |
| 41 | + [isWithinDistance](javadoc/org/locationtech/jts/geom/Geometry.html#isWithinDistance(org.locationtech.jts.geom.Geometry,%20double)){.javadoc} |
| 42 | + predicate |
| 43 | +- Spatial Predicates based on the Egenhofer DE-9IM model, including the |
| 44 | + named predicates: |
| 45 | + - [contains](javadoc/org/locationtech/jts/geom/Geometry.html#contains(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 46 | + [within](javadoc/org/locationtech/jts/geom/Geometry.html#within(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 47 | + - [covers](javadoc/org/locationtech/jts/geom/Geometry.html#covers(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 48 | + [coveredBy](javadoc/org/locationtech/jts/geom/Geometry.html#coveredBy(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 49 | + - [intersects](javadoc/org/locationtech/jts/geom/Geometry.html#intersects(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 50 | + [disjoint](javadoc/org/locationtech/jts/geom/Geometry.html#disjoint(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 51 | + - [crosses](javadoc/org/locationtech/jts/geom/Geometry.html#crosses(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 52 | + - [overlaps](javadoc/org/locationtech/jts/geom/Geometry.html#overlaps(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 53 | + - [touches](javadoc/org/locationtech/jts/geom/Geometry.html#touches(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 54 | + - [equals](javadoc/org/locationtech/jts/geom/Geometry.html#equals(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 55 | + |
| 56 | + and the general |
| 57 | + [relate](javadoc/org/locationtech/jts/geom/Geometry.html#relate(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 58 | + operation returning the DE-9IM [intersection |
| 59 | + matrix](javadoc/org/locationtech/jts/geom/IntersectionMatrix.html). |
| 60 | +- Overlay functions including |
| 61 | + - [intersection](javadoc/org/locationtech/jts/geom/Geometry.html#intersection(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 62 | + - [difference](javadoc/org/locationtech/jts/geom/Geometry.html#difference(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 63 | + - [union](javadoc/org/locationtech/jts/geom/Geometry.html#union(org.locationtech.jts.geom.Geometry)){.javadoc}, |
| 64 | + - [symmetric |
| 65 | + difference](javadoc/org/locationtech/jts/geom/Geometry.html#symDifference(org.locationtech.jts.geom.Geometry)){.javadoc} |
| 66 | + - [unary |
| 67 | + union](javadoc/org/locationtech/jts/geom/Geometry.html#union()){.javadoc}, |
| 68 | + providing fast union of geometry collections |
| 69 | +- [Buffer](javadoc/org/locationtech/jts/geom/Geometry.html#buffer(double)) |
| 70 | + computation (also known as Minkowski sum with a circle) |
| 71 | + - selection of different [end-cap and |
| 72 | + join](javadoc/org/locationtech/jts/geom/Geometry.html#buffer(double,%20int,%20int)) |
| 73 | + styles. |
| 74 | +- [Convex |
| 75 | + hull](javadoc/org/locationtech/jts/geom/Geometry.html#convexHull()) |
| 76 | +- [Geometric |
| 77 | + simplification](javadoc/org/locationtech/jts/simplify/package-summary.html) |
| 78 | + including the |
| 79 | + [Douglas-Peucker](javadoc/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.html) |
| 80 | + algorithm and [topology-preserving |
| 81 | + simplification](javadoc/org/locationtech/jts/simplify/TopologyPreservingSimplifier.html) |
| 82 | +- Geometric |
| 83 | + [densification](javadoc/org/locationtech/jts/densify/Densifier.html) |
| 84 | +- [Linear |
| 85 | + referencing](javadoc/org/locationtech/jts/linearref/package-summary.html) |
| 86 | + |
| 87 | +### Precision Handling |
| 88 | + |
| 89 | +- Explicit coordinate [Precision |
| 90 | + Model](javadoc/org/locationtech/jts/geom/PrecisionModel.html) |
| 91 | +- Geometry precision reduction |
| 92 | + |
| 93 | +### Geometric Constructions |
| 94 | + |
| 95 | +- [Delaunay |
| 96 | + triangulation](javadoc/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.html) |
| 97 | + and [Conforming Delaunay |
| 98 | + triangulation](javadoc/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.html) |
| 99 | +- [Voronoi diagram |
| 100 | + generation](javadoc/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.html) |
| 101 | +- [Minimum |
| 102 | + Diameter](javadoc/org/locationtech/jts/algorithm/MinimumDiameter.html) |
| 103 | + of a geometry |
| 104 | +- [Minimum Enclosing |
| 105 | + Rectangle](javadoc/org/locationtech/jts/algorithm/MinimumDiameter.html#getMinimumRectangle()) |
| 106 | +- [Minimum Bounding |
| 107 | + Circle](javadoc/org/locationtech/jts/algorithm/MinimumBoundingCircle.html) |
| 108 | + |
| 109 | +### Metric Functions |
| 110 | + |
| 111 | +- [Distance between |
| 112 | + geometries](javadoc/org/locationtech/jts/operation/distance/DistanceOp.html), |
| 113 | + with supporting points |
| 114 | +- [Discrete |
| 115 | + Hausdorff](javadoc/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.html) |
| 116 | + distance |
| 117 | +- [Area](javadoc/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.html) |
| 118 | + and |
| 119 | + [Hausdorff](javadoc/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.html) |
| 120 | + similarity measures |
| 121 | + |
| 122 | +### Spatial algorithms |
| 123 | + |
| 124 | +- [Robust line segment |
| 125 | + intersection](javadoc/org/locationtech/jts/algorithm/RobustLineIntersector.html) |
| 126 | +- Efficient line arrangement [intersection and |
| 127 | + noding](javadoc/org/locationtech/jts/noding/package-summary.html) |
| 128 | +- [Snap-rounding](javadoc/org/locationtech/jts/noding/snapround/package-summary.html) |
| 129 | + for noding line arrangements |
| 130 | +- Efficient |
| 131 | + [Point-in-Polygon](javadoc/org/locationtech/jts/algorithm/locate/package-summary.html) |
| 132 | + testing |
| 133 | + |
| 134 | +### Mathematical Functions |
| 135 | + |
| 136 | +- [Angle](javadoc/org/locationtech/jts/algorithm/Angle.html){.javadoc} |
| 137 | + computation |
| 138 | +- [Vector](javadoc/org/locationtech/jts/algorithm/VectorMath.html) |
| 139 | + arithmetic |
| 140 | + |
| 141 | +### Spatial structures |
| 142 | + |
| 143 | +- Spatial index structures including: |
| 144 | + - [Quadtree](javadoc/org/locationtech/jts/index/quadtree/Quadtree.html){.javadoc} |
| 145 | + - [STR-tree](javadoc/org/locationtech/jts/index/strtree/STRtree.html) |
| 146 | + - [KD-tree](javadoc/org/locationtech/jts/index/kdtree/KdTree.html) |
| 147 | + - [Interval |
| 148 | + R-tree](javadoc/org/locationtech/jts/index/intervalrtree/package-summary.html) |
| 149 | + - [Monotone |
| 150 | + Chains](javadoc/org/locationtech/jts/index/chain/package-summary.html) |
| 151 | +- [Planar |
| 152 | + graphs](javadoc/org/locationtech/jts/planargraph/PlanarGraph.html) and |
| 153 | + [graph |
| 154 | + algorithms](javadoc/org/locationtech/jts/planargraph/algorithm/package-summary.html) |
| 155 | + |
| 156 | +### Input/Output |
| 157 | + |
| 158 | +- WKT (Well-Known Text) |
| 159 | + [reading](javadoc/org/locationtech/jts/io/WKTReader.html) and |
| 160 | + [writing](javadoc/org/locationtech/jts/io/WKTWriter.html) |
| 161 | +- WKB (Well-Known Binary) |
| 162 | + [reading](javadoc/org/locationtech/jts/io/WKBReader.html) and |
| 163 | + [writing](javadoc/org/locationtech/jts/io/WKBWriter.html) |
| 164 | +- GML(Geography Markup Language) Version 2 |
| 165 | + [reading](javadoc/org/locationtech/jts/io/gml2/GMLReader.html) and |
| 166 | + [writing](javadoc/org/locationtech/jts/io/gml2/GMLWriter.html) |
| 167 | +- Java Swing/AWT Shape |
| 168 | + [writing](javadoc/org/locationtech/jts/awt/package-summary.html) |
| 169 | + |
| 170 | +### High-Precision Arithmetic |
| 171 | + |
| 172 | +- [Robust evaluation of 2x2 double-precision |
| 173 | + determinants](javadoc/org/locationtech/jts/algorithm/RobustDeterminant.html) |
| 174 | +- [DoubleDouble](javadoc/org/locationtech/jts/math/DD.html) |
| 175 | + extended-precision arithmetic |
| 176 | +::: |
0 commit comments