Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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
Copy Markdown
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
Binary file added web/docs/developer/img/AdifferenceB.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/developer/img/AintersectionB.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/developer/img/AsymDifferenceB.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/developer/img/AunionB.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/developer/img/BdifferenceA.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/developer/img/buffer.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/developer/img/cap_butt.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/developer/img/cap_round.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/developer/img/cap_square.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/developer/img/merge_input.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/developer/img/merge_output.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/developer/img/negative_buffer.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/developer/img/noded_3.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/developer/img/noded_9.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/developer/img/overlay.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/developer/img/polygonization_input.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/developer/img/polygonization_output.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/developer/img/quadrant_segment_20.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/developer/img/quadrant_segment_3.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/developer/img/quadrant_segment_8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
316 changes: 316 additions & 0 deletions web/docs/developer/index.md

Large diffs are not rendered by default.

487 changes: 487 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
Binary file added web/docs/technical/img/image7.jpg
Binary file added web/docs/technical/img/image8.jpg
Binary file added web/docs/technical/img/image9.jpg
Loading