[geotk] DefaultBoundingPolygon on Iso metadata

robin berenger berenger.robin at c-s.fr
Fri Apr 19 04:03:30 PDT 2013


That works fine, thank you

Le 19/04/2013 12:23, Guilhem a écrit :
> Hello robin,
>
> You have to use another implementation localized in geotk-xml-gml 
> (pending).
>
> try this piece of code instead :
>
>         WKTReader wktReader = new WKTReader();
>         Geometry geom = wktReader.read(wktInfluence);
>         DefaultExtent defaultExtent = new DefaultExtent();
>
>         // JTS Polygon
>         org.opengis.geometry.Geometry geometry = 
> (org.opengis.geometry.Geometry) JTStoGeometry.toGML("3.1.1", geom, 
> CRS.decode("EPSG:4326"));
>
>         DefaultBoundingPolygon boundingPolygon = new 
> DefaultBoundingPolygon();
> boundingPolygon.setPolygons(Collections.singleton(geometry));
> defaultExtent.getGeographicElements().add(boundingPolygon);
>
> I just try it, the XML marshalling works fine with this.
>
> Guilhem Legal
>
> Le 11/04/2013 15:30, robin berenger a écrit :
>> Hello
>>
>> I have a problem when i try to fill an opengis metadata with a 
>> defaultBoundingPolygon instead of a DefaultBoundingBox
>> (MetaData > DataIdentification > Extent > BoundingPolygon)  with a 
>> WKT String (POLYGON (50.1 .....)).
>>
>> I have this attention log when i insert my metadata into the catalog, 
>> and the polygon isn't inserted.
>>
>> ATTENTION: Unexpected geometry class in 
>> geometryAdpater:org.geotoolkit.geometry.isoonjts.spatialschema.geometry.geometry.JTSPolygon
>>
>> It seems that GmlGeometryAdapter needs a PolygonType, but i don't 
>> know how to create it from WKT .
>>
>> public static DefaultExtent createGeographicInfluenceExtent(String 
>> wktInfluence) throws ParseException  {
>>
>>         WKTReader wktReader = new WKTReader();
>>         Geometry geom = wktReader.read(wktInfluence);
>>         DefaultExtent defaultExtent = new DefaultExtent();
>>         Coordinate[] coordinates = geom.getCoordinates();
>>         DirectPosition2D[] exteriorRing = new 
>> DirectPosition2D[coordinates.length];
>>
>>         for (int i = 0; i < coordinates.length; i++) {
>>
>>             final double[] coords = new double[2];
>>             coords[0] = coordinates[i].x;
>>             coords[1] = coordinates[i].y;
>>             DirectPosition2D position = new DirectPosition2D();
>>             exteriorRing[i] = position;
>>         }
>>         // JTS Polygon
>>         org.opengis.geometry.Geometry geometry = 
>> (org.opengis.geometry.Geometry) 
>> GeometryUtils.createPolygon(exteriorRing);
>>         //PolygonAdapter polygonAdapter = new PolygonAdapter();
>>         //org.geotoolkit.internal.jaxb.PolygonType polT 
>> =polygonAdapter.marshal(p);
>>         //org.opengis.geometry.Geometry g = 
>> (org.opengis.geometry.Geometry)pklk;
>>
>>         DefaultBoundingPolygon boundingPolygon = new 
>> DefaultBoundingPolygon();
>> boundingPolygon.setPolygons(Collections.singleton(geometry));
>> defaultExtent.getGeographicElements().add(boundingPolygon);
>>
>>         return defaultExtent;
>>     }
>>
>> Thanks for your help
>> _______________________________________________
>> Geotoolkit mailing list
>> Geotoolkit at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/geotoolkit
>>
>>
>
> _______________________________________________
> Geotoolkit mailing list
> Geotoolkit at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geotoolkit
>
>



More information about the Geotoolkit mailing list