Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions web/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
venv
35 changes: 35 additions & 0 deletions web/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# JTS Website and Documentation


## Material for MkDocs

Documentation is [MkDocs-material](https://squidfunk.github.io/mkdocs-material/) which is a Markdown documentation framework written on top of [MkDocs](https://www.mkdocs.org/).

1. For initial setup of virtual environment:

```bash
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
```

2. To activate virtual environment:

```bash
source venv/bin/activate
pip install -r requirements.txt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jodygarnett should this be pip3 ?

```

In the future you can update using:

```bash
pip3 install -r requirements.txt -U
```

3. Use ***mkdocs** to preview locally:

```bash
mkdocs serve
```

4. Preview: http://localhost:8000
485 changes: 485 additions & 0 deletions web/docs/faq.md

Large diffs are not rendered by default.

168 changes: 168 additions & 0 deletions web/docs/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# JTS Topology Suite - Features

A description of the features and functions provided by JTS, linked to
the relevant [Javadoc](https://locationtech.github.io/jts/javadoc/index.html){.javadoc} for the current
version.

## Geometry Model

- Support for all
[Geometry](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html){.javadoc}
types defined in the OGC *Simple Features for SQL* specification,
including:
- [Point](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Point.html){.javadoc} and
[MultiPoint](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/MultiPoint.html){.javadoc}
- [LineString](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/LineString.html){.javadoc}
and
[MultiLineString](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/MultiLineString.html){.javadoc}
- [Polygon](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Polygon.html){.javadoc}
and
[MultiPolygon](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/MultiPolygon.html){.javadoc}
- heterogeneous
[GeometryCollection](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/GeometryCollection.html){.javadoc}

## Geometry Operations

- Topological
[validity](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#isValid())
checking
- [Area](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#getArea()) and
[Length/Perimeter](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#getLength())
- [Distance between
geometries](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#distance(org.locationtech.jts.geom.Geometry))
and
[isWithinDistance](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#isWithinDistance(org.locationtech.jts.geom.Geometry,%20double)){.javadoc}
predicate
- Spatial Predicates based on the Egenhofer DE-9IM model, including the
named predicates:
- [contains](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#contains(org.locationtech.jts.geom.Geometry)){.javadoc},
[within](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#within(org.locationtech.jts.geom.Geometry)){.javadoc}
- [covers](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#covers(org.locationtech.jts.geom.Geometry)){.javadoc},
[coveredBy](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#coveredBy(org.locationtech.jts.geom.Geometry)){.javadoc}
- [intersects](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#intersects(org.locationtech.jts.geom.Geometry)){.javadoc},
[disjoint](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#disjoint(org.locationtech.jts.geom.Geometry)){.javadoc}
- [crosses](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#crosses(org.locationtech.jts.geom.Geometry)){.javadoc}
- [overlaps](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#overlaps(org.locationtech.jts.geom.Geometry)){.javadoc}
- [touches](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#touches(org.locationtech.jts.geom.Geometry)){.javadoc}
- [equals](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#equals(org.locationtech.jts.geom.Geometry)){.javadoc}

and the general
[relate](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#relate(org.locationtech.jts.geom.Geometry)){.javadoc}
operation returning the DE-9IM [intersection
matrix](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/IntersectionMatrix.html).
- Overlay functions including
- [intersection](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#intersection(org.locationtech.jts.geom.Geometry)){.javadoc},
- [difference](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#difference(org.locationtech.jts.geom.Geometry)){.javadoc},
- [union](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#union(org.locationtech.jts.geom.Geometry)){.javadoc},
- [symmetric
difference](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#symDifference(org.locationtech.jts.geom.Geometry)){.javadoc}
- [unary
union](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#union()){.javadoc},
providing fast union of geometry collections
- [Buffer](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#buffer(double))
computation (also known as Minkowski sum with a circle)
- selection of different [end-cap and
join](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#buffer(double,%20int,%20int))
styles.
- [Convex
hull](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/Geometry.html#convexHull())
- [Geometric
simplification](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/simplify/package-summary.html)
including the
[Douglas-Peucker](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.html)
algorithm and [topology-preserving
simplification](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/simplify/TopologyPreservingSimplifier.html)
- Geometric
[densification](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/densify/Densifier.html)
- [Linear
referencing](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/linearref/package-summary.html)

## Precision Handling

- Explicit coordinate [Precision
Model](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/geom/PrecisionModel.html)
- Geometry precision reduction

## Geometric Constructions

- [Delaunay
triangulation](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.html)
and [Conforming Delaunay
triangulation](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.html)
- [Voronoi diagram
generation](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.html)
- [Minimum
Diameter](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/MinimumDiameter.html)
of a geometry
- [Minimum Enclosing
Rectangle](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/MinimumDiameter.html#getMinimumRectangle())
- [Minimum Bounding
Circle](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/MinimumBoundingCircle.html)

## Metric Functions

- [Distance between
geometries](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/operation/distance/DistanceOp.html),
with supporting points
- [Discrete
Hausdorff](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.html)
distance
- [Area](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.html)
and
[Hausdorff](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.html)
similarity measures

## Spatial algorithms

- [Robust line segment
intersection](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/RobustLineIntersector.html)
- Efficient line arrangement [intersection and
noding](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/noding/package-summary.html)
- [Snap-rounding](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/noding/snapround/package-summary.html)
for noding line arrangements
- Efficient
[Point-in-Polygon](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/locate/package-summary.html)
testing

## Mathematical Functions

- [Angle](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/Angle.html){.javadoc}
computation
- [Vector](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/VectorMath.html)
arithmetic

## Spatial structures

- Spatial index structures including:
- [Quadtree](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/quadtree/Quadtree.html){.javadoc}
- [STR-tree](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/strtree/STRtree.html)
- [KD-tree](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/kdtree/KdTree.html)
- [Interval
R-tree](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/intervalrtree/package-summary.html)
- [Monotone
Chains](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/chain/package-summary.html)
- [Planar
graphs](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/planargraph/PlanarGraph.html) and
[graph
algorithms](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/planargraph/algorithm/package-summary.html)

## Input/Output

- WKT (Well-Known Text)
[reading](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/WKTReader.html) and
[writing](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/WKTWriter.html)
- WKB (Well-Known Binary)
[reading](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/WKBReader.html) and
[writing](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/WKBWriter.html)
- GML(Geography Markup Language) Version 2
[reading](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/gml2/GMLReader.html) and
[writing](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/io/gml2/GMLWriter.html)
- Java Swing/AWT Shape
[writing](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/awt/package-summary.html)

## High-Precision Arithmetic

- [Robust evaluation of 2x2 double-precision
determinants](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/algorithm/RobustDeterminant.html)
- [DoubleDouble](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/math/DD.html)
extended-precision arithmetic
36 changes: 36 additions & 0 deletions web/docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# JTS Topology Suite

The JTS Topology Suite (JTS) is an open source Java software library
that provides an object model for planar geometry together with a set of
fundamental geometric functions. JTS conforms to the Simple Features
Specification for SQL published by the Open GIS Consortium. JTS is
designed to be used as a core component of vector-based geomatics
software such as geographical information systems. It can also be used
as a general-purpose library providing algorithms in computational
geometry.

## License

JTS Topology Suite is open-source software. It is dual-licensed under:

- [Eclipse Public License
2.0](https://www.eclipse.org/legal/epl-v20.html){target="license"}
- [Eclipse Distribution License
1.0](http://www.eclipse.org/org/documents/edl-v10.php){target="license"}
(a BSD-style license)

## Documentation

- [Feature Sheet](features.md)
- [FAQ](faq.md)

## Resources

- [LocationTech home
page](https://www.locationtech.org/projects/technology.jts)
- [Source Code
Repository](https://github.com/locationtech/jts){target="code"}
- [Mailing
List](https://locationtech.org/mailman/listinfo/jts-dev){target="list"}
- [JTS blog posts (Lin.ear
th.inking)](https://lin-ear-th-inking.blogspot.com/search/label/jts)
Binary file added web/docs/technical/img/image1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image5.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image6.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image7.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image8.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added web/docs/technical/img/image9.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading