orbisgis / geoclimate

Geospatial processing toolbox for environmental and climate studies
GNU Lesser General Public License v3.0
59 stars 16 forks source link

BDTopo V3 Trouble with coastline ?? #821

Closed j3r3m1 closed 1 year ago

j3r3m1 commented 1 year ago

I am trying to use GeoClimate on Windows with BDT v3 on 44109 INSEE code and I get the following error:

11:31:07.272 [main] INFO org.orbisgis.geoclimate.bdtopo.BDTopoUtils - Processing the commune with the code insee :  44109
11:31:21.653 [main] INFO org.orbisgis.geoclimate.bdtopo.BDTopoUtils - Processing the commune with the code insee :  44109
org.h2.jdbc.JdbcSQLSyntaxErrorException: Colonne "A.NIVEAU" non trouvée
Column "A.NIVEAU" not found; SQL statement:

            DROP TABLE IF EXISTS INPUT_COASTLINE [42122-214]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:502)
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:477)
        at org.h2.message.DbException.get(DbException.java:223)
        at org.h2.message.DbException.get(DbException.java:199)
        at org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:244)
        at org.h2.expression.ExpressionColumn.optimizeOther(ExpressionColumn.java:226)
        at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:213)
        at org.h2.expression.condition.Comparison.optimize(Comparison.java:139)
        at org.h2.expression.condition.ConditionAndOr.optimize(ConditionAndOr.java:137)
        at org.h2.expression.Expression.optimizeCondition(Expression.java:148)
        at org.h2.command.query.Select.prepareExpressions(Select.java:1177)
        at org.h2.command.query.Query.prepare(Query.java:218)
        at org.h2.command.ddl.CreateTable.update(CreateTable.java:94)
        at org.h2.command.CommandContainer.update(CommandContainer.java:169)
        at org.h2.command.CommandList.executeRemaining(CommandList.java:58)
        at org.h2.command.CommandList.update(CommandList.java:66)
        at org.h2.command.Command.executeUpdate(Command.java:252)
        at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:252)
        at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:223)
        at org.h2gis.utilities.wrapper.StatementWrapper.execute(StatementWrapper.java:109)
        at groovy.sql.Sql.execute(Sql.java:2333)
        at org.orbisgis.data.jdbc.JdbcDataSource.execute(JdbcDataSource.java:471)
        at org.orbisgis.data.api.dsl.IResultSetBuilder$execute.call(Unknown Source)
        at org.orbisgis.geoclimate.bdtopo.InputDataLoading.loadV3(InputDataLoading.groovy:675)
        at org.orbisgis.geoclimate.bdtopo.InputDataLoading$loadV3.call(Unknown Source)
        at org.orbisgis.geoclimate.bdtopo.BDTopoV3Workflow.formatLayers(BDTopoV3Workflow.groovy:398)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrap.invoke(PogoMetaMethodSite.java:182)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:212)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.bdTopoProcessingSingleArea(AbstractBDTopoWorkflow.groovy:897)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow$_bdtopo_processing_closure9.doCall(AbstractBDTopoWorkflow.groovy:691)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at groovy.lang.Closure.call(Closure.java:428)
        at groovy.sql.Sql.eachRow(Sql.java:1228)
        at groovy.sql.Sql.eachRow(Sql.java:1182)
        at groovy.sql.Sql.eachRow(Sql.java:1119)
        at org.orbisgis.data.jdbc.JdbcDataSource.eachRow(JdbcDataSource.java:532)
        at org.orbisgis.data.jdbc.JdbcDataSource$eachRow.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.bdtopo_processing(AbstractBDTopoWorkflow.groovy:677)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.bdtopo_processing(AbstractBDTopoWorkflow.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow$_execute_closure1.doCall(AbstractBDTopoWorkflow.groovy:237)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
        at groovy.lang.Closure.call(Closure.java:412)
        at groovy.lang.Closure.call(Closure.java:428)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2359)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2344)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2397)
        at org.codehaus.groovy.runtime.dgm$204.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.execute(AbstractBDTopoWorkflow.groovy:231)
        at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow$execute.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
        at org.orbisgis.geoclimate.bdtopo.BDTopo.v3(BDTopo.groovy:165)
        at org.orbisgis.geoclimate.bdtopo.BDTopo$v3.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
        at org.orbisgis.geoclimate.Geoclimate.call(Geoclimate.groovy:113)
        at org.orbisgis.geoclimate.Geoclimate.call(Geoclimate.groovy)
        at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
        at picocli.CommandLine.access$1300(CommandLine.java:145)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
        at picocli.CommandLine.execute(CommandLine.java:2078)
        at picocli.CommandLine$execute.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
        at org.orbisgis.geoclimate.Geoclimate.main(Geoclimate.groovy:133)

We have tried with the BDTopo V2 and it works well. Any idea where does that come from with BDTopo v3 ?

For testing, we have used the last GeoClimate snapshot version and the following command and config files:

ebocher commented 1 year ago

Thanks I will check it

ebocher commented 1 year ago

Fixed here #822