public static Encoder<SqlServerGeometry> encoderFor(Geometry<?> geom) { for ( Encoder<SqlServerGeometry> encoder : ENCODERS ) { if ( encoder.accepts( geom ) ) { return encoder; } } throw new IllegalArgumentException( "No encoder for type " + geom.getGeometryType() ); }
public static Encoder<SDOGeometry> encoderFor(Geometry<?> geom) { for (Encoder<SDOGeometry> encoder : ENCODERS) { if (encoder.accepts(geom)) { return encoder; } } throw new IllegalArgumentException("No encoder for type " + (geom == null ? "NULL" : geom.getGeometryType())); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.MULTILINESTRING.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.POLYGON.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.MULTIPOLYGON.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.POINT.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.LINESTRING.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.GEOMETRYCOLLECTION.equals(geom.getGeometryType()); }
@Override public <P extends Position> boolean accepts(Geometry<P> geom) { return GeometryType.MULTIPOINT.equals(geom.getGeometryType()); }
@Override public int hashCode() { int result = getGeometryType().hashCode(); result = 31 * result + this.getPositions().hashCode(); return result; }
protected boolean sameGeometryType(WktGeometryToken token, Geometry geometry) { //TODO Need better handling for difference WKT/Geometry types. See comment above . return token.getType() == geometry.getGeometryType() || (token.getType().equals(GeometryType.LINESTRING) && geometry.getGeometryType().equals(GeometryType.LINEARRING)); }
/** * @inheritDoc */ @Override public <P extends C2D, M extends C2D & Measured> Geometry<M> measureOnLength( final Geometry<P> geometry, final Class<M> positionTypeMarker, final boolean keepBeginMeasure) { if (geometry == null) throw new IllegalArgumentException("Geometry parameter must not be NULL"); if (positionTypeMarker == null) throw new IllegalArgumentException("PositionTypeMarker parameter must not be NULL"); if (geometry.getGeometryType() != GeometryType.LINESTRING && geometry.getGeometryType() != GeometryType.MULTILINESTRING) { throw new IllegalArgumentException("Geometry parameter must be of type LineString or MultiLineString"); } final CoordinateReferenceSystem<P> sourceCRS = geometry.getCoordinateReferenceSystem(); final CoordinateReferenceSystem<M> measuredVariant = !hasMeasureAxis(sourceCRS) ? (CoordinateReferenceSystem<M>) addLinearSystem(sourceCRS, Unit.METER) : (CoordinateReferenceSystem<M>)sourceCRS; if (!measuredVariant.getPositionClass().equals(positionTypeMarker)) { throw new IllegalArgumentException(String.format( "Inconsistent types: measured CRS has position type %s, but positionTypeMarker is %s.", measuredVariant.getPositionClass().getName(), positionTypeMarker.getName())); } return new OnLengthMeasureOp<M>(geometry, measuredVariant, keepBeginMeasure).execute(); }
private void visit(Geometry geometry, int parent) { switch (geometry.getGeometryType()) { case POINT: visit((Point)geometry, parent); break; case POLYGON: visit((Polygon)geometry, parent); break; case LINE_STRING: visit((LineString)geometry, parent); break; case MULTI_POINT: visit((MultiPoint)geometry, parent); break; case MULTI_LINE_STRING: visit((MultiLineString)geometry, parent); break; case MULTI_POLYGON: visit((MultiPolygon)geometry, parent); break; case GEOMETRY_COLLECTION: visit((GeometryCollection)geometry, parent); break; default: throw new IllegalArgumentException(geometry.toString()); } }
private void visit(Geometry geometry, int parent) { switch (geometry.getGeometryType()) { case POINT: visit((Point) geometry, parent); break; case POLYGON: visit((Polygon) geometry, parent); break; case LINE_STRING: visit((LineString) geometry, parent); break; case MULTI_POINT: visit((MultiPoint) geometry, parent); break; case MULTI_LINE_STRING: visit((MultiLineString) geometry, parent); break; case MULTI_POLYGON: visit((MultiPolygon) geometry, parent); break; case GEOMETRY_COLLECTION: visit((GeometryCollection) geometry, parent); break; default: throw new IllegalArgumentException(geometry.toString()); } }
/** * {@inheritDoc} */ @Override public <P extends Position> boolean equals(Geometry<P> first, Geometry<P> second) { if (first == second) return true; if (first == null || second == null) return false; if (first.isEmpty() && second.isEmpty()) return true; if (first.isEmpty() || second.isEmpty()) return false; if (! first.getCoordinateReferenceSystem().equals(second.getCoordinateReferenceSystem())) return false; if (first.getGeometryType() != second.getGeometryType()) return false; if (first instanceof GeometryCollection) { assert(second instanceof GeometryCollection); return equals((GeometryCollection<?,?>)first, (GeometryCollection<?,?>)second); } if (first instanceof Polygon) { assert(second instanceof Polygon); return equals((Polygon<P>)first, (Polygon<P>)second); } return pointSeqEq.equals(first.getPositions(), second.getPositions()); }
public static JGeometry convert(Geometry geometry) { switch (geometry.getGeometryType()) { case POINT: return convert((Point)geometry); // case CURVE: // case SURFACE: case GEOMETRY_COLLECTION: return convert((GeometryCollection)geometry); case LINE_STRING: return convert((LineString)geometry); case LINEAR_RING: return convert((LinearRing)geometry); case POLYGON: return convert((Polygon)geometry); case POLYHEDRAL_SURFACE: return convert((PolyHedralSurface)geometry); // case MULTI_SURFACE: case MULTI_POINT: return convert((MultiPoint)geometry); // case TIN case MULTI_POLYGON: return convert((MultiPolygon)geometry); case MULTI_LINE_STRING: return convert((MultiLineString)geometry); default: throw new IllegalArgumentException(geometry.toString()); } }
public static JGeometry convert(Geometry geometry) { switch (geometry.getGeometryType()) { case POINT: return convert((Point) geometry); // case CURVE: // case SURFACE: case GEOMETRY_COLLECTION: return convert((GeometryCollection) geometry); case LINE_STRING: return convert((LineString) geometry); case LINEAR_RING: return convert((LinearRing) geometry); case POLYGON: return convert((Polygon) geometry); case POLYHEDRAL_SURFACE: return convert((PolyHedralSurface) geometry); // case MULTI_SURFACE: case MULTI_POINT: return convert((MultiPoint) geometry); // case TIN case MULTI_POLYGON: return convert((MultiPolygon) geometry); case MULTI_LINE_STRING: return convert((MultiLineString) geometry); default: throw new IllegalArgumentException(geometry.toString()); } }
return; GeometryType type = geometry.getGeometryType(); switch (type) { case POINT:
@Test // FIXME, maybe use enum as the type ?!? @ExcludeIn(H2) public void geometryType() { List<Tuple> results = query().from(shapes).select(shapes.geometry, shapes.geometry.geometryType()).fetch(); assertFalse(results.isEmpty()); for (Tuple row : results) { assertEquals( normalize(row.get(shapes.geometry).getGeometryType().name()), normalize(row.get(shapes.geometry.geometryType()))); } }