Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
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 лицензиясы бойынша шығарылады.
JTS Topology Suite (Java Topology Suite) is an open source Java software library that provides an object model for Euclidean planar linear geometry together with a set of fundamental geometric functions. JTS is primarily intended to be used as a core component of vector based geomatics software such as geographical information systems. It can also be used as a general purpose library providing algorithms in computational geometry. JTS implements the geometry model and API defined in the OpenGIS Consortium Simple Features Specification for SQL. JTS defines a standards compliant geometry system for building spatial applications; examples include viewers, spatial query processors, and tools for performing data validation, cleaning and integration. In addition to the Java library, the foundations of JTS and selected functions are maintained in a C++ port, for use in C style linking on all major operating systems, in the form of the GEOS software library. Up to JTS 1.14, and the GEOS port, are published under the GNU Lesser General Public License (LGPL). With the LocationTech adoption future releases will be under the EPL/BSD licenses.
Геометриялық модель
Геометриялық кластар нүктелерді, сызықтық тізбектерді, көпбұрыштарды және жинақтарды модельдеуді қолдайды. Геометриялар сызықтық, яғни шекаралар түкпірлер арасындағы сызықтық интерполяция арқылы имплицитті түрде анықталады. Геометриялар 2 өлшемді Евклид жазықтығына енген. Геометриялық ұштары да Z мәнін ала алады. Геометриялық координаттар үшін пайдаланушы анықтаған дәлдік модельдері қолдайды. Есептеу барлық дәлдік модельдерінде берік геометриялық есептеуді қамтамасыз ететін алгоритмдер арқылы жүргізіледі.
Geometry classes support modelling points, linestrings, polygons, and collections. Geometries are linear, in the sense that boundaries are implicitly defined by linear interpolation between vertices. Geometries are embedded in the 2 dimensional Euclidean plane. Geometry vertices may also carry a Z value. User defined precision models are supported for geometry coordinates. Computation is performed using algorithms which provide robust geometric computation under all precision models.
Тарих
2000 жылдың күзінде GeoConnections компаниясы мен Британдық Колумбия үкіметі Марк Сондхайм мен Дэвид Скеа ұсынған ұсыныстың негізінде JTS-тің алғашқы жұмыстарына қаржы бөлді. Жұмысты Мартин Дэвис (бағдарламалық жасақтама және бас әзірлеуші) және Джонатан Акино (жетілдіруші) орындады, екеуі де Vivid Solutions компаниясының сол кездегі қызметкерлері. Содан бері JTS Мартин Дэвис тәуелсіз бағдарламалық жоба ретінде ұсталып келеді. 2016 жылдың аяғы мен 2017 жылдың басында LocationTech JTS-ті қабылдады.
Funding for the initial work on JTS was obtained in the Fall 2000 from GeoConnections and the Government of British Columbia, based on a proposal put forward by Mark Sondheim and David Skea. The work was carried out by Martin Davis (software design and lead developer) and Jonathan Aquino (developer), both of Vivid Solutions at the time. Since then JTS has been maintained as an independent software project by Martin Davis. Since late 2016/early 2017 JTS has been adopted by LocationTech.
Платформалар
JTS Java JDK 1.4 платформасы бойынша әзірленген. Бұл 100% таза Ява. Ол барлық жаңа JDK-да жұмыс істейді. JTS NET Framework-ке Net Topology Suite ретінде көшірілді. JTS-тің бір кіші жиынтығы C++-ға портталды, C интерфейстері ретінде GEOS кітапханасы ретінде мәлімделген кіру нүктелері бар.
JTS is developed under the Java JDK 1.4 platform. It is 100% pure Java. It will run on all more recent JDKs as well. JTS has been ported to the NET Framework as the Net Topology Suite. A JTS subset has been ported to C++, with entry points declared as C interfaces, as the GEOS library.
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).
GEOS is the C/C++ port of a subset of JTS and selected functions. It is a foundation component in a software ecosystem of native, compiled executable binaries on Linux, Mac and Windows platforms. Due to the runtime construction of Java and the Java Virtual Machine (JVM), code libraries that are written in Java are basically not usable as libraries from a standardized cross linking environment (often built from C). Linux, Microsoft Windows and the BSD family, including Mac OSX, use a linking structure that enables libraries from various languages to be integrated (linked) into a native runtime executable. Java, by design, does not participate in this interoperability without unusual measures (JNI).