HHH-6509 - Updates to geolatte-geom 1.0-SNAPSHOT

This commit is contained in:
Karel Maesen 2014-12-20 15:37:19 +01:00 committed by Steve Ebersole
parent ed98698aa4
commit dbfeb16e43
6 changed files with 37 additions and 31 deletions

View File

@ -25,8 +25,8 @@ apply plugin: 'hibernate-matrix-testing'
dependencies {
compile(project(':hibernate-core'))
compile([group: 'postgresql', name: 'postgresql', version: '8.4-701.jdbc4'])
compile([group: 'org.geolatte', name: 'geolatte-geom', version: '0.12-SNAPSHOT'])
compile([group: 'com.vividsolutions', name: 'jts', version: '1.12'])
compile([group: 'org.geolatte', name: 'geolatte-geom', version: '1.0-SNAPSHOT'])
// compile([group: 'com.vividsolutions', name: 'jts', version: '1.12'])
compile(libraries.dom4j) {
transitive = false

View File

@ -50,7 +50,7 @@ public GeolatteGeometryJavaTypeDescriptor() {
@Override
public String toString(Geometry value) {
return value.asText();
return value.toString();
}
@Override

View File

@ -29,16 +29,16 @@
import org.geolatte.geom.ByteBuffer;
import org.geolatte.geom.ByteOrder;
import org.geolatte.geom.DimensionalFlag;
import org.geolatte.geom.C2D;
import org.geolatte.geom.Envelope;
import org.geolatte.geom.Geometry;
import org.geolatte.geom.PointSequence;
import org.geolatte.geom.PointSequenceBuilders;
import org.geolatte.geom.Polygon;
import org.geolatte.geom.PositionSequence;
import org.geolatte.geom.PositionSequenceBuilders;
import org.geolatte.geom.codec.Wkb;
import org.geolatte.geom.codec.WkbDecoder;
import org.geolatte.geom.codec.WkbEncoder;
import org.geolatte.geom.crs.CrsId;
import org.geolatte.geom.crs.CoordinateReferenceSystems;
import org.geolatte.geom.jts.JTS;
import org.hibernate.HibernateException;
@ -109,13 +109,14 @@ else if ( object instanceof com.vividsolutions.jts.geom.Envelope ) {
}
private static Geometry toPolygon(Envelope env) {
final PointSequence ps = PointSequenceBuilders.fixedSized( 4, DimensionalFlag.d2D, CrsId.UNDEFINED )
.add( env.getMinX(), env.getMinY() )
.add( env.getMinX(), env.getMaxY() )
.add( env.getMaxX(), env.getMaxY() )
.add( env.getMinX(), env.getMinY() ).toPointSequence();
return new Polygon( ps );
private static Geometry<C2D> toPolygon(Envelope env) {
final PositionSequence<C2D> ps = PositionSequenceBuilders.fixedSized(4, C2D.class)
.add( env.lowerLeft().getCoordinate( 0 ), env.lowerLeft().getCoordinate(1) )
.add( env.lowerLeft().getCoordinate( 0 ), env.upperRight().getCoordinate(1) )
.add( env.upperRight().getCoordinate( 0 ), env.upperRight().getCoordinate(1) )
.add( env.lowerLeft().getCoordinate( 0 ), env.lowerLeft().getCoordinate(1) )
.toPositionSequence();
return new Polygon<C2D>( ps, CoordinateReferenceSystems.PROJECTED_2D_METER );
}
private static ByteBuffer toByteBuffer(Blob blob) {

View File

@ -25,10 +25,13 @@
import javax.persistence.Id;
import javax.persistence.Table;
import org.geolatte.geom.C3DM;
import org.geolatte.geom.Geometry;
import org.geolatte.geom.codec.Wkt;
import org.geolatte.geom.codec.WktDecodeException;
import org.geolatte.geom.codec.WktDecoder;
import org.geolatte.geom.crs.CoordinateReferenceSystem;
import org.geolatte.geom.crs.CoordinateReferenceSystems;
import org.hibernate.spatial.testing.TestDataElement;
@ -39,13 +42,14 @@
@Table(name = "geomtest")
public class GeomEntity {
private final static CoordinateReferenceSystem<C3DM> CRS = CoordinateReferenceSystems.PROJECTED_3DM_METER;
@Id
private Integer id;
private String type;
private Geometry geom;
private Geometry<C3DM> geom;
public Integer getId() {
return id;
@ -63,17 +67,17 @@ public void setType(String type) {
this.type = type;
}
public Geometry getGeom() {
public Geometry<C3DM> getGeom() {
return geom;
}
public void setGeom(Geometry geom) {
public void setGeom(Geometry<C3DM> geom) {
this.geom = geom;
}
public static GeomEntity createFrom(TestDataElement element) throws WktDecodeException {
WktDecoder decoder = Wkt.newDecoder( Wkt.Dialect.POSTGIS_EWKT_1 );
Geometry geom = decoder.decode( element.wkt );
Geometry<C3DM> geom = decoder.decode( element.wkt, CRS );
GeomEntity result = new GeomEntity();
result.setId( element.id );
result.setGeom( geom );

View File

@ -4,6 +4,7 @@
import java.util.List;
import java.util.Map;
import org.geolatte.geom.C3DM;
import org.geolatte.geom.Geometry;
import org.geolatte.geom.GeometryEquality;
import org.geolatte.geom.GeometryPointEquality;
@ -66,8 +67,8 @@ private void retrieveAndCompare(Map<Integer, GeomEntity> stored) {
for ( GeomEntity storedEntity : stored.values() ) {
id = storedEntity.getId();
GeomEntity retrievedEntity = (GeomEntity) session.get( GeomEntity.class, id );
Geometry retrievedGeometry = retrievedEntity.getGeom();
Geometry storedGeometry = storedEntity.getGeom();
Geometry<C3DM> retrievedGeometry = retrievedEntity.getGeom();
Geometry<C3DM> storedGeometry = storedEntity.getGeom();
String msg = createFailureMessage( storedEntity.getId(), storedGeometry, retrievedGeometry );
assertTrue( msg, geomEq.equals( storedGeometry, retrievedGeometry ) );
}
@ -87,8 +88,8 @@ private void retrieveAndCompare(Map<Integer, GeomEntity> stored) {
}
private String createFailureMessage(int id, Geometry storedGeometry, Geometry retrievedGeometry) {
String expectedText = ( storedGeometry != null ? storedGeometry.asText() : "NULL" );
String retrievedText = ( retrievedGeometry != null ? retrievedGeometry.asText() : "NULL" );
String expectedText = ( storedGeometry != null ? storedGeometry.toString() : "NULL" );
String retrievedText = ( retrievedGeometry != null ? retrievedGeometry.toString() : "NULL" );
return String.format(
"Equality testsuite-suite failed for %d.%nExpected: %s%nReceived:%s",
id,

View File

@ -30,10 +30,10 @@ hibernate.show_sql true
hibernate.max_fetch_depth 5
hibernate.dialect org.hibernate.dialect.H2Dialect
hibernate.connection.driver_class org.h2.Driver
hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE
hibernate.connection.username sa
#hibernate.dialect org.hibernate.dialect.H2Dialect
#hibernate.connection.driver_class org.h2.Driver
#hibernate.connection.url jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE
#hibernate.connection.username sa
#hibernate.cache.region_prefix hibernate.test
#hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory
@ -44,11 +44,11 @@ hibernate.connection.username sa
## Configs for spatial databases (used during testing on local dev environment).
#
#hibernate.dialect org.hibernate.spatial.dialect.postgis.PostgisDialect
#hibernate.connection.driver_class org.postgresql.Driver
#hibernate.connection.url jdbc:postgresql://localhost:5432:hibbrtru
#hibernate.connection.username hibbrtru
#hibernate.connection.password hibbrtru
hibernate.dialect org.hibernate.spatial.dialect.postgis.PostgisDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql://localhost:5432:hibbrtru
hibernate.connection.username hibbrtru
hibernate.connection.password hibbrtru
##
## GeoDb (H2 spatial extension)