¿Hay alguna biblioteca de geometría disponible para Java? Estoy buscando una solución para obtener un punto (s) de intersección entre dos objetos geométricos.Biblioteca de geometría para Java
Respuesta
JTS es su mejor opción de fuente abierta gratuita. El método que está buscando en JTS es here
En cuanto a las opciones comerciales, tiene ESRI's Java JNI version de su biblioteca de ArcObjects que tiene una Biblioteca de Geometría muy sólida. La interfaz en la biblioteca de ESRI se llama ITopologicalOperator
Si todo lo que intenta hacer son operaciones geométricas, JTS es su mejor opción: es una excelente biblioteca que tiene muchos puertos a diferentes idiomas. Si, por otro lado, está buscando un sistema GIS completo que haga una simbología compleja, soporte para flujos de trabajo GIS y edición multiusuario, impresión, etc., entonces comenzaría a buscar en las bibliotecas de ESRI.
El paquete debe mirarlo java.awt.geom
, que es parte del JDK.
En particular, consulte la clase java.awt.geom.Area
, que le permite realizar operaciones de intersección entre dos Shape
s.
EDITAR
Encontrar los puntos de intersección no es trivial por lo que yo sé, como es necesario aplicar un algoritmo diferente dependiendo de las formas que estamos analizando. Por ejemplo, el algoritmo para la intersección entre dos círculos se da here, mientras que el algoritmo para calcular la intrusión entre dos curvas Bezier es completamente diferente (here).
EDIT 2
Una sugerencia: Se podría buscar en la clase PathIterator
, que devuelve una descripción de la trayectoria de una forma como una secuencia de segmentos. En particular, consulte FlatteningPathIterator
, que colapsará cualquier curva en múltiples líneas rectas. Una vez que su camino se ha reducido a líneas rectas, el cálculo de los puntos de intersección será simple ... aunque obviamente esta es una aproximación en los casos en que su forma contiene curvas.
pero los resultados solo son verdaderos/falsos. Necesito los puntos de intersección de los exactos – nanda
comentario para EDITAR: hasta ahora sé, una vez que conocemos la ecuación de la ruta, es bastante sencillo obtener puntos de intersección. Tal vez termine creando la biblioteca si no hay una solución sofisticada. – nanda
Ver mi segunda edición. – Adamski
http://edndoc.esri.com/arcobjects/9.2/Java/java/library_reference/Geometry/Geometry_overview.htm
tratar este enlace este enlace contiene todos los detalles acerca de la biblioteca geomentry .....
ESRI? $ 5000 solo para obtener una intersección? – codekaizen
Esta es la biblioteca gratuita de geoemtry de Java de Esri: https://github.com/Esri/geometry-api-java – 0kcats
JTS - Java topología Suite - es la mejor.
http://www.vividsolutions.com/jts/jtshome.htm
Es gratis, rápido, robusto, y puede manejar las intersecciones degenerados.
Encontré que JTS ha cambiado de dueño, o ha cambiado de página de inicio, o algo así. Una versión más reciente se puede encontrar aquí: http://maven.geotoolkit.org/com/vividsolutions/jts/1.10/
Editar: Esta podría ser su nueva página de inicio: http://tsusiatsoftware.net/jts/main.html
para fines no GIS me puede sugerir javaGeom biblioteca. Utiliza la abstracción euclidiana de la geometría que la mayoría de la gente conoce de la escuela. No hay actividad reciente en este proyecto, pero me parece bien estructurado y fácil de usar.Dicen que admite operaciones booleanas, pero nunca probaron su funcionamiento. Existe una aplicación de pruebas muy rica en características llamada Euclid, desarrollada por el mismo autor. Puedes intentar usarlo, pero solo si estás seguro de que te va a funcionar.
Parece que tuvieron 3 lanzamientos a finales de 2011, después de un largo período de inactividad. Además, la biblioteca parece mucho más compacta que JTS, ¡es bueno no hinchar demasiado las cosas! – rescdsk
marque [esta respuesta] (http://gamedev.stackexchange.com/a/114761/36681) también, encontré muchas alternativas –
- 1. ¿Hay una biblioteca de geometría para Java? (no JTS)
- 2. .NET Geometría biblioteca
- 3. Biblioteca de geometría en C++
- 4. Cualquier biblioteca de algoritmos de geometría 3D en Java?
- 5. ¿Buena biblioteca de geometría en python?
- 6. Biblioteca de geometría 2D: alternativa LGPL a CGAL?
- 7. Biblioteca UPnP para Java
- 8. Biblioteca de bip para Java?
- 9. Biblioteca de PDF para Java
- 10. biblioteca de java para zip64
- 11. Biblioteca de matemáticas para Java
- 12. librería javascript para procesar compleja geometría 2D
- 13. Iluminación global para geometría estática
- 14. Geometría Computacional Javascript
- 15. ¿Qué biblioteca de Haskell para la geometría de gráficos por computadora?
- 16. Biblioteca para OAuth Provider (Java)
- 17. Mejor biblioteca OpenID para Java
- 18. Geometría de vista múltiple
- 19. ¿La mejor biblioteca de iCalendar para Java?
- 20. Biblioteca Java para análisis de código
- 21. ¿Biblioteca liviana de B-tree para Java?
- 22. Buscando biblioteca java para sincronización de directorios
- 23. Biblioteca de creación SVG para Java
- 24. Biblioteca de programación genética para Java
- 25. Biblioteca de clientes SOAP liviana para Java
- 26. Biblioteca de compilación para Scala y Java
- 27. Biblioteca de Java para crear esqueleto recto?
- 28. Biblioteca de escena 3D gráfica para Java?
- 29. Biblioteca de Java BitTorrent
- 30. SVN biblioteca de Java
¿Cuáles son las dimensiones del espacio que está trabajando? 2D, 3D? –
2D ............. – nanda
¿Tema secundario? Vas a estar bromeando. Vamos a cerrar todas las preguntas de Java entonces. – Stepan