Как я смогу отображать точки и полигоны в типы java. Если это невозможно, что такое обходной путь?Геопространственная поддержка в JPA
Я хотел бы использовать геопространственную поддержку в mysql или postgres через JPA.
Как я смогу отображать точки и полигоны в типы java. Если это невозможно, что такое обходной путь?Геопространственная поддержка в JPA
Я хотел бы использовать геопространственную поддержку в mysql или postgres через JPA.
DataNucleus поддерживает постоянство/запрос подавляющего большинства общих геопространственных типов в JPA (и JDO). См. Эту ссылку для списка поддерживаемых типов http://www.datanucleus.org/products/accessplatform_3_0/rdbms/spatial_types.html
Картографическая карта и многоугольник в java не очень естественны. (логика абстракции будет довольно громоздкой). Я бы предложил использовать графическую модель (например, rdf). Но это может занять хорошую степень обучения. Пожалуйста, проверьте GVSig. Они представляют собой Java-проект с открытым исходным кодом.
Я оценил их, прежде чем перейти к более полному геопространственному анализу с использованием Allegrograph и RDF.
Что вы думаете о графике аллегро? –
Я использовал Hibernate Spatial как упомянут в PostGIS and JPA 2.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)
.
Я рассматриваю forking hibernate пространственный и создаю базовую общую библиотеку поддержки геопространственной JPA 2.1. Что-то вроде 'JPA spaces'. –