Кіріспе

JTS Topology Suite (Java Topology Suite) - негізгі геометриялық функциялар жиынтығымен бірге Евклидтік жазықты сызықтық геометрияның объектілік моделін ұсынатын ашық кодты Java бағдарламалық кітапханасы. JTS негізінен географиялық ақпараттық жүйелер сияқты векторлық негіздегі геоматикалық бағдарламалық жасақтаманың негізгі компоненті ретінде пайдаланылады. Ол сондай-ақ есептеу геометриясындағы алгоритмдермен қамтамасыз ететін жалпы мақсаттағы кітапхана ретінде де пайдаланылуы мүмкін. JTS OpenGIS консорциумының SQL үшін қарапайым мүмкіндіктер спецификациясында анықталған геометриялық модель мен API-ді іске асырады. JTS кеңістіктік қолданбаларды құру үшін стандарттарға сәйкес келетін геометриялық жүйені айқындайды; мысалдарға көрермендер, кеңістіктік сұраныс процессорлары және деректерді растау, тазалау және интеграциялау құралдарын жатқызуға болады. Java кітапханасынан басқа, JTS негіздері мен таңдалған функциялар C ++ портында сақталады, барлық негізгі операциялық жүйелерде C стилімен байланыстыру үшін GEOS бағдарламалық кітапханасы түрінде қолданылады. JTS 1.14-ге дейін және GEOS порты GNU Lesser General Public License (LGPL) лицензиясы бойынша жарияланады. LocationTech қолдану арқылы болашақ нұсқалар EPL/BSD лицензиясы бойынша шығарылады.

Геометриялық модель

Геометриялық кластар нүктелерді, сызықтық тізбектерді, көпбұрыштарды және жинақтарды модельдеуді қолдайды. Геометриялар сызықтық, яғни шекаралар түкпірлер арасындағы сызықтық интерполяция арқылы имплицитті түрде анықталады. Геометриялар 2 өлшемді Евклид жазықтығына енген. Геометриялық ұштары да Z мәнін ала алады. Геометриялық координаттар үшін пайдаланушы анықтаған дәлдік модельдері қолдайды. Есептеу барлық дәлдік модельдерінде берік геометриялық есептеуді қамтамасыз ететін алгоритмдер арқылы жүргізіледі.

Тарих

2000 жылдың күзінде GeoConnections компаниясы мен Британдық Колумбия үкіметі Марк Сондхайм мен Дэвид Скеа ұсынған ұсыныстың негізінде JTS-тің алғашқы жұмыстарына қаржы бөлді. Жұмысты Мартин Дэвис (бағдарламалық жасақтама және бас әзірлеуші) және Джонатан Акино (жетілдіруші) орындады, екеуі де Vivid Solutions компаниясының сол кездегі қызметкерлері. Содан бері JTS Мартин Дэвис тәуелсіз бағдарламалық жоба ретінде ұсталып келеді. 2016 жылдың аяғы мен 2017 жылдың басында LocationTech JTS-ті қабылдады.

Платформалар

JTS Java JDK 1.4 платформасы бойынша әзірленген. Бұл 100% таза Ява. Ол барлық жаңа JDK-да жұмыс істейді. JTS NET Framework-ке Net Topology Suite ретінде көшірілді. JTS-тің бір кіші жиынтығы C++-ға портталды, C интерфейстері ретінде GEOS кітапханасы ретінде мәлімделген кіру нүктелері бар.

C/C++ порты: GEOS

GEOS - JTS және таңдалған функциялардың кіші жиынтығының C/C++ порты. Бұл Linux, Mac және Windows платформаларында орындалатын екілік файлдардың құрастырылған бағдарламалық экожүйесінің негізгі компоненті болып табылады. Java және Java Virtual Machine (JVM) орындалу уақытының құрылымынан Java-да жазылған код кітапханалары негізінен стандартталған кросс-байланыс ортасынан (көбінесе C-ден құрылған) кітапханалар ретінде қолданылмайды. Linux, Microsoft Windows және BSD отбасы, соның ішінде Mac OSX, әртүрлі тілдердегі кітапханаларды жергілікті орындалатын орындалатын файлға біріктіруге (байланысуға) мүмкіндік беретін байланыстыру құрылымын қолданады. Java, жобалау бойынша, осы өзара іс-қимылға ерекше шараларсыз қатыспайды (JNI).