Hi Wen,
the error seems strange, do you have a full stack trace?
Are you using the same mapping you posted a few mails ago? Are you able to
query nested non-geometry properties?
Two more questions:
1) do I understand correctly that there is a 1:1 relationship between the
GPS table and the G table? If that is the case, why not merge them into a
single table, or at least create a view? That would save you from
configuring feature chaining in app-schema...
2) you are mapping a column containing point geometries (LONGLAT) to a
gml:LinearRing geometry... that doesn't seem right?
Regarding the issue with custom defined geometry types, derived from GML
types (i.e. aixm:SurfaceType extending gml:SurfaceType), as suggested in
the thread I already cited (
http://osgeo-org.1560.x6.nabble.com/App-schema-How-to-map-Oracle-Geometry-into-GML-td4984781.html),
you may need to provide your own custom bindings... something I've never
tried myself.
On Wed, Sep 16, 2015 at 11:01 PM, Yin, Wentao (IS) (Contr) <
wentao....@ngc.com> wrote:
> Thanks! Stefano,
>
>
>
> For AIXM, I always got an error like SimpleFeatureTypeImpl AIRSPACE
> identified extends Feature(UUID:UUID,CODESPACE:CODESPACE,REC_ID:REC_ID)
>
> When using BBOX on nested feature even if the top feature Airspace is a
> FEATURE.
>
>
>
> Wen
>
>
>
>
>
> *From:* Stefano Costa [mailto:stefano.co...@geo-solutions.it]
> *Sent:* Wednesday, September 16, 2015 4:53 PM
>
> *To:* Yin, Wentao (IS) (Contr)
> *Cc:* geoserver-users
> *Subject:* Re: EXT :Re: [Geoserver-users] BBOX filter on chained features
>
>
>
> Glad to hear that :-)
>
>
>
> However, I suspect there's a bug somewhere, chaining on gml:name should
> have worked just as well: I'll investigate and open a JIRA issue if
> necessary.
>
>
>
> On Wed, Sep 16, 2015 at 9:01 PM, Yin, Wentao (IS) (Contr) <
> wentao....@ngc.com> wrote:
>
> Stefano,
>
>
>
> Thanks so much! This one works!
>
>
>
> Wen
>
>
>
>
>
> *From:* Stefano Costa [mailto:stefano.co...@geo-solutions.it]
> *Sent:* Wednesday, September 16, 2015 2:14 PM
>
>
> *To:* Yin, Wentao (IS) (Contr)
> *Cc:* geoserver-users
> *Subject:* Re: EXT :Re: [Geoserver-users] BBOX filter on chained features
>
>
>
> Hi Wen,
>
> did you try with the mapping configuration I attached to a previous e-mail?
>
>
>
> In case you didn't get the mail because of the attachment, I'll copy-paste
> the relevant sections in the body of this mail.
>
>
>
> gsml_GeologicUnit.xml:
>
>
>
> <FeatureTypeMapping>
>
> <sourceDataStore>datastore</sourceDataStore>
>
> <sourceType>gsml_GeologicUnit</sourceType>
>
> <targetElement>gsml:GeologicUnit</targetElement>
>
> <attributeMappings>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gsml:GeologicUnit
>
> </targetAttribute>
>
> <idExpression>
>
> <OCQL>ID</OCQL>
>
> </idExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:description
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>DESCRIPTION</OCQL>
>
> </sourceExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:name[1]
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>NAME</OCQL>
>
> </sourceExpression>
>
> <ClientProperty>
>
> <name>codeSpace</name>
>
>
> <value>'urn:x-test:classifierScheme:TestAuthority:GeologicUnitName'</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:name[2]
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>CODE</OCQL>
>
> </sourceExpression>
>
> <ClientProperty>
>
> <name>codeSpace</name>
>
>
> <value>'urn:x-test:classifierScheme:TestAuthority:GeologicUnitCode'</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:name[3]
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>URN</OCQL>
>
> </sourceExpression>
>
> <ClientProperty>
>
> <name>codeSpace</name>
>
>
> <value>'urn:x-test:classifierScheme:TestAuthority:GeologicUnitId'</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gsml:occurrence
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>URN</OCQL>
>
> <linkElement>gsml:MappedFeature</linkElement>
>
> <linkField>FEATURE_LINK</linkField>
>
> </sourceExpression>
>
> <isMultiple>true</isMultiple>
>
> </AttributeMapping>
>
> </attributeMappings>
>
> </FeatureTypeMapping>
>
>
>
> gsml_MappedFeature.xml:
>
>
>
> <FeatureTypeMapping>
>
> <sourceDataStore>datastore</sourceDataStore>
>
> <sourceType>gsml_MappedFeature</sourceType>
>
> <targetElement>gsml:MappedFeature</targetElement>
>
> <attributeMappings>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gsml:MappedFeature
>
> </targetAttribute>
>
> <idExpression>
>
> <OCQL>ID</OCQL>
>
> </idExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:name[1]
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>NAME</OCQL>
>
> </sourceExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gml:name[2]
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>GU_URN</OCQL>
>
> </sourceExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> FEATURE_LINK
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>GU_URN</OCQL>
>
> </sourceExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gsml:specification
>
> </targetAttribute>
>
> <ClientProperty>
>
> <name>xlink:href</name>
>
> <value>GU_URN</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
> <targetAttribute>
>
> gsml:shape
>
> </targetAttribute>
>
> <sourceExpression>
>
> <OCQL>SHAPE</OCQL>
>
> </sourceExpression>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
>
> <targetAttribute>gsml:observationMethod/gsml:CGI_TermValue/gsml:value</targetAttribute>
>
> <sourceExpression>
>
> <OCQL>'urn:ogc:def:nil:OGC:missing'</OCQL>
>
> </sourceExpression>
>
> <ClientProperty>
>
> <name>codeSpace</name>
>
> <value>'urn:ietf:rfc:2141'</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
>
> <targetAttribute>gsml:positionalAccuracy</targetAttribute>
>
>
> <targetAttributeNode>gsml:CGI_TermValuePropertyType</targetAttributeNode>
>
> </AttributeMapping>
>
> <AttributeMapping>
>
>
> <targetAttribute>gsml:positionalAccuracy/gsml:CGI_TermValue/gsml:value</targetAttribute>
>
> <sourceExpression>
>
> <OCQL>'urn:ogc:def:nil:OGC:missing'</OCQL>
>
> </sourceExpression>
>
> <ClientProperty>
>
> <name>codeSpace</name>
>
> <value>'urn:ietf:rfc:2141'</value>
>
> </ClientProperty>
>
> </AttributeMapping>
>
> </attributeMappings>
>
> </FeatureTypeMapping>
>
>
>
> What did the trick for me was to chain the two features using the special
> FEATURE_LINK attribute instead of gml:name (see highlighted sections).
>
>
>
> I just tested the two requests below and they work for me:
>
>
>
> WFS 2.0 with GML 3.1 output:
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <GetFeature service="WFS" version="2.0.0"
>
> outputFormat="gml3"
>
> xmlns="http://www.opengis.net/wfs/2.0"
>
> xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0"
>
> xmlns:gml="http://www.opengis.net/gml/3.2"
>
> xmlns:fes="http://www.opengis.net/fes/2.0">
>
> <Query typeNames="gsml:GeologicUnit" >
>
> <fes:Filter>
>
> <fes:BBOX>
>
>
> <fes:ValueReference>gsml:occurrence/gsml:MappedFeature/gsml:shape</fes:ValueReference>
>
> <gml:Envelope>
>
> <gml:lowerCorner>143.49 -39</gml:lowerCorner>-->
>
> <gml:upperCorner>143.50 -38</gml:upperCorner>-->
>
> </gml:Envelope>
>
> </fes:BBOX>
>
> </fes:Filter>
>
> </Query>
>
> </GetFeature>
>
>
>
> WFS 1.1:
>
>
>
> <?xml version="1.0" encoding="utf-8"?>
>
> <wfs:GetFeature service="WFS" version="1.1.0"
>
> xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0"
>
> xmlns:wfs="http://www.opengis.net/wfs"
>
> xmlns:ogc="http://www.opengis.net/ogc"
>
> xmlns:gml="http://www.opengis.net/gml">
>
> <wfs:Query typeName="gsml:GeologicUnit">
>
> <ogc:Filter>
>
> <ogc:Intersects>
>
>
> <ogc:PropertyName>gsml:occurrence/gsml:MappedFeature/gsml:shape</ogc:PropertyName>
>
> <gml:Envelope>
>
> <gml:lowerCorner>143.49 -39</gml:lowerCorner>
>
> <gml:upperCorner>143.50 -38</gml:upperCorner>
>
> </gml:Envelope>
>
> </ogc:Intersects>
>
> </ogc:Filter>
>
> </wfs:Query>
>
> </wfs:GetFeature>
>
>
>
> Hope this helps.
>
>
>
> On Wed, Sep 16, 2015 at 7:38 PM, Yin, Wentao (IS) (Contr) <
> wentao....@ngc.com> wrote:
>
> Stefano,
>
>
>
> I tried geometry filters on nested features on both WFS1.1 and WFS2.0, no
> record returned. But it does return records if the filter is applied to
> MappedFeature directly.
>
>
>
> Is there any working sample available?
>
>
>
> Thanks,
>
> Wen
>
>
>
> ---------------------------------
>
> WFS 2.0
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <wfs:GetFeature service="WFS" version="2.0.0"
> xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0"
>
> xmlns:gml="http://www.opengis.net/gml/3.2"
>
> xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="
> http://www.opengis.net/fes/2.0"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xsi:schemaLocation="http://www.opengis.net/gml/3.2
> http://schemas.opengis.net/gml/3.2.1/gml.xsd
> http://www.opengis.net/wfs/2.0
>
>
>
> http://schemas.opengis.net/wfs/2.0/wfs.xsd">
>
>
>
> <wfs:Query typeNames="gsml:GeologicUnit">
>
> <fes:Filter>
>
>
>
> <fes:BBOX>
>
> <fes:ValueReference>
>
>
> gsml:occurrence/gsml:MappedFeature/gsml:shape</fes:ValueReference>
>
>
>
> <gml:Envelope>
>
> <gml:lowerCorner>-100
> -100</gml:lowerCorner>
>
> <gml:upperCorner>3000
> 3000</gml:upperCorner>
>
> </gml:Envelope>
>
> </fes:BBOX>
>
>
>
> </fes:Filter>
>
> </wfs:Query>
>
> </wfs:GetFeature>
>
>
>
> -----------------------------
>
> WFS 1.1
>
>
>
> <wfs:GetFeature service="WFS" version="1.1.0"
>
> xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0"
>
> xmlns:wfs="http://www.opengis.net/wfs"
>
> xmlns:ogc="http://www.opengis.net/ogc"
>
> xmlns:gml="http://www.opengis.net/gml">
>
> <wfs:Query typeName="gsml:GeologicUnit">
>
> <ogc:Filter>
>
> <ogc:Intersects>
>
>
> <ogc:PropertyName>gsml:occurrence/gsml:MappedFeature/gsml:shape</ogc:PropertyName>
>
> <gml:Envelope>
>
> <gml:lowerCorner>143.49
> -39</gml:lowerCorner>
>
> <gml:upperCorner>143.50
> -38</gml:upperCorner>
>
> </gml:Envelope>
>
> </ogc:Intersects>
>
> </ogc:Filter>
>
> </wfs:Query>
>
> </wfs:GetFeature>
>
>
>
>
>
>
>
> *From:* Stefano Costa [mailto:stefano.co...@geo-solutions.it]
> *Sent:* Monday, September 14, 2015 3:39 PM
> *To:* Yin, Wentao (IS) (Contr)
> *Cc:* geoserver-users
> *Subject:* Re: EXT :Re: [Geoserver-users] BBOX filter on chained features
>
>
>
> Hi Wen,
>
> please stay on the ML.
>
>
>
> Your mapping looks a bit strange (at least to me):
>
>
>
> 1) You're mapping a geometry (aixm:Surface) as a feature
>
>
>
> 2) You're mapping the horizontalProjection property as a multi-valued
> property (<isMultiple>true</isMultiple>), but it's not
>
>
>
> 3) I was expecting a foreign key column in the GPS table, pointing to the
> G table: where is it? Is it true that g.id = gps.id, as your mapping
> suggests? So gps.id is both primary key of the gps table and foreing key
> referencing g.id?
>
>
>
> 4) What type are the geometries stored in gps.longlat? The name of the
> column suggests you have points in there, but you're mapping it to a
> gml:LinearRing
>
>
>
> 5) This thread
> <http://osgeo-org.1560.x6.nabble.com/App-schema-How-to-map-Oracle-Geometry-into-GML-td4984781.html>
> seems to confirm my doubts about types extending the base GML types (e.g.
> aixm:SurfaceType, which extends gml:SurfaceType): GeoServer uses statically
> defined Java bindings for all geometry types, so it is not comfortable with
> user-defined geometry types
>
>
>
>
>
> On Mon, Sep 14, 2015 at 2:46 PM, Yin, Wentao (IS) (Contr) <
> wentao....@ngc.com> wrote:
>
> Thanks, Stefano,
>
> I can do BBOX query on surface if I make it a feature, but always got the
> error when query on it as a nested feature.
>
> ….
>
>
>
>
>
>
>
>
>
>
>
> --
>
> Best regards,
>
> Stefano Costa
>
>
>
> ==
>
> GeoServer Professional Services from the experts! Visit
>
> http://goo.gl/it488V for more information.
>
> ==
>
> Dott. Stefano Costa
>
> Senior Software Engineer
>
>
>
> GeoSolutions S.A.S.
>
> Via Poggio alle Viti 1187
>
> 55054 Massarosa (LU)
>
> Italy
>
> phone: +39 0584 962313
>
> fax: +39 0584 1660272
>
>
>
> http://www.geo-solutions.it
>
> http://twitter.com/geosolutions_it
>
>
>
> -------------------------------------------------------
>
> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
>
> Le informazioni contenute in questo messaggio di posta elettronica e/o
>
> nel/i file/s allegato/i sono da considerarsi strettamente riservate.
>
> Il loro utilizzo è consentito esclusivamente al destinatario del
>
> messaggio, per le finalità indicate nel messaggio stesso. Qualora
>
> riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
>
> cortesemente di darcene notizia via e-mail e di procedere alla
>
> distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
>
> Conservare il messaggio stesso, divulgarlo anche in parte,
>
> distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
>
> diverse, costituisce comportamento contrario ai principi dettati dal
>
> D.Lgs. 196/2003.
>
>
>
> The information in this message and/or attachments, is intended solely
>
> for the attention and use of the named addressee(s) and may be
>
> confidential or proprietary in nature or covered by the provisions of
>
> privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
>
> Data Protection Code).Any use not in accord with its purpose, any
>
> disclosure, reproduction, copying, distribution, or either
>
> dissemination, either whole or partial, is strictly forbidden except
>
> previous formal approval of the named addressee(s). If you are not the
>
> intended recipient, please contact immediately the sender by
>
> telephone, fax or e-mail and delete the information in this message
>
> that has been received in error. The sender does not give any warranty
>
> or accept liability as the content, accuracy or completeness of sent
>
> messages and accepts no responsibility for changes made after they
>
> were sent or for other risks which arise as a result of e-mail
>
> transmission, viruses, etc.
>
>
>
>
>
>
>
> --
>
> Best regards,
>
> Stefano Costa
>
>
>
> ==
>
> GeoServer Professional Services from the experts! Visit
>
> http://goo.gl/it488V for more information.
>
> ==
>
> Dott. Stefano Costa
>
> Senior Software Engineer
>
>
>
> GeoSolutions S.A.S.
>
> Via Poggio alle Viti 1187
>
> 55054 Massarosa (LU)
>
> Italy
>
> phone: +39 0584 962313
>
> fax: +39 0584 1660272
>
>
>
> http://www.geo-solutions.it
>
> http://twitter.com/geosolutions_it
>
>
>
> -------------------------------------------------------
>
> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
>
> Le informazioni contenute in questo messaggio di posta elettronica e/o
>
> nel/i file/s allegato/i sono da considerarsi strettamente riservate.
>
> Il loro utilizzo è consentito esclusivamente al destinatario del
>
> messaggio, per le finalità indicate nel messaggio stesso. Qualora
>
> riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
>
> cortesemente di darcene notizia via e-mail e di procedere alla
>
> distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
>
> Conservare il messaggio stesso, divulgarlo anche in parte,
>
> distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
>
> diverse, costituisce comportamento contrario ai principi dettati dal
>
> D.Lgs. 196/2003.
>
>
>
> The information in this message and/or attachments, is intended solely
>
> for the attention and use of the named addressee(s) and may be
>
> confidential or proprietary in nature or covered by the provisions of
>
> privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
>
> Data Protection Code).Any use not in accord with its purpose, any
>
> disclosure, reproduction, copying, distribution, or either
>
> dissemination, either whole or partial, is strictly forbidden except
>
> previous formal approval of the named addressee(s). If you are not the
>
> intended recipient, please contact immediately the sender by
>
> telephone, fax or e-mail and delete the information in this message
>
> that has been received in error. The sender does not give any warranty
>
> or accept liability as the content, accuracy or completeness of sent
>
> messages and accepts no responsibility for changes made after they
>
> were sent or for other risks which arise as a result of e-mail
>
> transmission, viruses, etc.
>
>
>
>
--
Best regards,
Stefano Costa
==
GeoServer Professional Services from the experts!
Visithttp://goo.gl/it488V for more information.
==
Dott. Stefano Costa
Senior Software Engineer
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
http://www.geo-solutions.ithttp://twitter.com/geosolutions_it
-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate.
Il loro utilizzo è consentito esclusivamente al destinatario del
messaggio, per le finalità indicate nel messaggio stesso. Qualora
riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
cortesemente di darcene notizia via e-mail e di procedere alla
distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
diverse, costituisce comportamento contrario ai principi dettati dal
D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely
for the attention and use of the named addressee(s) and may be
confidential or proprietary in nature or covered by the provisions of
privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
Data Protection Code).Any use not in accord with its purpose, any
disclosure, reproduction, copying, distribution, or either
dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the
intended recipient, please contact immediately the sender by
telephone, fax or e-mail and delete the information in this message
that has been received in error. The sender does not give any warranty
or accept liability as the content, accuracy or completeness of sent
messages and accepts no responsibility for changes made after they
were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users