Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
JTS Topology Suite (Java Topology Suite) - это библиотека программного обеспечения Java с открытым исходным кодом, которая предоставляет объектную модель для евклидовой плоской линейной геометрии вместе с набором фундаментальных геометрических функций. JTS в первую очередь предназначен для использования в качестве основного компонента векторного геоматического программного обеспечения, такого как географические информационные системы. Он также может использоваться в качестве библиотеки общего назначения, предоставляющей алгоритмы в вычислительной геометрии. JTS реализует геометрическую модель и API, определенные в OpenGIS Consortium Simple Features Specification for SQL. 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.
Геометрическая модель
Геометрические классы поддерживают моделирование точек, линейных строк, полигонов и коллекций. Геометрии линейны в том смысле, что границы имплицитно определяются линейной интерполяцией между вершинами. Геометрии встроены в двухмерную евклидовую плоскость. Геометрические вершины также могут иметь значение 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.
История
Финансирование начальных работ по JTS было получено осенью 2000 года от GeoConnections и правительства Британской Колумбии на основе предложения, представленного Марком Сондхаймом и Дэвидом Скеа. Работа была выполнена Мартином Дэвисом (программный дизайн и ведущий разработчик) и Джонатаном Акино (разработчик), оба из Vivid Solutions в то время. С тех пор JTS поддерживается как независимый программный проект Мартином Дэвисом. С конца 2016 года / начала 2017 года JTS была принята LocationTech.
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 - это порт C/C++ подмножества JTS и выбранных функций. Это основной компонент в программной экосистеме собственных, скомпилированных исполняемых бинарных файлов на платформах 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).