-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Přeskakování chybných GML geometrií při linearizaci #40
Comments
No zrovna se s tímhle souborem trápím :(. Ale otázkou je, zda je to opravdu chybná geometrie. Dva body na definování úsečky přeci stačí a úsečka je prostě jen podmnožina křivek, ne? Nehrabe tentokrát spíš Postgisu? BTW: našel jsi to, který element to je? |
Rozbal to, vymaž to xmlstarletem, zabal a nahraj znovu. Už jsem to hlásil a opravili to, více viz. |
Díky moc, tak přeci jen budu mít volnou neděli :) |
Už jsem to zkoušel řešit, ale ne moc úspěšně... Vytvořil jsem novou výjimku, kterou jsem vystřelil při chybě a odchytil jí na nějaké třídě (už nevím přesně), která inicializuje zpracování. Problém ovšem je ten, že se předává XML stream, který je nastaven na nějakou pozici a v momentě kdy jsem chtěl pokračovat ve zpracování, tak to hodí chybu, protože strom tříd pod danou třídou očekává jiný vstup z XML, než kde je aktuální pozice. Podle mě to znamená, že se musí ta výjimka zpracovat na všech třídách, kde může nastat. (možná rozšířením bázové třídy?) |
nedíval jsem se do kódu, ale je to jak píšeš, ta chyba se musí zpracovat tam kde se zpracovává ten xml element, aby ten parser mohl pokračovat tam kde skončil. a nebo to zpracovat tam, kde je to nejvhodnější, před dalším parsováním je ale potřeba zkomzumovat všechny xml elementy až po ten element na úrovni, kde to zpracováváš. tj. dočíst ten element do konce. |
Chlapi, nemohli bychom tyhle chyby nějak inteligentně přeskakovat, aby nehavaroval celý import?
2021-01-22 06:30:02 URL:http://vdp.cuzk.cz/vymenny_format/soucasna/20210121_ST_ZKSH.xml.zip [19175571/19175571] -> "/tmp/ruian/20210121_ST_ZKSH.xml.zip" [1] Recreating RÚIAN statistics views... Processing file /tmp/ruian/20210121_ST_ZKSH.xml.zip Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:OkresIntTypy:v1 NespravneUdaje Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 NespravnyUdaj Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 NazevUdaje Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 OznacenoDne Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 OznacenoInfo Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:OrpIntTypy:v1 NespravneUdaje Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 NespravnyUdaj Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 NazevUdaje Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 OznacenoDne Warning: Ignoring unsupported element urn:cz:isvs:ruian:schemas:CommonTypy:v1 OznacenoInfo Exception in thread "main" java.lang.RuntimeException: Invalid Curve definition: need at least 3 control points, but got 2. at com.fordfrog.ruian2pgsql.gml.Curve.linearize(Curve.java:61) at com.fordfrog.ruian2pgsql.gml.Curve.linearize(Curve.java:34) at com.fordfrog.ruian2pgsql.gml.CompoundCurve.linearize(CompoundCurve.java:85) at com.fordfrog.ruian2pgsql.gml.CompoundCurve.linearize(CompoundCurve.java:33) at com.fordfrog.ruian2pgsql.gml.Polygon.linearize(Polygon.java:131) at com.fordfrog.ruian2pgsql.gml.Polygon.linearize(Polygon.java:33) at com.fordfrog.ruian2pgsql.gml.GMLParser.parseLinearized(GMLParser.java:103) at com.fordfrog.ruian2pgsql.utils.Utils.processGML(Utils.java:700) at com.fordfrog.ruian2pgsql.utils.Utils.processGeometrieElement(Utils.java:587) at com.fordfrog.ruian2pgsql.utils.Utils.processGeometrie(Utils.java:546) at com.fordfrog.ruian2pgsql.convertors.ParcelaConvertor.processElement(ParcelaConvertor.java:212) at com.fordfrog.ruian2pgsql.convertors.ParcelaConvertor.processElement(ParcelaConvertor.java:41) at com.fordfrog.ruian2pgsql.convertors.AbstractSaveConvertor.convert(AbstractSaveConvertor.java:164) at com.fordfrog.ruian2pgsql.convertors.CollectionConvertor.processElement(CollectionConvertor.java:93) at com.fordfrog.ruian2pgsql.convertors.AbstractConvertor.convert(AbstractConvertor.java:77) at com.fordfrog.ruian2pgsql.convertors.DataConvertor.processElement(DataConvertor.java:212) at com.fordfrog.ruian2pgsql.convertors.AbstractConvertor.convert(AbstractConvertor.java:77) at com.fordfrog.ruian2pgsql.convertors.ExchangeFormatConvertor.processElement(ExchangeFormatConvertor.java:73) at com.fordfrog.ruian2pgsql.convertors.AbstractConvertor.convert(AbstractConvertor.java:77) at com.fordfrog.ruian2pgsql.convertors.MainConvertor.processElement(MainConvertor.java:338) at com.fordfrog.ruian2pgsql.convertors.MainConvertor.readInputStream(MainConvertor.java:317) at com.fordfrog.ruian2pgsql.convertors.MainConvertor.processFile(MainConvertor.java:272) at com.fordfrog.ruian2pgsql.convertors.MainConvertor.convert(MainConvertor.java:140) at com.fordfrog.ruian2pgsql.App.main(App.java:133)
The text was updated successfully, but these errors were encountered: