<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>http://gis.inf.elte.hu/giswiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=B3xfuw</id>
	<title>GIS Wiki - Szerkesztő közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="http://gis.inf.elte.hu/giswiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=B3xfuw"/>
	<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/B3xfuw"/>
	<updated>2026-06-10T13:56:14Z</updated>
	<subtitle>Szerkesztő közreműködései</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=425</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=425"/>
		<updated>2017-05-01T00:14:38Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. Része egy &amp;quot;JTS Test Builder&amp;quot; nevű alkalmazás, amely egy interaktív grafikus felületet biztosít a felhasználóknak a geometriák és funkciók kipróbálására.&lt;br /&gt;
&lt;br /&gt;
== Története == &lt;br /&gt;
A 2000-es évek elején kezdte meg a programcsomag készítését Martin Davis és Jonathan Aquino a Vivid Solutions cég alkalmazottjainként. A fejlesztést Brit Columbia kormánya támogatta. Azóta már Martin Davis egy önálló projektjeként volt karbantartva egészen 2016 végéig, amikor a projektet átvette a LocationTech vállalat. &lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
Java-ban készült, nyílt forráskódú programcsomag. &lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Geometriai funkciók:&lt;br /&gt;
* Geometriák egymáshoz való viszonya&lt;br /&gt;
* Terület és távolság számítása&lt;br /&gt;
* Pufferek&lt;br /&gt;
* Topológiai egyezőség vizsgálata&lt;br /&gt;
* Sokszögesítés&lt;br /&gt;
* Vonalak egyesítése&lt;br /&gt;
* Konvex burok&lt;br /&gt;
* Voronoi diagram generálása&lt;br /&gt;
* Legkisebb befoglaló téglalap számítása&lt;br /&gt;
* Geometriai egyszerűsítések&lt;br /&gt;
==== Geometriák egymáshoz való viszonya ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* Vonalszegmensek metszete&lt;br /&gt;
* Pontok számítása sokszögben&lt;br /&gt;
* Térbeli indexstruktúrák (pl.: bináris fa, STR-fa, negyedelő-fa)&lt;br /&gt;
* Gráfstruktúrák és algoritmusok&lt;br /&gt;
 &lt;br /&gt;
