private static byte[] convertToWKB(Geometry g) { boolean includeSRID = g.getSRID() != 0; int dimensionCount = getDimensionCount(g); WKBWriter writer = new WKBWriter(dimensionCount, includeSRID); return writer.write(g); }
private void writeGeometryCollection(int geometryType, GeometryCollection gc, OutStream os) throws IOException { writeByteOrder(os); writeGeometryType(geometryType, gc, os); writeInt(gc.getNumGeometries(), os); for (int i = 0; i < gc.getNumGeometries(); i++) { write(gc.getGeometryN(i), os); } }
public void geomfromwkb(String pckg) throws SQLException { WKBWriter writer = new WKBWriter( 2, false ); byte[] wkb = writer.write( expectationsFactory.getTestPolygon() ); Map<Integer, Geometry> dbexpected = hanaExpectationsFactory.getGeomFromWKB( wkb ); String hql = format( "SELECT 1, cast(geomfromwkb(:param) as %s) FROM org.hibernate.spatial.integration.%s.GeomEntity g", getGeometryTypeFromPackage( pckg ), pckg ); Map<String, Object> params = createQueryParams( "param", wkb ); retrieveHQLResultsAndCompare( dbexpected, hql, params, pckg ); }
public void geomfromewkb(String pckg) throws SQLException { WKBWriter writer = new WKBWriter( 2, true ); byte[] ewkb = writer.write( expectationsFactory.getTestPolygon() ); Map<Integer, Geometry> dbexpected = hanaExpectationsFactory.getGeomFromEWKB( ewkb ); String hql = format( "SELECT 1, cast(geomfromewkb(:param) as %s) FROM org.hibernate.spatial.integration.%s.GeomEntity g", getGeometryTypeFromPackage( pckg ), pckg ); Map<String, Object> params = createQueryParams( "param", ewkb ); retrieveHQLResultsAndCompare( dbexpected, hql, params, pckg ); }
@Override public void setGeometryValue( Geometry g, int dimension, int srid, Class binding, PreparedStatement ps, int column) throws SQLException { if (g != null) { ps.setBytes(column, new WKBWriter(dimension).write(g)); // ps.setString( column, g.toText() ); } else { ps.setNull(column, Types.OTHER); } }
/** * @see org.geotools.data.jdbc.attributeio.AttributeIO#write(java.sql.PreparedStatement, int, * java.lang.Object) */ public void write(PreparedStatement ps, int position, Object value) throws IOException { try { if (value == null) { ps.setNull(position, Types.OTHER); } else { ps.setBytes(position, new WKBWriter().write((Geometry) value)); } } catch (SQLException e) { throw new DataSourceException("SQL exception occurred while reading the geometry.", e); } }
@Override protected void setGridSelectParams( PreparedStatement s, GeneralEnvelope envelope, ImageLevelInfo li) throws SQLException { WKBWriter w = new WKBWriter(); byte[] bytes = w.write(polyFromEnvelope(envelope)); s.setBytes(1, bytes); // s.setInt(2, li.getSrsId()); not supported }
/** * @see org.geotools.data.jdbc.attributeio.AttributeIO#write(java.sql.PreparedStatement, int, * java.lang.Object) */ public void write(PreparedStatement ps, int position, Object value) throws IOException { try { if (value == null) { ps.setNull(position, Types.OTHER); } else { ps.setBytes(position, new WKBWriter().write((Geometry) value)); } } catch (SQLException e) { throw new DataSourceException("SQL exception occurred while reading the geometry.", e); } }
private static byte[] toWKB(Geometry g) { try { WKBWriter w = new WKBWriter(); // write the geometry ByteArrayOutputStream bytes = new ByteArrayOutputStream(); w.write(g, new OutputStreamOutStream(bytes)); // supplement it with the srid int srid = g.getSRID(); bytes.write((byte) (srid >>> 24)); bytes.write((byte) (srid >> 16 & 0xff)); bytes.write((byte) (srid >> 8 & 0xff)); bytes.write((byte) (srid & 0xff)); return bytes.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } } //
@Override protected void setGridSelectParams( PreparedStatement s, GeneralEnvelope envelope, ImageLevelInfo li) throws SQLException { WKBWriter w = new WKBWriter(); byte[] bytes = w.write(polyFromEnvelope(envelope)); s.setBytes(1, bytes); s.setInt(2, li.getSrsId()); } }
@Override protected void setGridSelectParams( PreparedStatement s, GeneralEnvelope envelope, ImageLevelInfo li) throws SQLException { WKBWriter w = new WKBWriter(); byte[] bytes = w.write(polyFromEnvelope(envelope)); s.setBytes(1, bytes); s.setInt(2, li.getSrsId()); }
public void writeJtsGeom(final DataOutput dataOutput, Shape s) throws IOException { JtsSpatialContext ctx = (JtsSpatialContext)super.ctx; Geometry geom = ctx.getGeometryFrom(s);//might even translate it new WKBWriter().write(geom, new OutStream() {//a strange JTS abstraction boolean first = true; @Override public void write(byte[] buf, int len) throws IOException { if (first) { first = false; //skip byte order mark if (len != 1 || buf[0] != WKBConstants.wkbXDR)//the default throw new IllegalStateException("Unexpected WKB byte order mark"); return; } dataOutput.write(buf, 0, len); } }); } }
@Override public void setGeometryValue( Geometry g, int dimension, int srid, Class binding, PreparedStatement ps, int column) throws SQLException { if (g != null && !g.isEmpty()) { if (g instanceof LinearRing) { // postgis does not handle linear rings, convert to just a line string g = g.getFactory().createLineString(((LinearRing) g).getCoordinateSequence()); } byte[] bytes = new WKBWriter(dimension).write(g); ps.setBytes(column, bytes); } else { ps.setNull(column, Types.OTHER, "Geometry"); } }
byte[] bytes = w.write(polyFromEnvelope(requestEnvelope)); s.setBytes(1, bytes); s.setInt(2, levelInfo.getSrsId());
} else if (Geometry.class.isAssignableFrom(binding)) { WKBWriter writer = new WKBWriter(); byte[] buffer = writer.write((Geometry) value); int length = buffer.length; raf.writeInt(length);
byte[] wkb = w.write(currentGeom); sqlInsertSpatial.setBytes(2, wkb);
private String convertToWKB(Geometry g) { if (g == null) return ""; return WKBWriter.toHex((new WKBWriter().write(g))); }
public static String writeWKB(Geometry g) { if (g == null) return ""; return WKBWriter.toHex((new WKBWriter().write(g))); }
private String getWKTorWKB(Geometry g, boolean useWKT) { if (useWKT) return wktWriter.writeFormatted(g); return WKBWriter.toHex(wkbWriter.write(g)); }
new WKBWriter(dim, order).write(g, out);