[Geoserver-users] WPS problem 2.5.2

Hey all. I'm using a process which takes a line geometry, buffers it and
creates a new feature. Then i intersect this new layer with a point layer
using the gs:IntersectionFeatureCollection. Two problems appear:

1. When the geometries actually intersect (buffer is big enough) all is well
but an exception gets thrown:

TRACE [geotools.util] - Error applying the converter class
org.geotools.util.GeometryConverterFactory$1 on (Tasmania,class
com.vividsolutions.jts.geom.MultiPoint)
com.vividsolutions.jts.io.ParseException: Unknown geometry type: Tasmania
(line 1)
  at
com.vividsolutions.jts.io.WKTReader.parseErrorWithLine(WKTReader.java:427)
  at
com.vividsolutions.jts.io.WKTReader.readGeometryTaggedText(WKTReader.java:495)

2. When the geometries do not intersect, i get the same exception but also
an intersection feature (resulting gml) with empty geometry (the should be
no intersection feature?):

<gml:the_geom>
                
<gml:MultiPoint srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;
                    
<gml:pointMember/>
                
</gml:MultiPoint>
            
</gml:the_geom>

The WPS i'm executing is:

<?xml version="1.0" encoding="UTF-8"?>
<wps:Execute xmlns:wps="http://www.opengis.net/wps/1.0.0&quot; version="1.0.0"
service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xmlns="http://www.opengis.net/wps/1.0.0&quot;
xmlns:wfs="http://www.opengis.net/wfs&quot;
xmlns:ows="http://www.opengis.net/ows/1.1&quot;
xmlns:gml="http://www.opengis.net/gml&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;
xmlns:wcs="http://www.opengis.net/wcs/1.1.1&quot;
xmlns:xlink="http://www.w3.org/1999/xlink&quot;
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd&quot;&gt;
    
<ows:Identifier>
gs:IntersectionFeatureCollection
</ows:Identifier>
    
<wps:DataInputs>
        
<wps:Input>
            
<ows:Identifier>
first feature collection
</ows:Identifier>
            
<wps:Reference mimeType="text/xml; subtype=gml/3.1.1"
xlink:href="http://geoserver/wps&quot; method="POST">
                
<wps:Body>
                    
<wps:Execute version="1.0.0" service="WPS">
                        
<ows:Identifier>
gs:Feature
</ows:Identifier>
                        
<wps:DataInputs>
                            
<wps:Input>
                                
<ows:Identifier>
crs
</ows:Identifier>
                                
<wps:Data>
                                    
<wps:LiteralData>
EPSG:4326
</wps:LiteralData>
                                
</wps:Data>
                            
</wps:Input>
                            
<wps:Input>
                                
<ows:Identifier>
typeName
</ows:Identifier>
                                
<wps:Data>
                                    
<wps:LiteralData>
tasmania_roads_buffer_01
</wps:LiteralData>
                                
</wps:Data>
                            
</wps:Input>
                            
<wps:Input>
                                
<ows:Identifier>
geometry
</ows:Identifier>
                                
<wps:Reference mimeType="text/xml; subtype=gml/3.1.1"
xlink:href="http://geoserver/wps&quot; method="POST">
                                    
<wps:Body>
                                        
<wps:Execute version="1.0.0" service="WPS">
                                            
<ows:Identifier>
JTS:buffer
</ows:Identifier>
                                            
<wps:DataInputs>
                                                
<wps:Input>
                                                    
<ows:Identifier>
distance
</ows:Identifier>
                                                    
<wps:Data>
                                                        
<wps:LiteralData>
0.01
</wps:LiteralData>
                                                    
</wps:Data>
                                                
</wps:Input>
                                                
<wps:Input>
                                                    
<ows:Identifier>
geom
</ows:Identifier>
                                                    
<wps:Reference mimeType="text/xml; subtype=gml/3.1.1"
xlink:href="http://geoserver/wps&quot; method="POST">
                                                        
<wps:Body>
                                                            
<wps:Execute version="1.0.0" service="WPS">
                                                                
<ows:Identifier>
gs:CollectGeometries
</ows:Identifier>
                                                                
<wps:DataInputs>
                                                                    
<wps:Input>
                                                                        
<ows:Identifier>
features
</ows:Identifier>
                                                                        
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs&quot;
method="POST">
                                                                            
<wps:Body>
                                                                                
<wfs:GetFeature xmlns:gurs="http://www.gurs.com" service="WFS"
version="1.0.0" outputFormat="GML2">
                                                                                    
<wfs:Query typeName="topp:tasmania_roads"/>
                                                                                
</wfs:GetFeature>
                                                                            
</wps:Body>
                                                                        
</wps:Reference>
                                                                    
</wps:Input>
                                                                
</wps:DataInputs>
                                                                
<wps:ResponseForm>
                                                                    
<wps:RawDataOutput mimeType="text/xml; subtype=gml/2.1.2">
                                                                        
<ows:Identifier>
result
</ows:Identifier>
                                                                    
</wps:RawDataOutput>
                                                                
</wps:ResponseForm>
                                                            
</wps:Execute>
                                                        
</wps:Body>
                                                    
</wps:Reference>
                                                
</wps:Input>
                                            
</wps:DataInputs>
                                            
<wps:ResponseForm>
                                                
<wps:RawDataOutput mimeType="text/xml; subtype=gml/2.1.2">
                                                    
<ows:Identifier>
result
</ows:Identifier>
                                                
</wps:RawDataOutput>
                                            
</wps:ResponseForm>
                                        
</wps:Execute>
                                    
</wps:Body>
                                
</wps:Reference>
                            
</wps:Input>
                        
</wps:DataInputs>
                        
<wps:ResponseForm>
                            
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">
                                
<ows:Identifier>
result
</ows:Identifier>
                            
</wps:RawDataOutput>
                        
</wps:ResponseForm>
                    
</wps:Execute>
                
</wps:Body>
            
</wps:Reference>
        
</wps:Input>
        
<wps:Input>
            
<ows:Identifier>
second feature collection
</ows:Identifier>
            
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs&quot;
method="POST">
                
<wps:Body>
                    
<wfs:GetFeature xmlns:gurs="http://www.gurs.com" service="WFS"
version="1.0.0" outputFormat="GML2">
                        
<wfs:Query typeName="topp:tasmania_cities"/>
                    
</wfs:GetFeature>
                
</wps:Body>
            
</wps:Reference>
        
</wps:Input>
        
<wps:Input>
            
<ows:Identifier>
intersectionMode
</ows:Identifier>
            
<wps:Data>
                
<wps:LiteralData>
INTERSECTION
</wps:LiteralData>
            
</wps:Data>
        
</wps:Input>
    
</wps:DataInputs>
    
<wps:ResponseForm>
        
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">
            
<ows:Identifier>
result
</ows:Identifier>
        
</wps:RawDataOutput>
    
</wps:ResponseForm>
</wps:Execute>

Geoserver is 2.5.2. So is this a feature or a bug?

One potential problem i see is that in IntersectionFeatureCollection.java
there is only a simple check:

if (((Geometry) attribute).getNumGeometries() > 0) {

but no check like:

((Geometry) attribute).isEmpty()

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/WPS-problem-2-5-2-tp5167597.html
Sent from the GeoServer - User mailing list archive at Nabble.com.