A kiválasztott és implementált algoritmusok többnyire egyszerre hatékonyak és robosztusokat. A JTS csupán néhány algoritmusnál (pl.: pont sokszögben) érzékeny a robosztusságra. A futás idejő hatékonyság fontos szempont volt a geometriai algoritmusok készítésénél. &lt;br /&gt;
&lt;br /&gt;
== I/O == &lt;br /&gt;
A JTS támogatja a Well-Know Text formátumot. WKT-ben megadott geometriák feldolgozására a Well-Known Text Reader, geometriák WKT formátumra alakítására pedig a Well-Known Text Writer szolgál.&lt;br /&gt;
&lt;br /&gt;
=== Well-Known Text Reader ===&lt;br /&gt;
A WKTReader geometriákat (Geometry) tud kiolvasni input stream-ekből és string-ekből. Így lehetővé válik más adatszerkezetekbe beágyazott (pl.: XML) szövegblokkokból is geometriák felismerése. Paraméterként meg kell adni a WKTReader-nek egy GeometryFactory-t, hogy a megfelelő implementációjú geometriákat létre lehessen hozni. A GeometryFactory fogja meghatározni az objektum precizíós modelljét és az SRID-t. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry g1 = new WKTReader().read(&amp;quot;LINESTRING (0 0, 10 10, 20 20)&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Well-Known Text Writer ===&lt;br /&gt;
A WKTWriter megadja a geometria szöveges reprezentációját egy Java Writer objektumnak. A koordinátákat a megadott precizíós modellnek megfelelő pontossággal fogja megadni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt; &lt;br /&gt;
WKTWriter writer = new WKTWriter();&lt;br /&gt;
writer.write(geometry)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=424</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=424"/>
		<updated>2017-05-01T00:13:40Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. Része egy &amp;quot;JTS Test Builder&amp;quot; nevű alkalmazás, amely egy interaktív grafikus felületet biztosít a felhasználóknak a geometriák és funkciók kipróbálására.&lt;br /&gt;
&lt;br /&gt;
== Története == &lt;br /&gt;
A 2000-es évek elején kezdte meg a programcsomag készítését Martin Davis és Jonathan Aquino a Vivid Solutions cég alkalmazottjainként. A fejlesztést Brit Columbia kormánya támogatta. Azóta már Martin Davis egy önálló projektjeként volt karbantartva egészen 2016 végéig, amikor a projektet átvette a LocationTech vállalat. &lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
Java-ban készült, nyílt forráskódú programcsomag. &lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Geometriai funkciók:&lt;br /&gt;
* Geometriák egymáshoz való viszonya&lt;br /&gt;
* Terület és távolság számítása&lt;br /&gt;
* Pufferek&lt;br /&gt;
* Topológiai egyezőség vizsgálata&lt;br /&gt;
* Sokszögesítés&lt;br /&gt;
* Vonalak egyesítése&lt;br /&gt;
* Konvex burok&lt;br /&gt;
* Voronoi diagram generálása&lt;br /&gt;
* Legkisebb befoglaló téglalap számítása&lt;br /&gt;
* Geometriai egyszerűsítések&lt;br /&gt;
==== Geometriák egymáshoz való viszonya ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* Vonalszegmensek metszete&lt;br /&gt;
* Pontok számítása sokszögben&lt;br /&gt;
* Térbeli indexstruktúrák (pl.: bináris fa, STR-fa, negyedelő-fa)&lt;br /&gt;
* Gráfstruktúrák és algoritmusok&lt;br /&gt;
 &lt;br /&gt;
A kiválasztott és implementált algoritmusok többnyire egyszerre hatékonyak és robosztusokat. A JTS csupán néhány algoritmusnál (pl.: pont sokszögben) érzékeny a robosztusságra. A futás idejő hatékonyság fontos szempont volt a geometriai algoritmusok készítésénél. &lt;br /&gt;
&lt;br /&gt;
== I/O == &lt;br /&gt;
A JTS támogatja a Well-Know Text formátumot. WKT-ben megadott geometriák feldolgozására a Well-Known Text Reader, geometriák WKT formátumra alakítására pedig a Well-Known Text Writer szolgál.&lt;br /&gt;
&lt;br /&gt;
=== Well-Known Text Reader ===&lt;br /&gt;
A WKTReader geometriákat (Geometry) tud kiolvasni input stream-ekből és string-ekből. Így lehetővé válik más adatszerkezetekbe beágyazott (pl.: XML) szövegblokkokból is geometriák felismerése. Paraméterként meg kell adni a WKTReader-nek egy GeometryFactory-t, hogy a megfelelő implementációjú geometriákat létre lehessen hozni. A GeometryFactory fogja meghatározni az objektum precizíós modelljét és az SRID-t. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry g1 = new WKTReader().read(&amp;quot;LINESTRING (0 0, 10 10, 20 20)&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Well-Known Text Writer ===&lt;br /&gt;
A WKTWriter megadja a geometria szöveges reprezentációját egy Java Writer objektumnak. A koordinátákat a megadott precizíós modellnek megfelelő pontossággal fogja megadni.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt; &lt;br /&gt;
WKTWriter writer = new WKTWriter();&lt;br /&gt;
writer.write(geometry)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=423</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=423"/>
		<updated>2017-04-30T23:40:10Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Története == &lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
Java-ban készült, nyílt forráskódú programcsomag. &lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Geometriai funkciók:&lt;br /&gt;
* Geometriák egymáshoz való viszonya&lt;br /&gt;
* Terület és távolság számítása&lt;br /&gt;
* Pufferek&lt;br /&gt;
* Topológiai egyezőség vizsgálata&lt;br /&gt;
* Sokszögesítés&lt;br /&gt;
* Vonalak egyesítése&lt;br /&gt;
* Konvex burok&lt;br /&gt;
* Voronoi diagram generálása&lt;br /&gt;
* Legkisebb befoglaló téglalap számítása&lt;br /&gt;
* Geometriai egyszerűsítések&lt;br /&gt;
==== Geometriák egymáshoz való viszonya ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* Vonalszegmensek metszete&lt;br /&gt;
* Pontok számítása sokszögben&lt;br /&gt;
* Térbeli indexstruktúrák (pl.: bináris fa, STR-fa, negyedelő-fa)&lt;br /&gt;
* Gráfstruktúrák és algoritmusok&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
A kiválasztott és implementált algoritmusok többnyire egyszerre hatékonyak és robosztusokat. A JTS csupán néhány algoritmusnál (pl.: pont sokszögben) érzékeny a robosztusságra. A futás idejő hatékonyság fontos szempont volt a geometriai algoritmusok készítésénél. &lt;br /&gt;
&lt;br /&gt;
== I/O == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=422</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=422"/>
		<updated>2017-04-30T23:38:42Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Története == &lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
Java-ban készült, nyílt forráskódú programcsomag. &lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Geometriai funkciók:&lt;br /&gt;
* [[Geometriák egymáshoz való viszonya]]&lt;br /&gt;
* Terület és távolság számítása&lt;br /&gt;
* [[Pufferek]]&lt;br /&gt;
* Topológiai egyezőség vizsgálata&lt;br /&gt;
* [[Sokszögesítés]]&lt;br /&gt;
* [[Vonalak egyesítése]]&lt;br /&gt;
* Konvex burok&lt;br /&gt;
* Voronoi diagram generálása&lt;br /&gt;
* Legkisebb befoglaló téglalap számítása&lt;br /&gt;
* Geometriai egyszerűsítések&lt;br /&gt;
==== Geometriák egymáshoz való viszonya ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* Vonalszegmensek metszete&lt;br /&gt;
* Pontok számítása sokszögben&lt;br /&gt;
* Térbeli indexstruktúrák (pl.: bináris fa, STR-fa, negyedelő-fa)&lt;br /&gt;
* Gráfstruktúrák és algoritmusok&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
A kiválasztott és implementált algoritmusok többnyire egyszerre hatékonyak és robosztusokat. A JTS csupán néhány algoritmusnál (pl.: pont sokszögben) érzékeny a robosztusságra. A futás idejő hatékonyság fontos szempont volt a geometriai algoritmusok készítésénél. &lt;br /&gt;
&lt;br /&gt;
== I/O == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=421</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=421"/>
		<updated>2017-04-30T23:28:17Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
==== Geometriák közötti kapcsolatok ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* Vonal szegmentálás&lt;br /&gt;
* Efficient line arrangement intersection or noding&lt;br /&gt;
* Pontok számítása sokszögben&lt;br /&gt;
* Indexek (pl.: bináris fa, STR-fa, negyedelőfa)&lt;br /&gt;
* Gráfok és algoritmusok gráfokon&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
A kiválasztott és implementált algoritmusok többnyire egyszerre hatékonyak és robosztusokat. A JTS csupán néhány algoritmusnál (pl.: pont sokszögben) érzékeny a robosztusságra. A futás idejő hatékonyság fontos szempont volt a geometriai algoritmusok készítésénél. &lt;br /&gt;
&lt;br /&gt;
== I/O == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=420</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=420"/>
		<updated>2017-04-30T22:26:59Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
Tulajdonságok:&lt;br /&gt;
* határ (Boundary): egy geometria határa az ő dimenziójánál eggyel kisebb dimenziójú geometriák gyűjteménye&lt;br /&gt;
* zártság (isClosed): csak körívekre értelmezett, megvizsgálja, hogy a kezdő és a végpont egybeesik-e&lt;br /&gt;
* érvényesség (isValid): megadja, hogy a geometria érvényes-e az SFS szabályai szerint&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
==== Geometriák közötti kapcsolatok ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
Műveletek:&lt;br /&gt;
* unió: azon pontok összessége, melyek A és B geometriában is benne vannak&lt;br /&gt;
* metszet: azon pontok, melyek A vagy B geometriában benne vannak&lt;br /&gt;
* különbség (két féle van: A.difference(B) és B.difference(A)): azon pontok, melyek az A geometriában benne vannak, de B-ben nem (a másik esetben fordítva)&lt;br /&gt;
* szimmetrikus differencia: azon pontok, melyek vagy A, vagy B geometriában benne vannak, de nem mindkettőben&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög. Erre a Polygonizer osztály használható. Hibásan megadott vonalakból is készíthető sokszög, de ekkor az elkészült geometria invalid állapotú lesz.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Polygonizer polygonizer = new Polygonizer();&lt;br /&gt;
polygonizer.add(lines);&lt;br /&gt;
Collection&amp;lt;Polygon&amp;gt; polygons = polygonizer.getPolygons();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Vonalak egyesítése ====&lt;br /&gt;
Vonalak (LineString) lánca egyesíthető egyetlne/kevesebb vonallá. A függvény feltételezi, hogy a vonalak nem metszik egymást, de a kezdő és a végpontjuk egybeeshet. Ha az egyesítendő vonalak iránya nem egyezik meg, akkor az új vonal iránya a többségével fog megegyezni.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
LineMerger lineMerger = new LineMerger();&lt;br /&gt;
lineMerger.add(lines);&lt;br /&gt;
Collection mergedLines = lineMerger.getMergedLineStrings();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=419</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=419"/>
		<updated>2017-04-30T21:53:29Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológiai egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
==== Geometriák közötti kapcsoltatok ====&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
==== Pufferek ====&lt;br /&gt;
Kiszámíthatóak a geometriák körüli pufferek, egy távolság megadásával. Ekkor kiszámítja a geometria körüli területet a megadott távolságon belül. Megkülönböztet pozitív és negatív puffert. A pozitív puffer mindig tartalmazza az adott geometriát, míg a negatív a geometrián belül található (pl.: egy sokszög belseje).&lt;br /&gt;
&lt;br /&gt;
A pufferek végének a létrehozásához három lehetőség közül lehet választani:&lt;br /&gt;
* Lekerekítés: lekerekíti a puffer sarkait&lt;br /&gt;
* Közvetlen a vonal végén végződik a puffer is, nincs lekerekítve&lt;br /&gt;
* A puffer a vonal után, a puffernek megadott távolságra végződik, a sarkai nincsenek lekerekítve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Geometry geom = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
BufferOp bufOp = new BufferOp(geom);&lt;br /&gt;
bufOp.setEndCapStyle(BufferParameters.CAP_ROUND);&lt;br /&gt;
Geometry buffer = bufOp.getResultGeometry(distance);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sokszögesítés ====&lt;br /&gt;
A sokszögesítés során vonalakból és szakaszokból, melyek egy sokszöget zárnak körbe, jön létre egy sokszög.&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
A JTS programcsomag a következő, térinformatikai számításokhoz szükséges algoritmusokat szolgáltatja a felhasználóknak:&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=418</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=418"/>
		<updated>2017-04-29T22:03:20Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
Geometriai típusok készíthetőek a GeometryFactory osztály segítségével, illetve WKT és WBT formában is meg lehet adni őket.&lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LinearRing lr = fact.createLinearRing(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3), new Coordinate(0, 0) });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiLineString mls = fact.createMultiLineString(new LineString[] {ls1, ls2, ls3, ls4});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Polygon polygon = fact.createPolygon(coordinates);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPolygon mp = fact.createMultiPolygon(polygons);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológii egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=417</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=417"/>
		<updated>2017-04-29T21:48:15Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
