Articulo de referencia

Suite de topología JTS

JTS Topology Suite ( Java Topology Suite ) es una biblioteca de software Java de código abierto que proporciona un modelo de objetos para la geometría lineal plana euclidiana ju...

JTS Topology Suite ( Java Topology Suite ) es una biblioteca de software Java de código abierto que proporciona un modelo de objetos para la geometría lineal plana euclidiana junto con un conjunto de funciones geométricas fundamentales. JTS está diseñado principalmente para ser utilizado como un componente central de software de geomática vectorial, como los sistemas de información geográfica . [ 2 ] También puede utilizarse como una biblioteca de propósito general que proporciona algoritmos en geometría computacional . [ 3 ]

JTS implementa el modelo geométrico y la API definidos en la Especificación de Características Simples para SQL del Consorcio OpenGIS . JTS define un sistema geométrico que cumple con los estándares para la creación de aplicaciones espaciales; algunos ejemplos incluyen visores, procesadores de consultas espaciales y herramientas para la validación, limpieza e integración de datos.

Además de la biblioteca Java, los fundamentos de JTS y algunas funciones seleccionadas se mantienen en una versión en C++, para su uso en la vinculación al estilo C en todos los principales sistemas operativos, en forma de la biblioteca de software GEOS .

Hasta la versión JTS 1.14, y la versión para GEOS, se publican bajo la Licencia Pública General Reducida de GNU (LGPL).

Con la adopción de LocationTech, las futuras versiones se regirán por las licencias EPL/BSD.

Alcance

JTS proporciona la siguiente funcionalidad:

Modelo geométrico

Las clases de geometría admiten el modelado de puntos, líneas, polígonos y colecciones. Las geometrías son lineales, en el sentido de que sus límites se definen implícitamente mediante interpolación lineal entre vértices. Las geometrías están incrustadas en el plano euclidiano bidimensional. Los vértices de una geometría también pueden tener un valor Z.

Se admiten modelos de precisión definidos por el usuario para las coordenadas geométricas. Los cálculos se realizan mediante algoritmos que proporcionan una computación geométrica robusta bajo todos los modelos de precisión.

funciones geométricas

Estructuras espaciales y algoritmos

capacidades de E/S

Historia

La financiación para el trabajo inicial en JTS se obtuvo en otoño de 2000 de GeoConnections y el Gobierno de la Columbia Británica, basándose en una propuesta presentada por Mark Sondheim y David Skea. El trabajo fue realizado por Martin Davis (diseño de software y desarrollador principal) y Jonathan Aquino (desarrollador), ambos de Vivid Solutions en ese momento. Desde entonces, Martin Davis ha mantenido JTS como un proyecto de software independiente. [ 5 ]

Desde finales de 2016/principios de 2017, LocationTech ha adoptado JTS.

Proyectos que utilizan JTS

Plataformas

JTS se desarrolla bajo la plataforma Java JDK 1.4. Es 100% Java puro. También funcionará en todas las versiones más recientes de JDK. [ 6 ]

JTS se ha adaptado al .NET Framework como Net Topology Suite.

Se ha adaptado un subconjunto de JTS a C++ , con puntos de entrada declarados como interfaces C, como la biblioteca GEOS .

Puerto C/C++: GEOS

GEOS es la versión en C/C++ de un subconjunto de JTS y funciones seleccionadas. Es un componente fundamental en un ecosistema de software de binarios ejecutables nativos compilados para plataformas Linux, Mac y Windows. Debido a la construcción del entorno de ejecución de Java y la Máquina Virtual de Java (JVM), las bibliotecas de código escritas en Java no se pueden usar como bibliotecas de un entorno de enlace cruzado estandarizado (a menudo construido a partir de C). Linux, Microsoft Windows y la familia BSD, incluyendo Mac OS X, utilizan una estructura de enlace que permite integrar (enlazar) bibliotecas de varios lenguajes en un ejecutable nativo. Java, por diseño, no participa en esta interoperabilidad sin medidas especiales ( JNI ).

Aplicaciones que utilizan GEOS

GEOS se enlaza y se distribuye internamente en las aplicaciones populares que se enumeran a continuación; y, al delimitar e implementar clases de geometría basadas en estándares disponibles para GDAL , que a su vez es un motor interno ampliamente compatible en SIG, GEOS se convierte en una implementación de geometría central en aún más aplicaciones:

  • GDAL - OGR - manipulación de datos rasterizados y vectoriales
  • QGIS - Sistema de información geográfica (SIG) de escritorio, multiplataforma y de código abierto
  • PostGIS : tipos y operaciones espaciales para PostgreSQL
  • GeoDjango: compatibilidad de Django con bases de datos habilitadas para SIG.
  • Google Earth : un globo terráqueo virtual y un programa de imágenes del mundo.
  • Biblioteca y aplicación GRASS GIS
  • MapServer : un entorno de desarrollo de código abierto para crear aplicaciones de internet con capacidades espaciales.
  • World Wind Java : tecnología de código abierto de la NASA para la creación de globos virtuales e imágenes del mundo.
  • Orfeo Toolbox : una biblioteca para el procesamiento de imágenes satelitales.
  • R – Software estadístico de código abierto con extensiones para el análisis de datos espaciales.
  • SAGA GIS [ 7 ] Un software SIG de código abierto multiplataforma

Véase también

Referencias

  1. "Versión 1.20.0" . 30 de agosto de 2024. Consultado el 22 de septiembre de 2024 .
  2. "Mapa de software SIG libre y de código abierto de 2012: una guía para facilitar la investigación, el desarrollo y la adopción" Archivado el 18 de mayo de 2013 en Wayback Machine , S. Steiniger y AJS Hunter
  3. Davis, Martin (26 de septiembre de 2007). "Secretos del paquete de topología JTS" . Recuperado el 26 de enero de 2017 .
  4. Una definición formal de relaciones topológicas binarias por Max Egenhofer
  5. "Historia de JTS y GEOS - M. Davis" . 10 de junio de 2007. Consultado el 27 de mayo de 2013 .
  6. "JTS | Preguntas frecuentes" . locationtech.github.io . Consultado el 18 de julio de 2019 .
  7. "SAGA GIS" . Consultado el 29 de septiembre de 2020 .
  • Sitio web oficialEdita esto en Wikidata
  • Página principal de Net Topology Suite
  • Página principal de GEOS