2011-01-30 21 views
6

¿Cómo puedo asignar puntos y polígonos a tipos Java? Si esto no es posible, ¿qué es una solución?Soporte geoespacial en JPA

Me gustaría utilizar soporte geoespacial en mysql o postgres a través de JPA.

+0

Estoy considerando hornear hibernación espacial y crear algunos genéricos básicos de biblioteca de apoyo geoespacial JPA 2.1. Algo así como 'JPA espacial'. –

Respuesta

0

El mapa de asignación y el polígono en Java no es muy natural. (la lógica de abstracción será bastante voluminosa). Yo sugeriría usar un modelo de gráfico (como rdf). Pero eso podría tomar un buen grado de curva de aprendizaje. Por favor revisa GVSig. Son proyectos de código abierto basados ​​en Java.

Los evalué antes de pasar a un análisis geoespacial más completo utilizando Allegrograph y RDF.

+0

¿qué piensas sobre allegro graph? –

0

He intentado esto también - puede obtener los datos si se declara su campo en la APP como Byte[] y vendrá abajo como una burbuja, pero en formato interno espaciales de MySQL - así que no importa qué, siempre obtendrá un formato interno ilegible: su mejor apuesta en JPA es utilizar una consulta SQL nativa para obtener los datos como texto.

SELECT AsText(columnName) FROM tableName; 

Para instace:

String sql = "SELECT AsText(LOCATION) FROM ENTITY where id=?1"; 
return (String) em.createNativeQuery(sql) 
        .setParameter(1, id) 
        .getSingleResult(); 

retornos en mi caso: POINT(40.01999 -75.147171).