@Description("Returns the 2D Euclidean area of a geometry") @ScalarFunction("ST_Area") @SqlType(DOUBLE) public static double stArea(@SqlType(GEOMETRY_TYPE_NAME) Slice input) { OGCGeometry geometry = deserialize(input); // The Esri geometry library does not support area for geometry collections. We compute the area // of collections by summing the area of the individual components. GeometryType type = GeometryType.getForEsriGeometryType(geometry.geometryType()); if (type == GeometryType.GEOMETRY_COLLECTION) { double area = 0.0; GeometryCursor cursor = geometry.getEsriGeometryCursor(); while (true) { com.esri.core.geometry.Geometry esriGeometry = cursor.next(); if (esriGeometry == null) { return area; } area += esriGeometry.calculateArea2D(); } } return geometry.getEsriGeometry().calculateArea2D(); }
public double area() { return getEsriGeometry().calculateArea2D(); }
public double area() { return getEsriGeometry().calculateArea2D(); }
public double area() { return getEsriGeometry().calculateArea2D(); }
public double area() { return getEsriGeometry().calculateArea2D(); }
@Override protected Object evaluateOGCGeometry(OGCGeometry geometry) throws HyracksDataException { double area; if (!"GeometryCollection".equals(geometry.geometryType())) { area = geometry.getEsriGeometry().calculateArea2D(); } else { GeometryCursor cursor = geometry.getEsriGeometryCursor(); Geometry geometry1 = cursor.next(); area = 0; while (geometry1 != null) { area += geometry1.calculateArea2D(); geometry1 = cursor.next(); } } return area; }
@Override public Double exec(Tuple input) throws IOException { OGCGeometry geom = null; try { Object v = input.get(0); geom = geometryParser.parseGeom(v); return geom.getEsriGeometry().calculateArea2D(); } catch (ExecException ee) { throw new GeoException(geom, ee); } }
@Description("Returns the 2D Euclidean area of a geometry") @ScalarFunction("ST_Area") @SqlType(DOUBLE) public static double stArea(@SqlType(GEOMETRY_TYPE_NAME) Slice input) { OGCGeometry geometry = deserialize(input); // The Esri geometry library does not support area for geometry collections. We compute the area // of collections by summing the area of the individual components. GeometryType type = GeometryType.getForEsriGeometryType(geometry.geometryType()); if (type == GeometryType.GEOMETRY_COLLECTION) { double area = 0.0; GeometryCursor cursor = geometry.getEsriGeometryCursor(); while (true) { com.esri.core.geometry.Geometry esriGeometry = cursor.next(); if (esriGeometry == null) { return area; } area += esriGeometry.calculateArea2D(); } } return geometry.getEsriGeometry().calculateArea2D(); }
public DoubleWritable 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; } resultDouble.set(ogcGeometry.getEsriGeometry().calculateArea2D()); return resultDouble; } }
@Description("Returns the 2D Euclidean area of a geometry") @ScalarFunction("ST_Area") @SqlType(DOUBLE) public static double stArea(@SqlType(GEOMETRY_TYPE_NAME) Slice input) { OGCGeometry geometry = deserialize(input); // The Esri geometry library does not support area for geometry collections. We compute the area // of collections by summing the area of the individual components. GeometryType type = GeometryType.getForEsriGeometryType(geometry.geometryType()); if (type == GeometryType.GEOMETRY_COLLECTION) { double area = 0.0; GeometryCursor cursor = geometry.getEsriGeometryCursor(); while (true) { com.esri.core.geometry.Geometry esriGeometry = cursor.next(); if (esriGeometry == null) { return area; } area += esriGeometry.calculateArea2D(); } } return geometry.getEsriGeometry().calculateArea2D(); }
static boolean hasNonEmptyBoundary(Geometry geom, ProgressTracker progress_tracker) { if (geom.isEmpty()) return false; Geometry.Type gt = geom.getType(); if (gt == Geometry.Type.Polygon) { if (geom.calculateArea2D() == 0) return false; return true; } else if (gt == Geometry.Type.Polyline) { boolean[] b = new boolean[1]; b[0] = false; calculatePolylineBoundary_(geom._getImpl(), progress_tracker, true, b); return b[0]; } else if (gt == Geometry.Type.Envelope) { return true; } else if (Geometry.isSegment(gt.value())) { if (!((Segment) geom).isClosed()) { return true; } return false; } else if (Geometry.isPoint(gt.value())) { return false; } return false; }
static boolean hasNonEmptyBoundary(Geometry geom, ProgressTracker progress_tracker) { if (geom.isEmpty()) return false; Geometry.Type gt = geom.getType(); if (gt == Geometry.Type.Polygon) { if (geom.calculateArea2D() == 0) return false; return true; } else if (gt == Geometry.Type.Polyline) { boolean[] b = new boolean[1]; b[0] = false; calculatePolylineBoundary_(geom._getImpl(), progress_tracker, true, b); return b[0]; } else if (gt == Geometry.Type.Envelope) { return true; } else if (Geometry.isSegment(gt.value())) { if (!((Segment) geom).isClosed()) { return true; } return false; } else if (Geometry.isPoint(gt.value())) { return false; } return false; }