@Override public OGCGeometry geometryN(int n) { int exterior = 0; for (int i = 0; i < polygon.getPathCount(); i++) { if (polygon.isExteriorRing(i)) exterior++; if (exterior == n + 1) { return new OGCPolygon(polygon, i, esriSR); } } throw new IllegalArgumentException("geometryN: n out of range"); }
@Override public OGCGeometry geometryN(int n) { int exterior = 0; for (int i = 0; i < polygon.getPathCount(); i++) { if (polygon.isExteriorRing(i)) exterior++; if (exterior == n + 1) { return new OGCPolygon(polygon, i, esriSR); } } throw new IllegalArgumentException("geometryN: n out of range"); }
public OGCPolygon(Polygon src, int exteriorRing, SpatialReference sr) { polygon = new Polygon(); for (int i = exteriorRing, n = src.getPathCount(); i < n; i++) { if (i > exteriorRing && src.isExteriorRing(i)) break; polygon.addPath(src, i, true); } esriSR = sr; }
public OGCPolygon(Polygon src, int exteriorRing, SpatialReference sr) { polygon = new Polygon(); for (int i = exteriorRing, n = src.getPathCount(); i < n; i++) { if (i > exteriorRing && src.isExteriorRing(i)) break; polygon.addPath(src, i, true); } esriSR = sr; }