private static void writeSimpleGeometry(DynamicSliceOutput output, GeometrySerializationType type, OGCGeometry geometry) { output.appendByte(type.code()); Geometry esriGeometry = requireNonNull(geometry.getEsriGeometry(), "esriGeometry is null"); byte[] shape = geometryToEsriShape(esriGeometry); output.appendBytes(shape); }
private static BytesWritable serialize(Geometry geometry, int wkid, OGCType type){ if (geometry == null) { return null; } // first get shape buffer for geometry byte[] shape = GeometryEngine.geometryToEsriShape(geometry); if (shape == null) { return null; } byte[] shapeWithData = new byte[shape.length + SIZE_WKID + SIZE_TYPE]; System.arraycopy(shape, 0, shapeWithData, SIZE_WKID + SIZE_TYPE, shape.length); BytesWritable hiveGeometryBytes = new BytesWritable(shapeWithData); setWKID(hiveGeometryBytes, wkid); setType(hiveGeometryBytes, type); BytesWritable ret = new BytesWritable(shapeWithData); return ret; }
private static void writeSimpleGeometry(DynamicSliceOutput output, GeometrySerializationType type, OGCGeometry geometry) { output.appendByte(type.code()); Geometry esriGeometry = requireNonNull(geometry.getEsriGeometry(), "esriGeometry is null"); byte[] shape = geometryToEsriShape(esriGeometry); output.appendBytes(shape); }
private static void writeSimpleGeometry(DynamicSliceOutput output, GeometrySerializationType type, OGCGeometry geometry) { output.appendByte(type.code()); Geometry esriGeometry = requireNonNull(geometry.getEsriGeometry(), "esriGeometry is null"); byte[] shape = geometryToEsriShape(esriGeometry); output.appendBytes(shape); }
private static void writeSimpleGeometry(DynamicSliceOutput output, GeometrySerializationType type, OGCGeometry geometry) { output.appendByte(type.code()); Geometry esriGeometry = requireNonNull(geometry.getEsriGeometry(), "esriGeometry is null"); byte[] shape = geometryToEsriShape(esriGeometry); output.appendBytes(shape); }
public BytesWritable evaluate(BytesWritable geomref) { if (geomref == null || geomref.getLength() == 0){ LogUtils.Log_ArgumentsNull(LOG); return null; } OGCGeometry ogcGeometry = GeometryUtils.geometryFromEsriShape(geomref); if (ogcGeometry == null){ LogUtils.Log_ArgumentsNull(LOG); return null; } try { // Get Esri shape representation Geometry esriGeometry = ogcGeometry.getEsriGeometry(); byte[] esriShape = GeometryEngine.geometryToEsriShape(esriGeometry); return new BytesWritable(esriShape); } catch (Exception e){ LOG.error(e.getMessage()); return null; } } }
public static byte[] ogcGeomToEsriShape(Object o) throws ExecException { ESRIGeometryParser parser = new ESRIGeometryParser(); OGCGeometry geom = parser.parseGeom(o); int wkid = geom.SRID(); int geomType = getGeometryType(geom); byte[] shape = GeometryEngine.geometryToEsriShape(geom.getEsriGeometry()); byte[] shapeWithData = new byte[shape.length + SIZE_TYPE + SIZE_WKID]; System.arraycopy(shape, 0, shapeWithData, SIZE_WKID + SIZE_TYPE, shape.length); System.arraycopy(intToBytes(wkid), 0, shapeWithData, 0, SIZE_WKID); shapeWithData[SIZE_WKID] = (byte) geomType; return shapeWithData; }
public void setGeometryByValue(Geometry geometry) throws ObjectStreamException { try { esriShape = GeometryEngine .geometryToEsriShape(geometry); geometryType = geometry.getType().value(); if (Geometry.isMultiVertex(geometryType)) { MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); tolerance = mvImpl.m_simpleTolerance; simpleFlag = mvImpl.getIsSimple(0); if (!geometry.isEmpty() && Geometry.isMultiPath(geometryType)) { MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); ogcFlags = new boolean[mpImpl.getPathCount()]; AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { ogcFlags[i] = (pathFlags.read(i) & (byte) PathFlags.enumOGCStartPolygon) != 0; } } } } catch (Exception ex) { throw new InvalidObjectException("Cannot serialize this geometry"); } } }
public void setGeometryByValue(Geometry geometry) throws ObjectStreamException { try { esriShape = GeometryEngine .geometryToEsriShape(geometry); geometryType = geometry.getType().value(); if (Geometry.isMultiVertex(geometryType)) { MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); tolerance = mvImpl.m_simpleTolerance; simpleFlag = mvImpl.getIsSimple(0); if (!geometry.isEmpty() && Geometry.isMultiPath(geometryType)) { MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); ogcFlags = new boolean[mpImpl.getPathCount()]; AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { ogcFlags[i] = (pathFlags.read(i) & (byte) PathFlags.enumOGCStartPolygon) != 0; } } } } catch (Exception ex) { throw new InvalidObjectException("Cannot serialize this geometry"); } } }
.geometryToEsriShape(geometry); geometryData.geometryType = geometry.getType(); if (Geometry.isMultiVertex(geometryData.geometryType.value())) {
.geometryToEsriShape(geometry); geometryData.geometryType = geometry.getType(); if (Geometry.isMultiVertex(geometryData.geometryType.value())) {