pakiet topologii JTS

pakiet topologii JTS
Oryginalni autorzy Marcina Davisa
Wersja stabilna
Edit this on Wikidata 1.19.0 / 21 czerwca 2022 ; 8 miesięcy temu ( 21 czerwca 2022 )
Magazyn
Napisane w Jawa
Platforma Java SE
Typ Biblioteka
Licencja Eclipse Public License v.1.0 (począwszy od 1.15), GNU Lesser General Public License (do wersji 1.14)
Strona internetowa locationtech .github .io /jts /  Edit this on Wikidata

JTS Topology Suite ( Java Topology Suite ) to biblioteka oprogramowania Java o otwartym kodzie źródłowym , która zapewnia model obiektowy płaskiej geometrii euklidesowej wraz z zestawem podstawowych funkcji geometrycznych. JTS jest przeznaczony przede wszystkim do stosowania jako główny składnik geomatycznego opartego na wektorach, takiego jak systemy informacji geograficznej . Może być również używana jako biblioteka ogólnego przeznaczenia dostarczająca algorytmy w geometrii obliczeniowej .

JTS implementuje model geometrii i API zdefiniowane w OpenGIS Consortium Simple Features Specification for SQL . JTS definiuje zgodny ze standardami system geometrii do budowania aplikacji przestrzennych; przykłady obejmują przeglądarki, procesory zapytań przestrzennych oraz narzędzia do sprawdzania poprawności, czyszczenia i integracji danych.

Oprócz biblioteki Java, podstawy JTS i wybrane funkcje są utrzymywane w porcie C++, do wykorzystania w łączeniu w stylu C we wszystkich głównych systemach operacyjnych, w postaci biblioteki oprogramowania GEOS .

Do JTS 1.14 i port GEOS są publikowane na licencji GNU Lesser General Public License (LGPL).

Wraz z przyjęciem technologii LocationTech przyszłe wersje będą dostępne na licencjach EPL/BSD.

Zakres

JTS udostępnia następujące funkcjonalności:

Model geometrii

Klasy geometrii obsługują punkty modelowania, ciągi linii, wielokąty i kolekcje. Geometrie są liniowe w tym sensie, że granice są definiowane pośrednio przez interpolację liniową między wierzchołkami. Geometrie są osadzone w dwuwymiarowej płaszczyźnie euklidesowej. Wierzchołki geometrii mogą również przenosić wartość Z.

Modele precyzyjne zdefiniowane przez użytkownika są obsługiwane dla współrzędnych geometrii. Obliczenia są wykonywane przy użyciu algorytmów, które zapewniają solidne obliczenia geometryczne we wszystkich precyzyjnych modelach.

Funkcje geometryczne

Struktury przestrzenne i algorytmy

Możliwości we/wy

Historia

Fundusze na wstępne prace nad JTS uzyskano jesienią 2000 roku od GeoConnections i rządu Kolumbii Brytyjskiej, na podstawie propozycji Marka Sondheima i Davida Skea. Prace wykonali Martin Davis (projektant oprogramowania i główny programista) oraz Jonathan Aquino (programista), obaj z firmy Vivid Solutions w tamtym czasie. Od tego czasu JTS jest utrzymywany jako niezależny projekt oprogramowania przez Martina Davisa.

Od końca 2016/początku 2017 JTS został przyjęty przez firmę LocationTech.

Projekty z wykorzystaniem JTS

Platformy

JTS rozwijany jest na platformie Java JDK 1.4. Jest to w 100% czysta Java. Będzie działać również na wszystkich nowszych pakietach JDK.

JTS został przeniesiony do .NET Framework jako Net Topology Suite.

Podzbiór JTS został przeportowany do C++ , z punktami wejścia zadeklarowanymi jako interfejsy C, jako biblioteka GEOS .

Port C/C++: GEOS

GEOS to port C/C++ podzbioru JTS i wybranych funkcji. Jest to podstawowy składnik ekosystemu oprogramowania natywnych, skompilowanych, wykonywalnych plików binarnych na platformach Linux, Mac i Windows. Ze względu na konstrukcję środowiska wykonawczego Javy i Java Virtual Machine (JVM), biblioteki kodu napisane w Javie zasadniczo nie nadają się do użytku jako biblioteki ze standardowego środowiska cross-linkowania (często zbudowanego z C). Linux, Microsoft Windows i rodzina BSD, w tym Mac OSX, używają struktury łączącej, która umożliwia integrację (połączenie) bibliotek z różnych języków w natywny plik wykonywalny środowiska wykonawczego. Java z założenia nie uczestniczy w tej interoperacyjności bez nietypowych środków ( JNI ).

Aplikacje wykorzystujące GEOS

Łącza i przesyłki GEOS wewnętrznie w popularnych aplikacjach wymienionych poniżej; a dzięki wyznaczeniu i wdrożeniu opartych na standardach klas geometrii dostępnych dla GDAL , który z kolei jest szeroko obsługiwanym silnikiem wewnętrznym w GIS, GEOS staje się podstawową implementacją geometrii w jeszcze większej liczbie aplikacji:

  • GDAL - OGR - przetwarzanie danych rastrowych i wektorowych
  • QGIS — wieloplatformowy komputerowy GIS o otwartym kodzie źródłowym
  • PostGIS - typy przestrzenne i operacje dla PostgreSQL
  • GeoDjango - wsparcie Django dla baz danych obsługujących GIS
  • Google Earth — wirtualny program do obrazowania globu i świata
  • Biblioteka i aplikacja GRASS GIS
  • MapServer - środowisko programistyczne typu open source do tworzenia przestrzennych aplikacji internetowych
  • World Wind Java - wirtualna kula ziemska i technologia obrazowania świata typu open source NASA
  • Zestaw narzędzi Orfeo — biblioteka do przetwarzania obrazów satelitarnych
  • R – Oprogramowanie statystyczne typu open source z rozszerzeniami do analizy danych przestrzennych.
  • SAGA GIS Wieloplatformowe oprogramowanie GIS o otwartym kodzie źródłowym

Zobacz też

Linki zewnętrzne