public BytesWritable evaluate(BytesWritable shape, int wkid) throws UDFArgumentException { try { Geometry geometry = GeometryEngine.geometryFromEsriShape(shape.getBytes(), Geometry.Type.Unknown); switch (geometry.getType())
public Object readResolve() throws ObjectStreamException { Geometry geometry = null; try { geometry = GeometryEngine.geometryFromEsriShape( esriShape, Geometry.Type.intToType(geometryType)); if (Geometry.isMultiVertex(geometryType)) { MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); if (!geometry.isEmpty() && Geometry.isMultiPath(geometryType)) { MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { if (ogcFlags[i]) pathFlags.setBits(i, (byte) PathFlags.enumOGCStartPolygon); } } mvImpl.setIsSimple(simpleFlag, tolerance, false); } } catch (Exception ex) { throw new InvalidObjectException("Cannot read geometry from stream"); } return geometry; }
public Object readResolve() throws ObjectStreamException { Geometry geometry = null; try { geometry = GeometryEngine.geometryFromEsriShape( esriShape, Geometry.Type.intToType(geometryType)); if (Geometry.isMultiVertex(geometryType)) { MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); if (!geometry.isEmpty() && Geometry.isMultiPath(geometryType)) { MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { if (ogcFlags[i]) pathFlags.setBits(i, (byte) PathFlags.enumOGCStartPolygon); } } mvImpl.setIsSimple(simpleFlag, tolerance, false); } } catch (Exception ex) { throw new InvalidObjectException("Cannot read geometry from stream"); } return geometry; }
Object readResolve() throws ObjectStreamException { Geometry geometry = null; try { geometry = GeometryEngine.geometryFromEsriShape( geometryData.esriShape, geometryData.geometryType); if (Geometry.isMultiVertex(geometry.getType().value())) { MultiVertexData mvd = (MultiVertexData) geometryData; MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); if (!geometry.isEmpty() && Geometry.isMultiPath(geometry.getType().value())) { MultiPathData mpd = (MultiPathData) geometryData; MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { if (mpd.ogcFlags[i]) pathFlags.setBits(i, (byte) PathFlags.enumOGCStartPolygon); } } mvImpl.setIsSimple(mvd.simpleFlag, mvd.tolerance, false); } } catch (Exception ex) { throw new InvalidObjectException("Cannot read geometry from stream"); } return geometry; }
Object readResolve() throws ObjectStreamException { Geometry geometry = null; try { geometry = GeometryEngine.geometryFromEsriShape( geometryData.esriShape, geometryData.geometryType); if (Geometry.isMultiVertex(geometry.getType().value())) { MultiVertexData mvd = (MultiVertexData) geometryData; MultiVertexGeometryImpl mvImpl = (MultiVertexGeometryImpl) geometry ._getImpl(); if (!geometry.isEmpty() && Geometry.isMultiPath(geometry.getType().value())) { MultiPathData mpd = (MultiPathData) geometryData; MultiPathImpl mpImpl = (MultiPathImpl) geometry._getImpl(); AttributeStreamOfInt8 pathFlags = mpImpl .getPathFlagsStreamRef(); for (int i = 0, n = mpImpl.getPathCount(); i < n; i++) { if (mpd.ogcFlags[i]) pathFlags.setBits(i, (byte) PathFlags.enumOGCStartPolygon); } } mvImpl.setIsSimple(mvd.simpleFlag, mvd.tolerance, false); } } catch (Exception ex) { throw new InvalidObjectException("Cannot read geometry from stream"); } return geometry; }