[geotk] Read Polygon from Xml Iso Metadata

robin berenger berenger.robin at c-s.fr
Tue May 7 02:57:04 PDT 2013


Thanks for your answer, that works. I didn't used this line for my 
unmarshaller
  CSWMarshallerPool.getInstance().acquireUnmarshaller();


Le 03/05/2013 11:45, Martin Desruisseaux a écrit :
> Hello Robin
>
> Sorry for the delayed reply. Do you have the geotk-xml-gml module in 
> your classpath? With that module, the following code effectively 
> prints "Number of geometry objects:  1"...
>
> String xml =
>         "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
>         "<gmd:EX_Extent xmlns:gmd=\"http://www.isotc211.org/2005/gmd\" 
> xmlns:gml=\"http://www.opengis.net/gml\">" +
>         " <gmd:geographicElement>" +
>         " <gmd:EX_BoundingPolygon>" +
>         " <gmd:polygon>" +
>         " <gml:Polygon srsName=\"urn:ogc:def:crs:epsg:7.9:4326\">" +
>         " <gml:exterior>" +
>         " <gml:LinearRing srsName=\"urn:ogc:def:crs:epsg:7.9:4326\">" +
>         " <gml:posList>1.0 1.0 5.0 1.0 5.0 5.0 1.0 5.0 1.0 
> 1.0</gml:posList>" +
>         " </gml:LinearRing>" +
>         " </gml:exterior>" +
>         " </gml:Polygon>" +
>         " </gmd:polygon>" +
>         " </gmd:EX_BoundingPolygon>" +
>         " </gmd:geographicElement>" +
>         "</gmd:EX_Extent>";
>
> Extent obj = (Extent) 
> CSWMarshallerPool.getInstance().acquireUnmarshaller().unmarshal(new 
> StringReader(xml));
> for (GeographicExtent geographicExtent : obj.getGeographicElements()) {
>     if (geographicExtent instanceof DefaultBoundingPolygon){
>         DefaultBoundingPolygon defaultBoundingPolygon = 
> (DefaultBoundingPolygon)geographicExtent;
>         Collection polygons = defaultBoundingPolygon.getPolygons();
>         System.out.println("Number of geometry objects:  " + 
> polygons.size());
>     }
> }
>
>
> (note: Thanks to Guilhem Legal for the code snippet).
>
>     Martin
>
>
>
>
> Le 26/04/13 11:03, robin berenger a écrit :
>> Hello,
>>
>> I have a problem reading an xml file and filling a default metadata 
>> with it. I can fill almost all attributes, but not
>> Metadata -> Identification -> Extent ->GeographicElement -> 
>> DefaultBoundingPolygon.
>>
>> When i write :
>>
>> for (GeographicExtent geographicExtent : geographicElements) {
>>                         if (geographicExtent instanceof 
>> DefaultBoundingPolygon){
>>                             DefaultBoundingPolygon 
>> defaultBoundingPolygon = (DefaultBoundingPolygon)geographicExtent;
>>                             Collection<Geometry> polygons = 
>> defaultBoundingPolygon.getPolygons();
>>                             System.out.println("Number of geometry 
>> objects :  :  " + polygons.size());
>>                         }
>>
>> I get : Number of geometry objects   :  0
>>
>> Is it possible to read this Polygon? I have no problem readind a 
>> bounding box .
>
> _______________________________________________
> Geotoolkit mailing list
> Geotoolkit at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geotoolkit
>
>



More information about the Geotoolkit mailing list