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); }
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 ); }
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 ); }
@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"); } }
WKBWriter w = new WKBWriter(); byte[] bytes = w.write(polyFromEnvelope(requestEnvelope)); s.setBytes(1, bytes);
raf.writeLong(((Date) value).getTime()); } else if (Geometry.class.isAssignableFrom(binding)) { WKBWriter writer = new WKBWriter(); byte[] buffer = writer.write((Geometry) value); int length = buffer.length;
sqlInsertSpatial.setString(1, currentLocation); WKBWriter w = new WKBWriter(); 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))); }
@Override public void writeGeometry(Geometry field, DataOutput data) throws IOException { WKBWriter wkbWriter = new WKBWriter(); byte[] bytes = wkbWriter.write(field); writeByteArray(bytes, data); }
public static int encode(@NonNull Geometry geom, @NonNull FlatBufferBuilder builder) { byte[] data = new WKBWriter().write(geom); int valueVector = WKBGEOMETRY.createValueVector(builder, data); return WKBGEOMETRY.createWKBGEOMETRY(builder, valueVector); }
@Override public void writeGeometry(Geometry field, DataOutput data) throws IOException { WKBWriter wkbWriter = new WKBWriter(); byte[] bytes = wkbWriter.write(field); writeByteArray(bytes, data); }
new WKBWriter(dim, order).write(g, out);