Sunil, please have a look at the gt-app-schema module: http://docs.geotools.org/latest/userguide/extension/app-schema.html
This is the current evolution of the ancient complex features / community schemas branch. This module is mostly used through GeoServer: http://docs.geoserver.org/latest/en/user/data/app-schema/index.html Mulivalued properties are supported. On trunk we also support multivalued simple types. You should be able to have multivalued gml:name with different codeSpace for different languages. There may also be a better type for expressing language localisation. Note that app-schema is read-only (in GeoServer it does *not* support WFS-T). While app-schema is present in 2.7.x, the version on trunk has major improvements both in functionality and performance. Kind regards, Ben. On 10/02/12 11:27, Sunil Padda wrote: > Hi everyone, > > My usage of Complex Features in the subject may not be accurate. So, I > will state my problem (as I understand it) first. Then, I will explain > my use case and finally let you know what I have found upon going > through Geotools code and documentation. > > What I am looking for is support for features which can support multiple > values for an attribute, and complex attributes. An example is > multilingual names for a feature. Each feature has a Names field which > is complex, and has {language, name, name_type}. And, there can be > multiple entries of this per features. Does Geotools support this out of > box? > > Here is our use case: > We are using an Oracle database to store the feature data (both spatial > and non-spatial). However, this database is normalized. So, multiple > tables should be joined to read features in each layer. We have chosen > to use Geoserver+Geotools to serve the features via WFS. Finally, we are > using QGIS to read/write features using WFS plugin. We want to be enable > the WFS server to serve features with attribute multiplicity and complex > attributes (as described in the problem). From the WFS specification, it > looks like there is support for this. However, for this to work, both > Geoserver and Geotools should support this (along with QGIS of course). > I am not entirely sure if Geoserver does support it (it would be great > if someone can answer this, otherwise I'll post in Geoserver forum). > Coming to Geotools, I see only SimpleFeature (and SimpleFeatureType) in > trunk. Also, all default implementations (ContentDataStore etc.) support > only SimpleFeature. Does this mean, I have to extend Feature (and > FeatureType) to add the functionality to support our use-case? This > would also means creating classes similar to ContentDataStore etc. to > use these new classes. > > Here is what I have found so far: > I have seen some wiki pages > (http://docs.codehaus.org/display/GEOTOOLS/Complex-Features+Branch) > which talk about Complex Feature implementation in Geotools. Though it > looks like solving our use case precisely, it can be controlled only > through configuration. As I understand, this involves creating mappings > between XSD exposed to external users and XSDs of individual features. > Reading data this way is straight-forward because of XPath expressions. > However, writing data through this can be cumbersome and not even > possible in some cases. For example, the Names field in our case spans > FEATURE_NAME, LANGUAGE tables where FEATURE_NAME has a foreign-key > referencing the LANGUAGE table (let's say it has 2 columns - id, > lang_name) . When I add a new Feature with English (not the Language id, > but the lang_name, English), how do I specify not to insert data into > LANGUAGE table. Instead, the LANGUAGE table should be looked up with > lang_name, and it's id should be used to insert a row in FEATURE_NAME. > Similar cases are present for Updates and Deletes. > > Also,the Complex Features code doesn't seem to be present in trunk yet. > Are there plans to put it on trunk, and release it as a stable version? > > Thank you, > Sunil > > ------------------------------------------------------------------------------ > Virtualization& Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > GeoTools-GT2-Users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > -- Ben Caradoc-Davies <[email protected]> Software Engineer CSIRO Earth Science and Resource Engineering Australian Resources Research Centre ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ GeoTools-GT2-Users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