A geometriákat reprezentáló osztályok a Geometry absztrakt osztályból származnak. Geometriai típusok:&lt;br /&gt;
* GeometryCollection: geometriai objektumok tárolására szolgál &lt;br /&gt;
* Point (pont): egy koordinátapárral van reprezentálva&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
Point p1 = fact.createPoint(new Coordinate(0,0));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MultiPoint (pontok halmaza): kizárólag pontokat tartalmazó gyűjtemény (GeometryCollection)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
MultiPoint mpt = fact.createMultiPoint(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LineString (vonal): pontok tömbje határozza meg&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
GeometryFactory fact = new GeometryFactory();&lt;br /&gt;
LineString ls = fact.createLineString(new Coordinate[] { new Coordinate(0,0), new Coordinate(1,1), new Coordinate(2, 3) } );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* LinearRing (körvonal): koordináták tömbjéből áll, ahol az első és az utolsó koordináta megegyezik&lt;br /&gt;
* MultiLineString (vonalak halmaza): LineString típusú objektumokból álló gyűjtemény (GeometryCollection) &lt;br /&gt;
* Polygon (sokszög): egy LinearRing típusú objektum határozza meg a körvonalát és LinearRing típusú objektumok tömbje adja a lyukakat&lt;br /&gt;
* MultiPolygon (sokszögek halmaza): sokszögekből álló gyűjtemény (GeometryCollection)&lt;br /&gt;
&lt;br /&gt;
Geometriai objektumok közötti egyezőség vizsgálatára szolgál a normálformájuk. Ennek segítségével a topológii egyezőségnél pontosabb ekvivalencia vizsgálható, de a pontról pontra való vizsgálatnál gyengébb. A normálforma a koordináták lexikografikus rendezéseként van megvalósítva.&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=416</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=416"/>
		<updated>2017-04-29T21:16:43Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
Geometriai alakzatok készítéséhez, geometriai függvények alkalmazásához, számításokhoz használható. Támogatja a WKT (Well Known Test) és WKB (Well Known Binary) formátumokat.&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
A geometria modell segítségével pontokat, vonalakat, íveket, sokszögeket és sokszögek gyűjteményét lehet definiálni. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
A geometriai metódusok feltételezik, hogy a paraméterül szolgáló geometriák helyesek.&lt;br /&gt;
Ki lehet számítani a megadott geometriák közötti kapcsolatot. A kapott érték lehet:&lt;br /&gt;
* ekvivalencia: a geometriák topológiailag ekvivalensek&lt;br /&gt;
* diszjunkt: a geometriáknak nincs között pontjuk&lt;br /&gt;
* metsző: a geometriáknak van legalább egy közös pontja&lt;br /&gt;
* érintkező: a geometriák határának van legalább egy közös pontja, de egyik belső pontjuk sem közös&lt;br /&gt;
* tartalmazott: az A geometria benne van a B geometriában&lt;br /&gt;
* tartalmazó: a B geometria benne van az A geometriában&lt;br /&gt;
* átfedő: a geometriák néhány, de nem az összes pontja közös és a metszet dimenziója megegyezik a geometriák dimenziójával&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=415</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=415"/>
		<updated>2017-04-29T20:44:41Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Története ==&lt;br /&gt;
Brit Columbia kormányának megrendelésére készült a &lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
Használatához legalább Java 1.6 verzió szükséges. &lt;br /&gt;
Maven segítségével a projektbe importálható, csupán a következő sorokat kell bemásolni a pom.xml-be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;com.vividsolutions&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;jts&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.13&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
== Felhasználási lehetőségei, jelenlegi felhasználása ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Egyéb térinformatikai projektek is használják a JTS programcsomagot. Pl.:&lt;br /&gt;
* GeoTools&lt;br /&gt;
* GeoServer&lt;br /&gt;
* Geoforge&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások ==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
	<entry>
		<id>http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=281</id>
		<title>JTS</title>
		<link rel="alternate" type="text/html" href="http://gis.inf.elte.hu/giswiki/index.php?title=JTS&amp;diff=281"/>
		<updated>2017-03-11T22:14:09Z</updated>

		<summary type="html">&lt;p&gt;B3xfuw: Új oldal, tartalma: „A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiad…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A JTS (Java Topology Suite) egy nyílt forráskódú Java könyvtár síkgeometriai alakzatok modellezéséhez és informatikai alkalmazásukhoz. Az OpenGIS által kiadott &amp;quot;Simple Features Specification for SQL&amp;quot; leírásban meghatározott geometriai modelleket és API-kat implementálja. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Használat ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Felépítés ==&lt;br /&gt;
=== Alap modulok ===&lt;br /&gt;
jts-core: geometriák, geometriai függvények, algoritmusok, térbeli adatszerkezetek&lt;br /&gt;
&lt;br /&gt;
jts-io-common: I/O osztályok térbeli adatszerkezetekhez&lt;br /&gt;
&lt;br /&gt;
=== Teszteléshez használt modulok ===&lt;br /&gt;
jts-tests: a JTS XML teszt komponens és a Test Runner alkalmazás&lt;br /&gt;
&lt;br /&gt;
jts-app: TestBuilder GUI a JTS geometriák teszteléséhez &lt;br /&gt;
&lt;br /&gt;
=== Egyéb ===&lt;br /&gt;
jts-io-ora: Oracle író-,olvasó osztályok&lt;br /&gt;
  &lt;br /&gt;
jts-io-sde: SDE író-,olvasó osztályok&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Főbb funkcionalitások==&lt;br /&gt;
=== Geometriai modell ===&lt;br /&gt;
&lt;br /&gt;
=== Geometriai funkciók, algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
=== Adatszerkezetek és algoritmusok ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Példák ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hivatkozások ==&lt;br /&gt;
[https://github.com/locationtech/jts https://github.com/locationtech/jts]&lt;br /&gt;
&lt;br /&gt;
[https://www.locationtech.org/proposals/jts-topology-suite https://www.locationtech.org/proposals/jts-topology-suite]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/JTS_Topology_Suite https://en.wikipedia.org/wiki/JTS_Topology_Suite]&lt;/div&gt;</summary>
		<author><name>B3xfuw</name></author>
		
	</entry>
</feed>