Is Multipolygon supported in geoserver/app-schema? How to map it from Oracle?
Thanks,
Wen
Is Multipolygon supported in geoserver/app-schema? How to map it from Oracle?
Thanks,
Wen
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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand
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:ben@…6881…]
Sent: Thursday, October 22, 2015 6:07 AM
To: Yin, Wentao (IS) (Contr); geoserver-users@lists.sourceforge.net
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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Ben Caradoc-Davies <ben@...6881...>
Director
Transient Software Limited <http://transient.nz/> New Zealand
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 63msThanks for help,
Wen-----Original Message-----
From: Ben Caradoc-Davies [mailto:ben@anonymised.com]
Sent: Thursday, October 22, 2015 6:07 AM
To: Yin, Wentao (IS) (Contr); geoserver-users@lists.sourceforge.net
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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/> New Zealand
--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand
Thank you, Ben
Wen
-----Original Message-----
From: Ben Caradoc-Davies [mailto:ben@…6881…]
Sent: Thursday, October 22, 2015 2:57 PM
To: Yin, Wentao (IS) (Contr); geoserver-users@lists.sourceforge.net
Subject: Re: EXT :Re: [Geoserver-users] How to map Multipolygon using geoserver/app-schema?
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/a
ixm:horizontalProjection/aixm:Surface/gml:patches/gml:PolygonPatch/gml
:exterior/gml:Ring/gml:curveMember-->
aixm:timeSlice/aixm:AirspaceTimeSlice/aixm:geometryComponent/aixm:Airs
paceGeometryComponent/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:Airs
paceGe
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 63msThanks for help,
Wen-----Original Message-----
From: Ben Caradoc-Davies [mailto:ben@…6881…]
Sent: Thursday, October 22, 2015 6:07 AM
To: Yin, Wentao (IS) (Contr); geoserver-users@lists.sourceforge.net
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
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users--
Ben Caradoc-Davies <ben@...6881...>
Director
Transient Software Limited <http://transient.nz/> New Zealand
--
Ben Caradoc-Davies <ben@...6881...>
Director
Transient Software Limited <http://transient.nz/> New Zealand