Wen,

app-schema does not support user defined geometry types such as 
aixm:SurfaceType. GeoServer implements (approximately) the OGC simple 
feature profile, with app-schema providing multiple cardinality of 
properties and user-defined non-spatial features (i.e. complex features):
https://portal.opengeospatial.org/files/?artifact_id=42729

I think you should be able to encode a MULTIPOLYGON as a GML 3.2 
gml:MultiSurface. If the substitution groups are incorrect to use this 
in the schema, you will need to use targetAttributeNode to coerce the 
type of the property. The supported geometry types in app-schema are the 
same as for core GeoServer. I have not used geometry aggregates and 
others here will have more experience with these geometry types.

Kind regards,
Ben.

On 23/10/15 01:53, Yin, Wentao (IS) (Contr) wrote:
> Ben,
>
> I'm trying to map polygon/multipolygon to aixm:Surface:
>
>       <element name="Surface" type="aixm:SurfaceType" 
> substitutionGroup="gml:Surface"/>
>       <complexType name="SurfaceType">
>               <complexContent>
>                       <extension base="gml:SurfaceType">
>                               <sequence>
>                                       <group ref="aixm:SurfacePropertyGroup"/>
>                               </sequence>
>                       </extension>
>               </complexContent>
>       </complexType>
>
> Which is defined in 
> <schemaUri>http://www.aixm.aero/gallery/content/public/schema/5.1/AIXM_Features.xsd</schemaUri>
>
>
> Mapping file:
> ...
> </targetAttributeNode>                        
> <targetAttribute>                                             
> <!--aixm:timeSlice/aixm:AirspaceTimeSlice/aixm:geometryComponent/aixm:AirspaceGeometryComponent/aixm:theAirspaceVolume/aixm:AirspaceVolume/aixm:horizontalProjection/aixm:Surface/gml:patches/gml:PolygonPatch/gml:exterior/gml:Ring/gml:curveMember-->
> aixm:timeSlice/aixm:AirspaceTimeSlice/aixm:geometryComponent/aixm:AirspaceGeometryComponent/aixm:theAirspaceVolume/aixm:AirspaceVolume/aixm:horizontalProjection/aixm:Surface
>                                                                               
>   </targetAttribute>
> <sourceExpression>
>               <OCQL>ROUTE_GEOMETRY</OCQL></sourceExpression>  
> </AttributeMapping>   
>
> ...
>
> Wfs Output:
> <aixm:Airspace gml:id="uuid.1"><aixm:timeSlice/></aixm:Airspace>     nothing 
> returned for timeSlice and no error.
>
> Log:
>
> 22 Oct 08:50:48 DEBUG [org.geotools.xml] - building schema for schema: 
> http://www.aixm.aero/schema/5.1
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - CRSConverterFactory can be 
> applied from Strings to CRS  only.
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - InterpolationConverterFactory can 
> be applied from Strings to Interpolation only.
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - CRSConverterFactory can be 
> applied from Strings to CRS  only.
> 22 Oct 08:50:48 DEBUG [org.geotools.jdbc] - CREATE CONNECTION
> 22 Oct 08:50:48 DEBUG [org.geotools.jdbc.JoiningJDBCFeatureSource] - SELECT 
> LRS_ROUTES.ROUTE_ID,LRS_ROUTES.ROUTE_NAME,LRS_ROUTES.ROUTE_GEOMETRY as 
> ROUTE_GEOMETRY FROM LRS_ROUTES INNER JOIN
> (SELECT * FROM (SELECT DISTINCT LRS_ROUTES.ROUTE_ID FROM LRS_ROUTES ORDER BY 
> LRS_ROUTES.ROUTE_ID ASC) WHERE ROWNUM <= 1) LRS_ROUTES_1 ON 
> (LRS_ROUTES.ROUTE_ID = LRS_ROUTES_1.ROUTE_ID )  ORDE
> R BY LRS_ROUTES.ROUTE_ID ASC
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - CRSConverterFactory can be 
> applied from Strings to CRS  only.
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - InterpolationConverterFactory can 
> be applied from Strings to Interpolation only.
> 22 Oct 08:50:48 TRACE [org.geotools.data.complex.filter] - ENTRY 
> FeatureImpl:Airspace<AirspaceType id=uuid.1>=[] 
> aixm:timeSlice/aixm:AirspaceTimeSlice/aixm:geometryComponent/aixm:AirspaceGe
> ometryComponent/aixm:theAirspaceVolume/aixm:AirspaceVolume/aixm:horizontalProjection/aixm:Surface
>  MULTIPOLYGON (((50 105, 55 105, 60 110, 50 110, 50 105)), ((62 108, 65 108, 
> 65 112, 62 112,
>   62 108))) null null
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - CRSConverterFactory can be 
> applied from Strings to CRS  only.
> 22 Oct 08:50:48 DEBUG [org.geotools.util] - InterpolationConverterFactory can 
> be applied from Strings to Interpolation only.
> 22 Oct 08:50:48 DEBUG [org.geotools.xml] - AbstractFeature is abstract
> 22 Oct 08:50:48 TRACE [org.geotools.data.complex] - no more features, 
> produced 1
> 22 Oct 08:50:48 DEBUG [org.geotools.jdbc] - CLOSE CONNECTION
> 22 Oct 08:50:48 INFO [org.geoserver.filters] - 127.0.0.1 "GET 
> /geoserver/wfs?request=GetFeature&version=2.0.0&typeName=aixm:Airspace&count=1"
>  took 63ms
>
>
> Thanks for help,
> Wen
>
>
> -----Original Message-----
> From: Ben Caradoc-Davies [mailto:[email protected]]
> Sent: Thursday, October 22, 2015 6:07 AM
> To: Yin, Wentao (IS) (Contr); [email protected]
> Subject: EXT :Re: [Geoserver-users] How to map Multipolygon using 
> geoserver/app-schema?
>
> Wen,
>
> MULTIPOLYGON geometry columns should be supported by GeoTools and thus 
> GeoServer and app-schema. What happens when you map an Oracle MULTIPOLYGON 
> geometry column in app-schema? I expect that in WFS responses these are 
> encoded as GML MultiPolygon.
>
> Kind regards,
> Ben.
>
> On 22/10/15 04:40, Yin, Wentao (IS) (Contr) wrote:
>> Is Multipolygon supported in geoserver/app-schema? How to map it from Oracle?
>>
>> Thanks,
>> Wen
>>
>>
>>
>>
>> ----------------------------------------------------------------------
>> --------
>>
>>
>>
>> _______________________________________________
>> Geoserver-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>
> --
> Ben Caradoc-Davies <[email protected]>
> Director
> Transient Software Limited <http://transient.nz/> New Zealand
>

-- 
Ben Caradoc-Davies <[email protected]>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to