Skip to content

Commit efc0b2c

Browse files
committed
initial commit
1 parent f664e0f commit efc0b2c

File tree

8 files changed

+885
-0
lines changed

8 files changed

+885
-0
lines changed

web/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
venv

web/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# JTS Website and Documentation
2+
3+
4+
## Material for MkDocs
5+
6+
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/).
7+
8+
1. For initial setup of virtual environment:
9+
10+
```bash
11+
virtualenv venv
12+
source venv/bin/activate
13+
pip install -r requirements.txt
14+
```
15+
16+
2. To activate virtual environment:
17+
18+
```bash
19+
source venv/bin/activate
20+
pip install -r requirements.txt
21+
```
22+
23+
In the future you can update using:
24+
25+
```bash
26+
pip3 install -r requirements.txt -U
27+
```
28+
29+
3. Use ***mkdocs** to preview locally:
30+
31+
```bash
32+
mkdocs serve
33+
```
34+
35+
4. Preview: http://localhost:8000

web/docs/faq.md

Lines changed: 515 additions & 0 deletions
Large diffs are not rendered by default.

web/docs/features.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
:::: header
2+
![](jts_logo.png)
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+
:::

web/docs/index.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# JTS Topology Suite
2+
3+
The JTS Topology Suite (JTS) is an open source Java software library
4+
that provides an object model for planar geometry together with a set of
5+
fundamental geometric functions. JTS conforms to the Simple Features
6+
Specification for SQL published by the Open GIS Consortium. JTS is
7+
designed to be used as a core component of vector-based geomatics
8+
software such as geographical information systems. It can also be used
9+
as a general-purpose library providing algorithms in computational
10+
geometry.
11+
12+
# License
13+
14+
JTS Topology Suite is open-source software. It is dual-licensed under:
15+
16+
- [Eclipse Public License
17+
2.0](https://www.eclipse.org/legal/epl-v20.html){target="license"}
18+
- [Eclipse Distribution License
19+
1.0](http://www.eclipse.org/org/documents/edl-v10.php){target="license"}
20+
(a BSD-style license)
21+
22+
# Documentation
23+
24+
- [Feature Sheet](features.md)
25+
- [FAQ](faq.md)
26+
27+
# Resources
28+
29+
- [LocationTech home
30+
page](https://www.locationtech.org/projects/technology.jts)
31+
- [Source Code
32+
Repository](https://github.com/locationtech/jts){target="code"}
33+
- [Mailing
34+
List](https://locationtech.org/mailman/listinfo/jts-dev){target="list"}
35+
- [JTS blog posts (Lin.ear
36+
th.inking)](https://lin-ear-th-inking.blogspot.com/search/label/jts)

web/mkdocs.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Project information
2+
site_name: JTS Topology Suite
3+
site_description: JTS Project
4+
site_dir: target/html
5+
site_url: https://locationtech.github.io/jts/
6+
7+
# Repository
8+
repo_name: jts
9+
repo_url: http://github.com/locationtech/jts
10+
edit_uri: edit/master/web/docs
11+
12+
# Copyright
13+
copyright: Copyright © 2001 - 2025 Martin Davis and others
14+
15+
# extra_css:
16+
# - assets/stylesheets/extra.css
17+
18+
# Configuration
19+
theme:
20+
name: material
21+
language: en
22+
custom_dir: overrides
23+
logo: assets/images/jts_logo.png
24+
favicon: assets/images/jts_logo.png
25+
icon:
26+
repo: fontawesome/brands/github
27+
palette:
28+
# Palette toggle for light mode
29+
- media: "(prefers-color-scheme: light)"
30+
scheme: default
31+
primary: blue
32+
toggle:
33+
icon: material/weather-night
34+
name: Switch to dark mode
35+
# Palette toggle for dark mode
36+
- media: "(prefers-color-scheme: dark)"
37+
scheme: slate
38+
toggle:
39+
icon: material/weather-sunny
40+
name: Switch to light mode
41+
features:
42+
- toc.follow
43+
- navigation.tracking
44+
- navigation.top
45+
- navigation.tabs
46+
- navigation.prune
47+
- navigation.indexes
48+
- navigation.footer
49+
- header.autohide
50+
- content.tabs.link
51+
- content.code.copy
52+
- content.action.view
53+
- content.action.edit
54+
- announce.dismiss
55+
56+
# Plugins - install using: pip3 install -r requirements.txt
57+
plugins:
58+
- search
59+
60+
# Customizations
61+
extra:
62+
version:
63+
provider: mike
64+
default: stable
65+
alias: true
66+
homepage: http://github.com/locationtech/jts/
67+
social:
68+
- icon: fontawesome/brands/github
69+
link: https://github.com/locationtech/jts/
70+
71+
# For use with --strict to produce failures on build warnings
72+
validation:
73+
nav:
74+
omitted_files: warn
75+
not_found: warn
76+
absolute_links: warn
77+
links:
78+
not_found: warn
79+
absolute_links: warn
80+
unrecognized_links: warn
81+
82+
# Extensions
83+
# - These are carefully chosen to work with pandoc markdown support for whole document translation
84+
markdown_extensions:
85+
- admonition
86+
- attr_list
87+
- def_list
88+
- pymdownx.details
89+
- pymdownx.emoji:
90+
emoji_index: !!python/name:material.extensions.emoji.twemoji
91+
emoji_generator: !!python/name:material.extensions.emoji.to_svg
92+
# options:
93+
# custom_icons:
94+
# - overrides/.icons
95+
- pymdownx.highlight:
96+
anchor_linenums: true
97+
line_spans: __span
98+
pygments_lang_class: true
99+
- pymdownx.inlinehilite
100+
- pymdownx.keys
101+
- pymdownx.smartsymbols
102+
- pymdownx.snippets
103+
- pymdownx.superfences:
104+
custom_fences:
105+
- name: mermaid
106+
class: mermaid
107+
format: !!python/name:pymdownx.superfences.fence_code_format
108+
- pymdownx.tabbed:
109+
alternate_style: true
110+
- tables
111+
- md_in_html
112+
113+
# Page tree
114+
nav:
115+
- 'Home':
116+
- index.md
117+
- features.md
118+
- 'FAQ': faq.md
409 Bytes
Loading

web/requirements.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
mkdocs-material>=9.5.3
2+
mkdocs-static-i18n>=1.0.5
3+
mkdocs-include-markdown-plugin
4+
mkdocs-exclude

0 commit comments

Comments
 (0)