Пакет топологии JTS
Оригинальный автор(ы) | Мартин Дэвис |
---|---|
Стабильная версия | 1.19.0 [1]
/ 21 июня 2022 г |
Репозиторий | |
Написано в | Ява |
Платформа | Ява SE |
Тип | Библиотека |
Лицензия | Общественная лицензия Eclipse v.1.0 (начиная с версии 1.15), Стандартная общественная лицензия GNU Lesser (до версии 1.14) |
Веб-сайт | локациятехнология |
JTS Topology Suite ( Java Topology Suite ) — это с открытым исходным кодом Java программная библиотека , которая предоставляет объектную модель для евклидовой планарной линейной геометрии вместе с набором фундаментальных геометрических функций. JTS в первую очередь предназначен для использования в качестве основного компонента программного обеспечения для векторной геоматики, такого как географические информационные системы . [2] Ее также можно использовать в качестве библиотеки общего назначения, предоставляющей алгоритмы геометрии вычислительной . [3]
JTS реализует геометрическую модель и API, определенные в OpenGIS спецификации простых функций консорциума для SQL . JTS определяет соответствующую стандартам геометрическую систему для создания пространственных приложений; примеры включают средства просмотра, обработчики пространственных запросов и инструменты для проверки, очистки и интеграции данных.
В дополнение к библиотеке Java основы JTS и выбранные функции сохраняются в порте C++ для использования при связывании в стиле C со всеми основными операционными системами в виде библиотеки программного обеспечения GEOS .
До JTS 1.14 и порт GEOS публикуются под лицензией GNU Lesser General Public License (LGPL).
С внедрением LocationTech будущие выпуски будут распространяться под лицензиями EPL/BSD.
Объем
[ редактировать ]JTS предоставляет следующие функциональные возможности:
Геометрическая модель
[ редактировать ]Классы геометрии поддерживают точки моделирования, линии, полигоны и коллекции. Геометрии линейны в том смысле, что границы неявно определяются посредством линейной интерполяции между вершинами. Геометрии встроены в двумерную евклидову плоскость. Вершины геометрии также могут иметь значение Z.
Для геометрических координат поддерживаются определяемые пользователем прецизионные модели. Вычисления выполняются с использованием алгоритмов, которые обеспечивают надежные геометрические вычисления для всех прецизионных моделей.
Геометрические функции
[ редактировать ]- Проверка топологической достоверности
- Функции площади и расстояния
- Эгенхофера DE-9IM Пространственные предикаты на основе модели [4]
- Функции наложения (включая пересечение , разность , объединение , симметричную разность )
- Вычисление буфера (включая различные типы ограничения и соединения)
- Выпуклая оболочка
- Геометрическое упрощение, включая Дугласа – Пойкера. алгоритм
- Геометрическое уплотнение
- Линейная привязка
- Снижение точности
- Триангуляция Делоне и ограниченная триангуляция Делоне
- диаграммы Вороного Генерация
- Наименьший охватывающий прямоугольник
- Дискретное расстояние Хаусдорфа
Пространственные структуры и алгоритмы
[ редактировать ]- Надежное пересечение сегментов прямой
- Эффективное пересечение расположения линий
- Эффективная точка в полигоне
- пространственного индекса Структуры , включая квадродерево и STR-дерево.
- планарных графов Структуры и алгоритмы
Возможности ввода-вывода
[ редактировать ]История
[ редактировать ]Финансирование первоначальной работы над JTS было получено осенью 2000 года от GeoConnections и правительства Британской Колумбии на основе предложения, выдвинутого Марком Сондхеймом и Дэвидом Ски. Работу выполнили Мартин Дэвис (дизайнер программного обеспечения и ведущий разработчик) и Джонатан Акино (разработчик), оба в то время работали в Vivid Solutions. С тех пор JTS поддерживается Мартином Дэвисом как независимый программный проект. [5]
С конца 2016 – начала 2017 года компания LocationTech внедрила JTS.
Проекты с использованием JTS
[ редактировать ]- ГеоСервер
- ГеоИнструменты
- OpenJUMP и форки
- uDig
- gvSIG
- Батик
- Геофордж
- Спящий режим Пространственный
- Инструменты геопространственного анализа Whitebox
- ОДЛ Студия
- jts-дискретизатор
- диск ГИС/h2gis
- геофил
Платформы
[ редактировать ]JTS разработан на платформе Java JDK 1.4. Это 100% чистая Java. Он также будет работать на всех более поздних JDK. [6]
JTS был портирован на .NET Framework как Net Topology Suite.
Подмножество JTS было перенесено на C++ с точками входа, объявленными как интерфейсы C, как библиотека GEOS .
Порт C/C++: 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 — библиотека обработки спутниковых изображений.
- R – статистическое программное обеспечение с открытым исходным кодом и расширениями для анализа пространственных данных.
- ИСТОРИЯ ГИС [7] Кроссплатформенное программное обеспечение ГИС с открытым исходным кодом.
См. также
[ редактировать ]- ДЭ-9ИМ , топологическая модель
- Геопространственная топология
Ссылки
[ редактировать ]- ^ «Выпуск 1.19.0» . 21 июня 2022 г. Проверено 2 октября 2022 г.
- ^ «Карта бесплатного программного обеспечения ГИС с открытым исходным кодом 2012 года - Руководство по облегчению исследований, разработок и внедрения» , С. Штайнигер и AJS Hunter
- ^ Дэвис, Мартин (26 сентября 2007 г.). «Секреты топологического пакета JTS» . Проверено 26 января 2017 г.
- ^ Формальное определение бинарных топологических отношений Макса Эгенхофера
- ^ «История JTS и GEOS — М. Дэвис» . 10 июня 2007 года . Проверено 27 мая 2013 г.
- ^ «СТС | Часто задаваемые вопросы» . locationtech.github.io . Проверено 18 июля 2019 г.
- ^ «САГА ГИС» . Проверено 29 сентября 2020 г.