Из Википедии, бесплатной энциклопедии
  (Перенаправлено из GEOS (программная библиотека) )
Перейти к навигации Перейти к поиску

JTS Topology Suite ( Java Topology Suite ) - это программная библиотека Java с открытым исходным кодом, которая предоставляет объектную модель для евклидовой планарной линейной геометрии вместе с набором фундаментальных геометрических функций. JTS в первую очередь предназначен для использования в качестве основного компонента программного обеспечения для векторной геоматики, такого как географические информационные системы . [2] Он также может быть использован в качестве библиотеки общего назначения , обеспечивая алгоритмы в вычислительной геометрии . [3]

JTS реализует геометрическую модель и API, определенные в спецификации простых функций OpenGIS Consortium для SQL .

JTS определяет соответствующую стандартам геометрическую систему для построения пространственных приложений; Примеры включают средства просмотра, обработчики пространственных запросов и инструменты для проверки, очистки и интеграции данных. В дополнение к библиотеке Java основы JTS и выбранные функции поддерживаются в порте C ++ для использования в компоновке в стиле C во всех основных операционных системах в форме библиотеки программного обеспечения GEOS.

До JTS 1.14 и порт GEOS публикуются под Стандартной общественной лицензией ограниченного применения GNU (LGPL).

С принятием LocationTech будущие выпуски будут под лицензиями EPL / BSD.

Сфера [ править ]

JTS предоставляет следующие функции:

Геометрическая модель [ править ]

Классы геометрии поддерживают точки моделирования, линии линий, многоугольники и коллекции. Геометрии линейны в том смысле, что границы неявно определяются линейной интерполяцией между вершинами. Геометрии вложены в 2-мерную евклидову плоскость. Вершины геометрии также могут нести значение Z.

Определяемые пользователем прецизионные модели поддерживаются для геометрических координат. Вычисления выполняются с использованием алгоритмов, которые обеспечивают надежные геометрические вычисления для всех прецизионных моделей.

Геометрические функции [ править ]

  • Проверка топологической достоверности
  • Функции площади и расстояния
  • Пространственные Предикаты на основе Egenhofer ДЕ-9IM модели [4]
  • Функции наложения (включая пересечение , разность , объединение , симметричную разность )
  • Вычисление буфера (включая различные типы ограничения и соединения)
  • Выпуклый корпус
  • Геометрическое упрощение, включая алгоритм Дугласа – Пекера.
  • Геометрическое уплотнение
  • Линейная привязка
  • Прецизионное снижение
  • Триангуляция Делоне и ограниченная триангуляция Делоне
  • Генерация диаграммы Вороного
  • Наименьший охватывающий прямоугольник
  • Дискретное расстояние Хаусдорфа

Пространственные структуры и алгоритмы [ править ]

  • Надежное пересечение отрезков прямой
  • Эффективное пересечение линий
  • Эффективная точка в многоугольнике
  • Структуры пространственного индекса, включая дерево квадрантов и STR-дерево
  • Структуры и алгоритмы планарных графов

Возможности ввода / вывода [ править ]

  • Чтение и запись из WKT , ВКБ и GML форматов

Библиотека GEOS [ править ]

GEOS - это порт C / C ++ для подмножества JTS и выбранных функций. Это базовый компонент программной экосистемы нативных, скомпилированных исполняемых двоичных файлов на платформах Linux, Mac и Windows. Из-за конструкции среды выполнения Java и виртуальной машины Java (JVM) библиотеки кода, написанные на Java, в основном не могут использоваться в качестве библиотек из стандартизированной среды перекрестных ссылок (часто построенной на C). Linux, Microsoft Windows и семейство BSD, включая Mac OSX, используют структуру связывания, которая позволяет интегрировать (линковать) библиотеки из различных языков в собственный исполняемый файл среды выполнения. Java, по замыслу, не участвует в этой совместимости без необычных мер ( JNI ).

Приложения, использующие GEOS [ править ]

GEOS имеет внутренние ссылки и поставляется в популярных приложениях, перечисленных ниже; и, очерчивая и реализуя стандартные классы геометрии, доступные для GDAL , который, в свою очередь, является широко поддерживаемым внутренним механизмом в ГИС, GEOS становится основной реализацией геометрии в еще большем количестве приложений:

  • GDAL - OGR - изменение растровых и векторных данных
  • QGIS - настольная кроссплатформенная ГИС с открытым исходным кодом
  • PostGIS - пространственные типы и операции для PostgreSQL
  • GeoDjango - поддержка Django для баз данных с поддержкой ГИС
  • Google Earth - программа для создания виртуальных глобусов и мира.
  • Библиотека и приложение GRASS GIS
  • MapServer - среда разработки с открытым исходным кодом для создания интернет-приложений с пространственной поддержкой.
  • World Wind Java - виртуальный глобус с открытым исходным кодом НАСА и технология создания изображений мира
  • Orfeo toolbox - библиотека обработки спутниковых изображений
  • R - Статистическое программное обеспечение с открытым исходным кодом с расширениями для анализа пространственных данных.
  • SAGA GIS [5] Кроссплатформенное программное обеспечение ГИС с открытым исходным кодом.

История [ править ]

Финансирование первоначальной работы над JTS было получено осенью 2000 года от GeoConnections и правительства Британской Колумбии на основе предложения, выдвинутого Марком Сондхеймом и Дэвидом Скеа. Работу выполняли Мартин Дэвис (разработчик программного обеспечения и ведущий разработчик) и Джонатан Акино (разработчик), оба в то время работали в Vivid Solutions. С тех пор Мартин Дэвис поддерживает JTS как независимый программный проект. [6]

С конца 2016 - начала 2017 года компания LocationTech приняла на вооружение JTS.

Платформы [ править ]

JTS разработан на платформе Java JDK 1.4. Это 100% чистая Java. Он также будет работать на всех более новых JDK. [7]

Подмножество JTS было перенесено на C ++ с точками входа, объявленными как интерфейсы C, как библиотека GEOS .

JTS был перенесен на .NET Framework как Net Topology Suite.

Проекты с использованием JTS [ править ]

  • GeoServer
  • GeoTools
  • OpenJUMP и вилки
  • uDig
  • gvSIG
  • Батик
  • Геофорге
  • Hibernate Spatial
  • Инструменты геопространственного анализа Whitebox
  • Tygron Engine
  • ODL Studio
  • jts-дискретизатор
  • orbis gis / h2gis
  • Геофил

См. Также [ править ]

  • ДЭ-9ИМ , топологическая модель

Ссылки [ править ]

  1. ^ "Релизы - locationtech / jts" . Проверено 28 сентября 2020 г. - через GitHub . CS1 maint: обескураженный параметр ( ссылка )
  2. ^ «Карта программного обеспечения ГИС с открытым исходным кодом 2012 года - Руководство для содействия исследованиям, разработкам и внедрению» , С. Стейнигер и AJS Hunter
  3. Дэвис, Мартин (26 сентября 2007 г.). «Секреты JTS Topology Suite» . Проверено 26 января 2017 . CS1 maint: обескураженный параметр ( ссылка )
  4. ^ Формальное определение бинарных топологических отношений Максом Эгенхофером
  5. ^ {bcite web | url = // www.saga-gis.org | title = SAGA GIS || accessdate = 29 сентября 2020 г.}}
  6. ^ "История JTS и GEOS - М. Дэвис" . Проверено 27 мая 2013 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ "JTS | FAQ" . locationtech.github.io . Проверено 18 июля 2019 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Домашняя страница Net Topology Suite
  • Домашняя страница GEOS