private static Point computePointsCentroid(MultiVertexGeometry multiVertex) { double xSum = 0; double ySum = 0; for (int i = 0; i < multiVertex.getPointCount(); i++) { Point point = multiVertex.getPoint(i); xSum += point.getX(); ySum += point.getY(); } return new Point(xSum / multiVertex.getPointCount(), ySum / multiVertex.getPointCount()); }
public static int getPointCount(OGCGeometry ogcGeometry) { GeometryCursor cursor = ogcGeometry.getEsriGeometryCursor(); int points = 0; while (true) { com.esri.core.geometry.Geometry geometry = cursor.next(); if (geometry == null) { return points; } if (geometry.isEmpty()) { continue; } if (geometry instanceof Point) { points++; } else { points += ((MultiVertexGeometry) geometry).getPointCount(); } } }
int pointCount = ((MultiVertexGeometry) geometry.getEsriGeometry()).getPointCount(); if (pointCount == 0) { return serialize(createFromEsriGeometry(new Point(), geometry.getEsriSpatialReference()));
com.esri.core.geometry.MultiVertexGeometry vertexGeom = com.esri.core.geometry.VertexGeomAccessor.getVertexGeometry(esriGeom); for (int i = 0; i < vertexGeom.getPointCount(); i++) { com.esri.core.geometry.Point point = vertexGeom.getPoint(i); result = transform.transform(new org.osgeo.proj4j.ProjCoordinate(point.getX(), point.getY()), result);
/** * Returns XY coordinates as an array. */ public Point2D[] getCoordinates2D() { Point2D[] arr = new Point2D[getPointCount()]; queryCoordinates(arr); return arr; }
/** * Returns XYZ coordinates as an array. */ Point3D[] getCoordinates3D() { Point3D[] arr = new Point3D[getPointCount()]; queryCoordinates(arr); return arr; }
/** * Returns XY coordinates as an array. */ public Point2D[] getCoordinates2D() { Point2D[] arr = new Point2D[getPointCount()]; queryCoordinates(arr); return arr; }
/** * Returns XYZ coordinates as an array. */ Point3D[] getCoordinates3D() { Point3D[] arr = new Point3D[getPointCount()]; queryCoordinates(arr); return arr; }
private static Point computePointsCentroid(MultiVertexGeometry multiVertex) { double xSum = 0; double ySum = 0; for (int i = 0; i < multiVertex.getPointCount(); i++) { Point point = multiVertex.getPoint(i); xSum += point.getX(); ySum += point.getY(); } return new Point(xSum / multiVertex.getPointCount(), ySum / multiVertex.getPointCount()); }
private static Point computePointsCentroid(MultiVertexGeometry multiVertex) { double xSum = 0; double ySum = 0; for (int i = 0; i < multiVertex.getPointCount(); i++) { Point point = multiVertex.getPoint(i); xSum += point.getX(); ySum += point.getY(); } return new Point(xSum / multiVertex.getPointCount(), ySum / multiVertex.getPointCount()); }
static boolean canUseQuadTree(Geometry geom) { if (geom.isEmpty() || !(geom.getType() == Geometry.Type.Polyline || geom.getType() == Geometry.Type.Polygon)) { return false; } if (((MultiVertexGeometry) geom).getPointCount() < 20) { return false; } return true; }
static boolean canUseQuadTreeForPaths(Geometry geom) { if (geom.isEmpty() || !(geom.getType() == Geometry.Type.Polyline || geom.getType() == Geometry.Type.Polygon)) return false; if (((MultiVertexGeometry) geom).getPointCount() < 20) return false; return true; }
static boolean canUseQuadTreeForPaths(Geometry geom) { if (geom.isEmpty() || !(geom.getType() == Geometry.Type.Polyline || geom.getType() == Geometry.Type.Polygon)) return false; if (((MultiVertexGeometry) geom).getPointCount() < 20) return false; return true; }
static boolean canUseQuadTree(Geometry geom) { if (geom.isEmpty() || !(geom.getType() == Geometry.Type.Polyline || geom.getType() == Geometry.Type.Polygon)) { return false; } if (((MultiVertexGeometry) geom).getPointCount() < 20) { return false; } return true; }
public static int getPointCount(OGCGeometry ogcGeometry) { GeometryCursor cursor = ogcGeometry.getEsriGeometryCursor(); int points = 0; while (true) { com.esri.core.geometry.Geometry geometry = cursor.next(); if (geometry == null) { return points; } if (geometry.isEmpty()) { continue; } if (geometry instanceof Point) { points++; } else { points += ((MultiVertexGeometry) geometry).getPointCount(); } } }
private static int get_vertex_count_(Geometry geom) { int gt = geom.getType().value(); if (Geometry.isMultiVertex(gt)) { return ((MultiVertexGeometry) geom).getPointCount(); } else if (gt == Geometry.GeometryType.Point) { return 1; } else if (gt == Geometry.GeometryType.Envelope) { return 4; } else if (Geometry.isSegment(gt)) { return 2; } else { throw GeometryException.GeometryInternalError(); } }
private static int get_vertex_count_(Geometry geom) { int gt = geom.getType().value(); if (Geometry.isMultiVertex(gt)) { return ((MultiVertexGeometry) geom).getPointCount(); } else if (gt == Geometry.GeometryType.Point) { return 1; } else if (gt == Geometry.GeometryType.Envelope) { return 4; } else if (Geometry.isSegment(gt)) { return 2; } else { throw GeometryException.GeometryInternalError(); } }
private void addMultiVertexGeometry_(MultiVertexGeometry mvg) { Point point = new Point(); Point2D pt_p = new Point2D(); for (int i = 0; i < mvg.getPointCount(); i++) { mvg.getXY(i, pt_p); int p = addPoint_(pt_p); if (p != -1) { mvg.getPointByVal(i, point); int tp = m_shape.addPoint(m_path_handle, point); m_tree_hull.setElement(p, tp); // reset the place holder to tp } } }
private void addMultiVertexGeometry_(MultiVertexGeometry mvg) { Point point = new Point(); Point2D pt_p = new Point2D(); for (int i = 0; i < mvg.getPointCount(); i++) { mvg.getXY(i, pt_p); int p = addPoint_(pt_p); if (p != -1) { mvg.getPointByVal(i, point); int tp = m_shape.addPoint(m_path_handle, point); m_tree_hull.setElement(p, tp); // reset the place holder to tp } } }
/** * Returns count of geometry vertices: 1 for Point, 4 for Envelope, * get_point_count for MultiVertexGeometry types, 2 for segment types Returns 0 * if geometry is empty. * @param geom The geometry to get the vertex count for. * @return The vertex count. */ public static int vertex_count(Geometry geom) { Geometry.Type gt = geom.getType(); if (Geometry.isMultiVertex(gt.value())) return ((MultiVertexGeometry) geom).getPointCount(); if (geom.isEmpty()) return 0; if (gt == Geometry.Type.Envelope) return 4; if (gt == Geometry.Type.Point) return 1; if (Geometry.isSegment(gt.value())) return 2; throw new GeometryException("missing type"); }