Hi,
About the "Unrecognized geometry type”, in Oracle the default is that you can store all kind of geometries (points, lines, multipolygons, geometrycollections etc.) into same sdo_geometry column. Many other GIS systems have constraints for geometry types allowed on a single layer. A shapefile can hold polygons and multipolygons but you cannot store points into the same shapefile. Sometimes
There is only one way in Oracle to set such constraint and it is to create the spatial index with additional parameter like PARAMETERS (‘layer_gtype=POLYGON’);
If Geoserver finds such parameter from spatial index metadata it can announce in WFS DescribeFeatureType the exact geometry type. If it does not find the info it can only say that column holds some geometries. That may make trouble for some WFS clients because they are often made according to the shapefile logic. It is works warning server manager about this situation.
I do not know why finding unique index fails for you if your table has such. Generally speaking primary key is used at least for generating WFS fids which must be unique and also stable in the database if updates and deletes are to be done. For inserts the system must also know what field must get a new and unique value. If you will continue to WFS-T with Oracle you will find it is a little bit tricky because you must create a sequence and a trigger on Oracle side and insert a new line into geoserver_metadata table which was created for making living a little bit easier.
-Jukka Rahkonen-
···
Jonathan Moules wrote:
Hi List,
When I start GeoServer (2.3-RC1), the first time I go to the layer list, in the console I see the below three lines for many of the layers.
05 Mar 11:26:03 WARN [org.geotools.jdbc] - Failure occurred while looking up the primary key with finder: org.geotools.jdbc.HeuristicPrimaryKeyFinder@anonymised.com
05 Mar 11:26:03 WARN [org.geotools.jdbc] - No primary key or unique index found for BOUNDARY_SUBREGION.
05 Mar 11:26:06 WARN [org.geotools.jdbc] - Unrecognized geometry type DEFAULT falling back on generic ‘GEOMETRY’
These are all Oracle Layers. They have an non-nullable unique-value column that has an index.
Being WARN level events I figured I should try and find out what they’re on about but googling doesn’t find much.
Can anyone advise? It all seems to work so it can probably be ignored, but…
So my questions:
— What does GeoServer need the primary key for?
— What happens if it can’t find it?
— What does “Unrecognized geometry type DEFAULT falling back on generic ‘GEOMETRY’” mean? My geometry is all in sdo_geometry type columns.
Thanks,
Jonathan
This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.