Many thanks for the suggestions on implementing a custom data store. And
apologies for not replying sooner. It seems that sourceforge email lists
wasn't accepting messages from gmail accounts for awhile.
On Paul's assertion, I asked our DBA to root around our Oracle
installation a bit and she found the package to install Oracle Locator.
The Oracle documentation doesn't do a great job making a distinction
between Locator and Spatial. But we do have that option open to us,
although it is currently our 3rd choice for a solution.
A co-worker found the gen2shp C package, which creates shapefiles from
text files. I ran a quick example using a subset of our data as a proof
of concept, and was very pleased at how easy it was to put the resulting
shapefile in GeoServer. It would be about a day of work to automate
those steps, so we now have a customizable solutions for our first
prototype.
But in the longer term we think we do want to implement a Custom data
store, and I have done some work along those line. I did manage to
create a datastore, roughly following the online tutorial. And got it to
show up in the GUI. But when I try using the FeatureType Editor web page
to create a feature from the data store, I get a null pointer exception.
I tracked down the root cause, and think I have encountered a bug.
The exception is due to the fact that the GeometryAttributeType returned
by getDefaultGeometry()
on the feature type I created for my datastore returns null for
getCoordinateSystem(). Following the code, this is logical - I created
the FeatureType with DataUtilities.createType(String, String) and that
method creates AttributeTypes in the following fashion:
(DataUtilities line 1296): AttributeTypeFactory.newAttributeType(name,
type(type));
ie, without the metadata option of newAttributeType:
(AttributeTypeFactory line 80-93)
/** Creates a new AttributeType with the addition of MetaData.
* <p>
* Currently MetaData is used to supply the CoordinateSequence
* when making a GeometryAttributeType.
* </p>
* @param name
* @param clazz
* @param isNillable
* @param fieldLength
* @param defaultValue
* @param metaData
* @return
*/
public static AttributeType newAttributeType(String name, Class clazz,
boolean isNillable,int fieldLength,Object defaultValue, Object
metaData)
I believe this behavior is a bug, since createType does check for
geometry-based attributes, and sets the default geometry. But that
default geometry doesn't have a coordinate system... Or maybe I'm
misunderstanding the usage of DataUtilities.createType?
Thanks, Joanna
Joanna Muench
Software Engineer
IRIS Data Management Center
www.iris.edu
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users