Ah i understand, in fact the parser works fine, i guess should try another
generic XSD library for writing, thanks Andrea

Il lun 21 feb 2022, 16:02 Andrea Aime <andrea.a...@geosolutionsgroup.com>
ha scritto:

> Hi Lorenzo,
> XSD modules can be pretty asymmetric, some can parse but not encode, others
> do both but with significantly different success rate.
>
> I believe gt-xsd-kml might be of the latter type... nothing else is using
> it in GeoTools,
> in GeoServer the only supported module using it is the importer, which
> only uses
> the read (parse) side of it.
>
> There is also an unsupported kmlppio module that can encode KML, but... I
> believe
> it has not received usage in ages.
>
> Long story short... fixes welcomed.
>
> Cheers
> Andrea
>
> On Mon, Feb 21, 2022 at 3:46 PM Lorenzo Di Giacomo <loridi...@gmail.com>
> wrote:
>
>> Hi all, following the guide:
>> https://docs.geotools.org/latest/userguide/extension/xsd/kml.html
>> i successfully read using StreamParser the states.kml used in the example.
>> But when i tried to write the features read previously i got:
>> Exception in thread "main" java.lang.RuntimeException: Failed to get
>> property:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *{http://www.opengis.net/kml/2.2}styleUrl
>> <http://www.opengis.net/kml/2.2%7DstyleUrl> at
>> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:102)
>> at
>> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:220)
>> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:186) at
>> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:65)
>> at
>> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:45)
>> at
>> org.geotools.xsd.impl.BindingPropertyExtractor.properties(BindingPropertyExtractor.java:93)
>> at org.geotools.xsd.Encoder.encode(Encoder.java:987) at
>> org.geotools.xsd.Encoder.encode(Encoder.java:549) at
>> my.conversion.vector.streamWriters.KMLStreamWriter.writeFeatures(KMLStreamWriter.java:38)
>> at Example.main(Example.java:65)Caused by: java.lang.ClassCastException:
>> org.geotools.styling.FeatureTypeStyleImpl cannot be cast to java.net.URI at
>> org.geotools.kml.bindings.FeatureTypeBinding.getProperty(FeatureTypeBinding.java:299)
>> at
>> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:100)
>> ... 9 more*
>> Looking at the code *org.geotools.kml.bindings.FeatureTypeBinding.java
>> :299 *i noticed that the problem is:
>>
>> if (KML.styleUrl.getLocalPart().equals(name.getLocalPart())) {
>>     URI uri = (URI) feature.getAttribute("Style");
>>     if (uri != null) {
>>         return styleMap.get(uri);
>>     }
>> }
>>
>> The attribute "Style" is of type FeatureTypeStyle as described also in
>> the guide above, so why should be cast to URI? Is probably a bug and
>> instead of Style there should be "styleUrl".
>>
>> Thanks
>>
>>
>>
>> _______________________________________________
>> GeoTools-GT2-Users mailing list
>> GeoTools-GT2-Users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>
>
> --
>
> Regards,
>
> Andrea Aime
>
> ==
> GeoServer Professional Services from the experts!
>
> Visit http://bit.ly/gs-services-us for more information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions Group
> phone: +39 0584 962313
>
> fax:     +39 0584 1660272
>
> mob:   +39  333 8128928
>
> https://www.geosolutionsgroup.com/
>
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
>
> Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
> 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
> precisa che ogni circostanza inerente alla presente email (il suo
> contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
> riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
> messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
> operazione è illecita. Le sarei comunque grato se potesse darmene notizia.
>
> This email is intended only for the person or entity to which it is
> addressed and may contain information that is privileged, confidential or
> otherwise protected from disclosure. We remind that - as provided by
> European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
> e-mail or the information herein by anyone other than the intended
> recipient is prohibited. If you have received this email by mistake, please
> notify us immediately by telephone or e-mail
>
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to