@Override public Geometry process( Geometry inputGeometry, Map<String, Object> params ) { return inputGeometry.getCentroid(); }
@Override public TypedObjectNode[] evaluate( List<TypedObjectNode[]> args ) throws FilterEvaluationException { TypedObjectNode[] inputs = args.get( 0 ); List<TypedObjectNode> outputs = new ArrayList<TypedObjectNode>( inputs.length ); for ( TypedObjectNode input : inputs ) { Geometry geom = getGeometryValue( input ); if ( geom != null ) { outputs.add( geom.getCentroid() ); } } return outputs.toArray( new TypedObjectNode[outputs.size()] ); } };
@Override public Point getCentroid() { return getReferencedObject().getCentroid(); }
@Override public void process( ProcessletInputs in, ProcessletOutputs out, ProcessletExecutionInfo info ) throws ProcessletException { ComplexInput gmlInput = (ComplexInput) in.getParameter( "GMLInput" ); Geometry geometry = readGeometry( gmlInput ); Point centroid = geometry.getCentroid(); ComplexOutput centroidOutput = (ComplexOutput) out.getParameter( "Centroid" ); writeGeometry( centroidOutput, centroid ); }
private void handleGeometryTypes( TextStyling styling, String text, Font font, Geometry geom ) { if ( geom == null ) { LOG.warn( "null geometry cannot be handled." ); return; } if ( geom instanceof Point ) { labelList.add( createLabel( styling, font, text, (Point) geom ) ); } else if ( geom instanceof Surface && styling.linePlacement != null ) { textRenderer.render( styling, font, text, (Surface) geom ); } else if ( geom instanceof Curve && styling.linePlacement != null ) { textRenderer.render( styling, font, text, (Curve) geom ); } else if ( geom instanceof Polygon && styling.auto ) { handlePolygonWithAutoPlacement( styling, font, text, (Polygon) geom ); } else if ( geom instanceof GeometricPrimitive ) { labelList.add( createLabel( styling, font, text, geom.getCentroid() ) ); } else if ( geom instanceof MultiPoint ) { handleMultiGeometry( styling, text, font, (MultiPoint) geom ); } else if ( geom instanceof MultiCurve<?> && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiCurve<?>) geom ); } else if ( geom instanceof MultiLineString && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiLineString) geom ); } else if ( geom instanceof MultiGeometry<?> ) { handleMultiGeometry( styling, text, font, (MultiGeometry<?>) geom ); } else { LOG.warn( "Trying to use unsupported geometry type '{}' for text rendering.", geom.getClass().getSimpleName() ); } }
private void handleGeometryTypes( TextStyling styling, String text, Font font, Geometry geom ) { if ( geom instanceof Point ) { render( styling, font, text, (Point) geom ); } else if ( geom instanceof Surface && styling.linePlacement != null ) { render( styling, font, text, (Surface) geom ); } else if ( geom instanceof Curve && styling.linePlacement != null ) { render( styling, font, text, (Curve) geom ); } else if ( geom instanceof GeometricPrimitive ) { render( styling, font, text, geom.getCentroid() ); } else if ( geom instanceof MultiPoint ) { handleMultiGeometry( styling, text, font, (MultiPoint) geom ); } else if ( geom instanceof MultiCurve<?> && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiCurve<?>) geom ); } else if ( geom instanceof MultiLineString && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiLineString) geom ); } else if ( geom instanceof MultiGeometry<?> ) { for ( Geometry g : (MultiGeometry<?>) geom ) { render( styling, text, g ); } } else { LOG.warn( "Trying to use unsupported geometry type '{}' for text rendering.", geom.getClass().getSimpleName() ); } }