First of all, Ben, Rini thanks a lot.

Now I'm running GeoServer 2.3 on Tomcat 7.0.35 on windows 7. The main
problems with oracle have dissapeared.

Maybe I haven't explained my self very well. When I wrote "If the data
store is a property file everything works fine", I mean that the wfs return
right results for the queries included the last query (adminUnitName within
Castilla y León), even when ValueReference is used! In fact the province of
Segovia (gml:id=AUN_PRO_400000000000) is situated within the Autonomous
Region of Castilla y León (gml:id=AUN_COM_07) that is what the wfs answers
 when the data store is a property file. So I'm very surprised when you say
that ValueReference is not suported.

Is it clear now?

Nowadays the IGN (National Geographic Institute) and the CNIG (National
Geographic Information Center) of Spain are very interested in the
app-schema plugin to implement INSPIRE compliant download services based on
WFS 2.0.0, but unfortunately  we haven't the neccesary development
habilities to fork GeoServer.

Kind regards.



2013/3/18 <[email protected]>

> Hi Julián,
>
> Like Ben said ValueReference is not yet supported with app-schema
> (although this may change soon if IGN work gets committed).
> This would explain why your filter results return the wrong results with
> property files.
>
> GetFeature: asking for an AdminUnitName that is situatedwithin the
> AdminUnitName which name is 'Castilla y León'
>
> ----------------------------------------------------------------------------------------------------------------
>
>
> http://localhost:8080/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAME=ad:AdminUnitName&FILTER=<Filter><PropertyIsEqualTo><ValueReference>ad:situatedWithin/ad:AdminUnitName/ad:name/gn:GeographicalName/gn:spelling/gn:SpellingOfName/gn:text</ValueReference><Literal>Castilla
> y León</Literal></PropertyIsEqualTo></Filter>
>
>
> Response when the datastore is a properties file
> ------------------------------------------------
>
> <wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs/2.0";
> xmlns:gn="urn:x-inspire:specification:gmlas:GeographicalNames:3.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:base="urn:x-inspire:specification:gmlas:BaseTypes:3.2" xmlns:gml="
> http://www.opengis.net/gml/3.2";
> xmlns:ad="urn:x-inspire:specification:gmlas:Addresses:3.0"
> numberMatched="unknown" numberReturned="1"
> timeStamp="2013-03-14T09:05:26.612Z"
> xsi:schemaLocation="urn:x-inspire:specification:gmlas:Addresses:3.0
> http://inspire.ec.europa.eu/schemas/ad/3.0/Addresses.xsd
> 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:member>
> <ad:AdminUnitName gml:id="AUN_PRO_400000000000">
> <ad:inspireId>
> <base:Identifier>
> <base:localId>PRO_400000000000</base:localId>
> <base:namespace>ES.CNIG.CARTOCIUDAD</base:namespace>
> </base:Identifier>
> </ad:inspireId>
> <ad:beginLifespanVersion>2012-07-05T14:13:16Z</ad:beginLifespanVersion>
> <ad:situatedWithin href="
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:AdminUnitName&FEATUREID=AUN_COM_07
> "/>
> <ad:name>
> <gn:GeographicalName>
> <gn:spelling>
> <gn:SpellingOfName>
> <gn:text>Segovia</gn:text>
> </gn:SpellingOfName>
> </gn:spelling>
> </gn:GeographicalName>
> </ad:name>
> <ad:level
> codeSpace="urn:x-inspire:specification:gmlas:AdministrativeUnits:3.0/AdministrativeHierarchyLevel">3rdOrder</ad:level>
> </ad:AdminUnitName>
> </wfs:member>
> </wfs:FeatureCollection>
>
> The error with Oracle might be caused by a bug in 2.2.1 version. Try the
> latest 2.3 instead. Also I noticed you're not using joining.
> Turning joining on will improve performance if you have a large dataset
> (although it won't have much impact if you're only using up to 100 features
> for testing). More info:
> http://gridlock.opengeo.org/geoserver/2.3.x/doc/en/user/data/app-schema/joining.html#configuration
>
>
> Cheers
> Rini
>
>
>
> -----Original Message-----
> From: Caradoc-Davies, Ben (CESRE, Kensington)
> Sent: Monday, 18 March 2013 1:24 PM
> To: Julián González
> Cc: [email protected]; Angreani, Rini (CESRE,
> Kensington)
> Subject: Re: [Geoserver-users] App-Schema plugin, mapping the Address
> model of INSPIRE
>
> Julián,
>
> I had a look at your sample queries. app-schema does not support WFS
> 2.0.0 (the parts also in WFS 1.1.0 work by accident). In particular,
> app-schema does not yet support ValueReference. See here:
>
> http://osgeo-org.1560.n6.nabble.com/Some-GeoServer-2-3-x-app-schema-GeoSciML-v3-GML-3-2-application-schema-tests-td5035802.html
>
> I do not know why this appears to work for a property file. Rini?
>
> I am aware of a proposal to improve WFS 2.0.0 support, but it is not yet
> underway.
>
> Kind regards,
> Ben.
>
> On 14/03/13 18:17, Julián González wrote:
> > Sorry for this late reply.
> >
> > I was out of the project for months and now I'm working on it again.
> >
> > I've made some test and I'm getting very confused.
> >
> > First of all I've simplified my schema, now I'm using only one feature
> > type from the INSPIRE Address Schema which is AdminUnitName that has a
> > self relationship called situatedwithin. I think that the names are
> > descriptive enough. More info on:
> > http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_
> > DataSpecification_AD_v3.0.1.pdf
> >
> > If the data store is a property file everything works fine, but if the
> > data store is an Oracle database nothing works fine.
> >
> > I've 'zipped', the geoserver data dir with the java property file, the
> > SQL script files to generate the table and populate it with the same
> > data contained in the property file, and the WFS queries that I'm
> > doing to the server to reproduce the errors. The log file in the
> > geoserver data dir contains the log generated by this process:
> >
> > 1.- Start the tomcat service
> > 2.- Do three WFS GetFeature queries.
> > 3.- Stop the server
> > Change the datastore to the Oracle Database
> > 4.- Start the tomcat service
> > 5.- Do three WFS GetFeature queries.
> > 6.- Stop the server
> >
> > The zip file can be dowloaded from: http://sdrv.ms/WpbxYW
> >
> > Could someone check what I'm doing bad?
> >
> > Thanks in advance.
> >
> > 2012/11/26 Ben Caradoc-Davies <[email protected]
> > <mailto:[email protected]>>
> >
> >     On 19/11/12 19:44, Julián González wrote:
> >      > Is it possible to add the referenced AdministrativeUnitName,
> >      > PostalDescriptor and ThoroughfareName at the end of the xml
> response?
> >
> >     No. The included features are specified by the Web Feature Service
> >     standard: only those features matching a filter query are encoded,
> >     and nested properties are encoded inside those features or by
> >     reference. While it is possible to include additional types at the
> >     top level, they will not be related to features of another type.
> >
> >     Client applications should be able to use the xlink:href obtained
> >     from a response to make a second query to resolve a nested feature.
> >
> >
> >      > I've read that it's impossible to ask for a feature referenced by
> an
> >      > xlink:href, then we can't ask the service for the addresses of a
> >     certain
> >      > thoroughfarename, can we? I suposse that the only way is to
> >     change the
> >      > type of the component property to a gml:AbstractFeature, isn't it?
> >
> >     I am not quite sure what you are asking. Are you talking about a
> >     filter query on xlink:href? This is possible where it is created
> >     using feature chaining and you are querying a nested property (users
> >     like this but I am not sure that it is valid use of WFS!). I am not
> >     sure this is what you mean. Do you have an example?
> >
> >     Kind regards,
> >     Ben.
> >
> >
> >
> >     On 19/11/12 19:44, Julián González wrote:
> >
> >         Hi list.
> >
> >         I'm trying to map a custom address model to the address model of
> >         INSPIRE
> >         using de app-schema plugin (version 2.2.1).
> >         There is a relationship between two featuretypes, Address and
> >         AddressComponent (an abstract feature), called component in the
> >         first
> >         featuretype.
> >
> >         There are some subtypes of AddressComponent:
> AdministrativeUnitName,
> >         PostalDescriptor, ThoroughfareName,...
> >         In the xsd, the component property of the Address featuretype is
> >         defined
> >         like this:
> >
> >         <element maxOccurs="unbounded" name="component">
> >         <annotation>
> >         <documentation>
> >                    -- Definition -- Represents that the address
> component is
> >         engaged as a part of the address. -- Description -- EXAMPLE For
> the
> >         address designated "Calle Mayor 13, Cortijo del Marqués, 41037,
> >         Écija,
> >         Sevilla, España" the six address components "Calle Mayor",
> >         "Cortijo del
> >         Marqués", "41037", "Écija", "Sevilla" and "España" are engaged as
> >         address components.
> >         </documentation>
> >         <appinfo>
> >         <targetElement
> >         xmlns="http://www.opengis.net/__gml/3.2
> >         <http://www.opengis.net/gml/3.2
> >">ad:AddressComponent</__targetElement>
> >         </appinfo>
> >         </annotation>
> >         <complexType>
> >         <complexContent>
> >         <extension base="gml:AbstractMemberType">
> >         <sequence/>
> >         <attributeGroup ref="gml:__AssociationAttributeGroup"/>
> >         </extension>
> >         </complexContent>
> >         </complexType>
> >         </element>
> >
> >         Then I've understood that:
> >
> >         - An address must have one or more components.
> >         - The xml element of the component property has no content but
> >         it has an
> >         xlink:href attribute pointing to an AdministrativeunitName or a
> >         PostalDescriptor or a Thorougfarename
> >
> >         The Attribue mapping of the component property for a
> >         ThoroughfareName is:
> >
> >         <AttributeMapping>
> >         <targetAttribute>ad:component<__/targetAttribute>
> >
> <targetAttributeNode>ad:__ThoroughfareNameType</__targetAttributeNode>
> >         <sourceExpression>
> >         <OCQL>XLINK2COMPONENT</OCQL>
> >         <linkElement>ad:__ThoroughfareName</linkElement>
> >
> <linkField>ad:inspireId/base:__Identifier/base:localId</__linkField>
> >         </sourceExpression>
> >         <isMultiple>true</isMultiple>
> >         <ClientProperty>
> >         <name>xlink:href</name>
> >         <value>strConcat('http://
> __localhost:8080/geoserver/wfs?__request=GetFeature&amp;__version=2.0.0&amp;typeName=ad:__ThoroughfareName&amp;__FEATUREID=
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:ThoroughfareName&FEATUREID=
> >
> >         <
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&amp;version=2.0.0&__amp;typeName=ad:__ThoroughfareName&amp;__FEATUREID=
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:ThoroughfareName&FEATUREID=
> >>',
> >         GMLID)</value>
> >         </ClientProperty>
> >         </AttributeMapping>
> >
> >         In this way, an Address served by the wfs service is:
> >
> >         <ad:Address gml:id="AD_PPK_000000000001">
> >              ... a lot of xml elements ...
> >         <ad:component
> >         href="
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:ThoroughfareName&__FEATUREID=TH_VIA_000000000001
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:ThoroughfareName&FEATUREID=TH_VIA_000000000001
> >
> >         <
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:ThoroughfareName&__FEATUREID=TH_VIA_000000000001
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:ThoroughfareName&FEATUREID=TH_VIA_000000000001
> >>__"/>
> >         <ad:component
> >         href="
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:AdminUnitName&__FEATUREID=AUN_MUN_000000040194
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:AdminUnitName&FEATUREID=AUN_MUN_000000040194
> >
> >         <
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:AdminUnitName&__FEATUREID=AUN_MUN_000000040194
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:AdminUnitName&FEATUREID=AUN_MUN_000000040194
> >__>"/>
> >         <ad:component
> >         href="
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:PostalDescriptor&__FEATUREID=PD_CP_000000000001
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:PostalDescriptor&FEATUREID=PD_CP_000000000001
> >
> >         <
> http://localhost:8080/__geoserver/wfs?request=__GetFeature&version=2.0.0&__typeName=ad:PostalDescriptor&__FEATUREID=PD_CP_000000000001
> >         <
> http://localhost:8080/geoserver/wfs?request=GetFeature&version=2.0.0&typeName=ad:PostalDescriptor&FEATUREID=PD_CP_000000000001
> >>"__/>
> >         </ad:Address>
> >
> >         My questions are:
> >
> >         Is it possible to add the referenced AdministrativeUnitName,
> >         PostalDescriptor and ThoroughfareName at the end of the xml
> >         response?
> >
> >         I've read that it's impossible to ask for a feature referenced
> by an
> >         xlink:href, then we can't ask the service for the addresses of a
> >         certain
> >         thoroughfarename, can we? I suposse that the only way is to
> >         change the
> >         type of the component property to a gml:AbstractFeature, isn't
> it?
> >
> >         Regards and thanks in advance.
> >
> >
> >     --
> >     Ben Caradoc-Davies <[email protected]>
> >     Software Engineer
> >     CSIRO Earth Science and Resource Engineering
> >     Australian Resources Research Centre
> >
> >
>
> --
> Ben Caradoc-Davies <[email protected]> Software Engineer CSIRO
> Earth Science and Resource Engineering Australian Resources Research Centre
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to