2011-01-30 2 views
6

Как я смогу отображать точки и полигоны в типы java. Если это невозможно, что такое обходной путь?Геопространственная поддержка в JPA

Я хотел бы использовать геопространственную поддержку в mysql или postgres через JPA.

+0

Я рассматриваю forking hibernate пространственный и создаю базовую общую библиотеку поддержки геопространственной JPA 2.1. Что-то вроде 'JPA spaces'. –

ответ

0

Картографическая карта и многоугольник в java не очень естественны. (логика абстракции будет довольно громоздкой). Я бы предложил использовать графическую модель (например, rdf). Но это может занять хорошую степень обучения. Пожалуйста, проверьте GVSig. Они представляют собой Java-проект с открытым исходным кодом.

Я оценил их, прежде чем перейти к более полному геопространственному анализу с использованием Allegrograph и RDF.

+0

Что вы думаете о графике аллегро? –

0

Я попытался это тоже - вы можете получить данные, если объявить поле в JPA как Byte[] и сойдют как сгусток, но в MySQL пространственного внутреннем формате - так что ни на что, вы всегда получите нечитаемый внутренний формат - ваш лучший выбор в JPA - использовать собственный SQL-запрос, чтобы получить данные в виде текста.

SELECT AsText(columnName) FROM tableName; 

Для instace:

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

возвращается в моем случае: POINT(40.01999 -75.147171).

Смежные вопросы