Closed j3r3m1 closed 7 months ago
It seems that this doesn't work for many communes in the Lyon metropolitan area. Of those I tested (because I need them), only one worked: 69142, and all the others didn't: 69266, 69123, 69199, 69029, 69259, 69152, 69142, 69202, 69256, 69034 and 69286
In case it takes a long time to solve the bug for all the communes, the ones I really need are 69123 and 69266.
As soon as you have an idea of how long it will take to solve the problem, please let me know.
Thank you in advance,
Hi all, I have the same issue here with latest release of geoclimate (1.0.0). I've tested the script on commune 56185 and I'm using BD Topo v3.3 (BDTOPO_3-3_TOUSTHEMES_SHP_LAMB93_D056_2023-09-15).
I'll give a try with BDTOPO_3-0 and let you know
Same issue with BD Topo V3.0 tested on 56185 and another municipality :
The BDTOPO_V3 workflow has been started.
Please wait...
11:18:38.956 [main] INFO GeoClimate -- Processing the commune with the code insee : 56121
11:18:38.960 [main] INFO GeoClimate -- The location 56121 is represented by 2 polygons
. GeoClimate will process each polygon individually.
11:18:38.963 [main] INFO GeoClimate -- Processing the polygon 1 on 2
11:18:40.021 [main] INFO GeoClimate -- BDTOPO V2 GIS layers formated
11:18:40.036 [main] INFO GeoClimate -- Create the units of analysis...
11:18:40.211 [main] INFO GeoClimate -- Start computing the geoindicators...
11:18:40.213 [main] INFO GeoClimate -- Start computing building indicators...
11:18:40.300 [main] INFO GeoClimate -- Start computing block indicators...
11:18:40.407 [main] INFO GeoClimate -- Start computing RSU indicators...
11:18:40.455 [main] INFO GeoClimate -- Processing urban typology surface fraction calculation
11:18:40.458 [main] INFO GeoClimate -- Processing LCZ surface fraction indicators calculation
11:18:40.480 [main] WARN GeoClimate -- The column pop doesn't exist or should be numeric
11:18:40.663 [main] INFO GeoClimate -- Geoindicators calculation time: 0.254 s
11:18:40.664 [main] INFO GeoClimate -- Start computing Typology indicators...
11:18:40.668 [main] INFO GeoClimate -- The LCZ classification will be performed
11:18:40.716 [main] INFO GeoClimate -- The URBAN TYPOLOGY classification is performed
11:18:44.683 [main] INFO GeoClimate -- All geoindicators have been computed
11:18:44.690 [main] INFO GeoClimate -- 56121 has been processed
11:18:44.690 [main] INFO GeoClimate -- Processing the polygon 2 on 2
11:18:54.712 [main] INFO GeoClimate -- BDTOPO V2 GIS layers formated
11:18:54.713 [main] INFO GeoClimate -- Create the units of analysis...
11:19:15.971 [main] INFO GeoClimate -- Start computing the geoindicators...
11:19:15.971 [main] INFO GeoClimate -- Start computing building indicators...
11:19:36.035 [main] INFO GeoClimate -- Start computing block indicators...
11:19:39.157 [main] INFO GeoClimate -- Start computing RSU indicators...
11:19:50.236 [main] INFO GeoClimate -- Processing urban typology surface fraction calculation
11:19:50.246 [main] INFO GeoClimate -- Processing LCZ surface fraction indicators calculation
11:19:50.545 [main] WARN GeoClimate -- The column pop doesn't exist or should be numeric
11:20:18.326 [main] INFO GeoClimate -- Geoindicators calculation time: 39.169 s
11:20:18.327 [main] INFO GeoClimate -- Start computing Typology indicators...
11:20:18.327 [main] INFO GeoClimate -- The LCZ classification will be performed
11:20:18.660 [main] INFO GeoClimate -- The URBAN TYPOLOGY classification is performed
11:20:33.331 [main] INFO GeoClimate -- All geoindicators have been computed
11:20:33.335 [main] INFO GeoClimate -- 56121 has been processed
11:20:44.194 [main] WARN GeoClimate -- The column pop doesn't exist or should be numeric
org.h2.jdbc.JdbcSQLNonTransientException: Exception lors de l'appel de la fonction définie par l'utilisateur: "intersection(GEOMETRYCOLLECTION (POLYGON ((221395.4 6756189.69047619, 221400.4 6756188.5, 221398.7 6756181.9, 221395.4 6756182.5, 221395.4 6756189.69047619)), POINT (221395.4 6756196.1)), POLYGON ((221295.4 6756165.9, 221395.4 6756165.9, 221395.4 6756265.9, 221295.4 6756265.9, 221295.4 6756165.9))): Overlay input is mixed-dimension"
Exception calling user-defined function: "intersection(GEOMETRYCOLLECTION (POLYGON ((221395.4 6756189.69047619, 221400.4 6756188.5, 221398.7 6756181.9, 221395.4 6756182.5, 221395.4 6756189.69047619)), POINT (221395.4 6756196.1)), POLYGON ((221295.4 6756165.9, 221395.4 6756165.9, 221395.4 6756265.9, 221295.4 6756265.9, 221295.4 6756165.9))): Overlay input is mixed-dimension"; SQL statement:
DROP TABLE IF EXISTS upper_table_join [90105-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:212)
at org.h2.message.DbException.convertInvocation(DbException.java:436)
at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:508)
at org.h2.schema.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:345)
at org.h2.expression.function.JavaFunction.getValue(JavaFunction.java:40)
at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:453)
at org.h2.schema.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:345)
at org.h2.expression.function.JavaFunction.getValue(JavaFunction.java:40)
at org.h2.expression.Alias.getValue(Alias.java:37)
at org.h2.command.query.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1851)
at org.h2.result.LazyResult.hasNext(LazyResult.java:78)
at org.h2.result.FetchedResult.next(FetchedResult.java:34)
at org.h2.command.query.Select.queryFlat(Select.java:728)
at org.h2.command.query.Select.queryWithoutCache(Select.java:833)
at org.h2.command.query.Query.queryWithoutCacheLazyCheck(Query.java:197)
at org.h2.command.query.Query.query(Query.java:520)
at org.h2.command.dml.Insert.insertRows(Insert.java:197)
at org.h2.command.dml.Insert.update(Insert.java:135)
at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:74)
at org.h2.command.ddl.CreateTable.insertAsData(CreateTable.java:199)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:157)
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:256)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231)
at org.h2gis.utilities.wrapper.StatementWrapper.execute(StatementWrapper.java:109)
at groovy.sql.Sql.execute(Sql.java:2368)
at org.orbisgis.data.jdbc.JdbcDataSource.execute(JdbcDataSource.java:474)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.geoindicators.GenericIndicators.upperScaleAreaStatistics(GenericIndicators.groovy:976)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.geoindicators.WorkflowGeoIndicators.rasterizeIndicators(WorkflowGeoIndicators.groovy:1841)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.computeGridIndicators(AbstractBDTopoWorkflow.groovy:844)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.bdtopo_processing(AbstractBDTopoWorkflow.groovy:766)
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:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:342)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
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:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at groovy.lang.Closure.call(Closure.java:433)
at groovy.lang.Closure.call(Closure.java:422)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2389)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2374)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2427)
at org.codehaus.groovy.runtime.dgm$209.doMethodInvoke(Unknown Source)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.execute(AbstractBDTopoWorkflow.groovy:231)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.BDTopo.v3(BDTopo.groovy:167)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.Geoclimate.call(Geoclimate.groovy:114)
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 org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.Geoclimate.main(Geoclimate.groovy:134)
Caused by: java.lang.IllegalArgumentException: Overlay input is mixed-dimension
at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.addGeometryCollection(EdgeNodingBuilder.java:247)
at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.add(EdgeNodingBuilder.java:229)
at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.build(EdgeNodingBuilder.java:163)
at org.locationtech.jts.operation.overlayng.OverlayNG.nodeEdges(OverlayNG.java:541)
at org.locationtech.jts.operation.overlayng.OverlayNG.computeEdgeOverlay(OverlayNG.java:495)
at org.locationtech.jts.operation.overlayng.OverlayNG.getResult(OverlayNG.java:483)
at org.locationtech.jts.operation.overlayng.OverlayNG.overlay(OverlayNG.java:248)
at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapTol(OverlayNGRobust.java:274)
at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapping(OverlayNGRobust.java:214)
at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapTries(OverlayNGRobust.java:186)
at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlay(OverlayNGRobust.java:153)
at org.h2gis.functions.spatial.operators.ST_Intersection.intersection(ST_Intersection.java:64)
at jdk.internal.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:495)
... 77 more
I'm on it
It seems the problem comes from gridded indicators generation, because I was able to generate rsu_indicators from BD_TOPO v3.3.
Tested on current version 1.0.1-SNAPSHOT. BDTopo version : BDTOPO_3-0_TOUSTHEMES_SHP_LAMB93_D056_2022-09-15 Location : ["56185"] Here my config file
description" : "Example of configuration file to run the BDTopo workflow and store the results in a folder",
"geoclimatedb": [
"folder": dirFile.absolutePath,
"name" : "bdtopo_workflow_db;AUTO_SERVER=TRUE",
"delete": true
],
"input" : [
"folder" : input_data,
"locations": locations,
"srid" : 2154],
"output" : [
"folder": ["path": directory]],
"parameters" :
["distance" : 0,
rsu_indicators : [
"indicatorUse": ["LCZ"]
]
]
]
I'm not able to reproduce the error
It rocks also with the config file
[
"description" : "Example of configuration file to run the BDTopo workflow and store the results in a folder",
"geoclimatedb": [
"folder": dirFile.absolutePath,
"name" : "bdtopo_workflow_db;AUTO_SERVER=TRUE",
"delete": true
],
"input" : [
"folder" : input_data,
"locations": locations,
"srid" : 2154],
"output" : [
"folder": ["path": directory]],
"parameters" :
["distance" : 0,
rsu_indicators : [
"indicatorUse": ["LCZ", "UTRF", "URBAN_TYPOLOGY"]
],
"grid_indicators": [
"x_size" : 1000,
"y_size" : 1000,
"indicators" :["BUILDING_FRACTION", "BUILDING_HEIGHT", "BUILDING_POP",
"BUILDING_TYPE_FRACTION", "WATER_FRACTION", "VEGETATION_FRACTION",
"ROAD_FRACTION", "IMPERVIOUS_FRACTION", "FREE_EXTERNAL_FACADE_DENSITY",
"BUILDING_HEIGHT_WEIGHTED", "BUILDING_SURFACE_DENSITY",
"SEA_LAND_FRACTION", "ASPECT_RATIO", "SVF",
"HEIGHT_OF_ROUGHNESS_ELEMENTS", "TERRAIN_ROUGHNESS_CLASS",
"UTRF_AREA_FRACTION", "UTRF_FLOOR_AREA_FRACTION",
"LCZ_PRIMARY"]
]
]
]
@atoulou @simogeo A PR has been send to fix this issue #934
Hello, I'm sorry, but unfortunately this doesn't work for me.... In fact the tool works for the configuration file without the grid indicators part. The configuration file that works is :
{ "description" : "Example of configuration file to run the BDTopo workflow and store the results in a folder", "geoclimatedb": { "folder": "C:\Users\atoulou\Desktop\Geoclimate", "name" : "bdtopo_workflow_db;AUTO_SERVER=TRUE", "delete": true }, "input": { "folder":"C:\Users\atoulou\Desktop\Geoclimate\BDTOPO_3.0_69", "locations":["69123"], "srid":2154 }, "output" : { "folder": {"path": "C:\Users\atoulou\Desktop\Geoclimate\Resultats_BD_TOPO_bis"} }, "parameters" : {"distance" : 0, "rsu_indicators" : { "indicatorUse": ["LCZ", "UTRF", "URBAN_TYPOLOGY"] } } }
The configuration file that doesn't work is :
{ "description" : "Example of configuration file to run the BDTopo workflow and store the results in a folder", "geoclimatedb": { "folder": "C:\Users\atoulou\Desktop\Geoclimate", "name" : "bdtopo_workflow_db;AUTO_SERVER=TRUE", "delete": true }, "input": { "folder":"C:\Users\atoulou\Desktop\Geoclimate\BDTOPO_3.0_69", "locations":["69123"], "srid":2154 }, "output" : { "folder": {"path": "C:\Users\atoulou\Desktop\Geoclimate\Resultats_BD_TOPO"} }, "parameters" : {"distance" : 0, "rsu_indicators" : { "indicatorUse": ["LCZ", "UTRF", "URBAN_TYPOLOGY"] }, "grid_indicators": { "x_size" : 1000, "y_size" : 1000, "indicators" :["BUILDING_FRACTION", "BUILDING_HEIGHT", "BUILDING_POP", "BUILDING_TYPE_FRACTION", "WATER_FRACTION", "VEGETATION_FRACTION", "ROAD_FRACTION", "IMPERVIOUS_FRACTION", "FREE_EXTERNAL_FACADE_DENSITY", "BUILDING_HEIGHT_WEIGHTED", "BUILDING_SURFACE_DENSITY", "SEA_LAND_FRACTION", "ASPECT_RATIO", "SVF", "HEIGHT_OF_ROUGHNESS_ELEMENTS", "TERRAIN_ROUGHNESS_CLASS", "UTRF_AREA_FRACTION", "UTRF_FLOOR_AREA_FRACTION", "LCZ_PRIMARY"] } } }
For this one, I tested it with version 1.0.0 and with snapshot version 1.0.1 SNAPSHOT, as well as with BDTOPO 3.3 and BDTOPO3.0 and I still get the following error message (the same as before...):
org.h2.jdbc.JdbcSQLNonTransientException: Exception lors de l'appel de la fonction définie par l'utilisateur: "intersection(GEOMETRYCOLLECTION (POLYGON ((845892.0355932203 6515653.1, 845892.9 6515654.6, 845895.55 6515653.1, 845892.0355932203 6515653.1)), POINT (845903.8 6515653.1)), POLYGON ((845737.7 6514653.1, 846737.7 6514653.1, 846737.7 6515653.1, 845737.7 6515653.1, 845737.7 6514653.1))): Overlay input is mixed-dimension" Exception calling user-defined function: "intersection(GEOMETRYCOLLECTION (POLYGON ((845892.0355932203 6515653.1, 845892.9 6515654.6, 845895.55 6515653.1, 845892.0355932203 6515653.1)), POINT (845903.8 6515653.1)), POLYGON ((845737.7 6514653.1, 846737.7 6514653.1, 846737.7 6515653.1, 845737.7 6515653.1, 845737.7 6514653.1))): Overlay input is mixed-dimension"; SQL statement:
DROP TABLE IF EXISTS upper_table_join [90105-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:212)
at org.h2.message.DbException.convertInvocation(DbException.java:436)
at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:508)
at org.h2.schema.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:345)
at org.h2.expression.function.JavaFunction.getValue(JavaFunction.java:40)
at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:453)
at org.h2.schema.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:345)
at org.h2.expression.function.JavaFunction.getValue(JavaFunction.java:40)
at org.h2.expression.Alias.getValue(Alias.java:37)
at org.h2.command.query.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1851)
at org.h2.result.LazyResult.hasNext(LazyResult.java:78)
at org.h2.result.FetchedResult.next(FetchedResult.java:34)
at org.h2.command.query.Select.queryFlat(Select.java:728)
at org.h2.command.query.Select.queryWithoutCache(Select.java:833)
at org.h2.command.query.Query.queryWithoutCacheLazyCheck(Query.java:197)
at org.h2.command.query.Query.query(Query.java:520)
at org.h2.command.dml.Insert.insertRows(Insert.java:197)
at org.h2.command.dml.Insert.update(Insert.java:135)
at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:74)
at org.h2.command.ddl.CreateTable.insertAsData(CreateTable.java:199)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:157)
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:256)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231)
at org.h2gis.utilities.wrapper.StatementWrapper.execute(StatementWrapper.java:109)
at groovy.sql.Sql.execute(Sql.java:2368)
at org.orbisgis.data.jdbc.JdbcDataSource.execute(JdbcDataSource.java:474)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.geoindicators.GenericIndicators.upperScaleAreaStatistics(GenericIndicators.groovy:976)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.geoindicators.WorkflowGeoIndicators.rasterizeIndicators(WorkflowGeoIndicators.groovy:1841)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.computeGridIndicators(AbstractBDTopoWorkflow.groovy:844)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.bdtopo_processing(AbstractBDTopoWorkflow.groovy:741)
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:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:342)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
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:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
at groovy.lang.Closure.call(Closure.java:433)
at groovy.lang.Closure.call(Closure.java:422)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2389)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2374)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2427)
at org.codehaus.groovy.runtime.dgm$209.doMethodInvoke(Unknown Source)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.AbstractBDTopoWorkflow.execute(AbstractBDTopoWorkflow.groovy:231)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.bdtopo.BDTopo.v3(BDTopo.groovy:167)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.Geoclimate.call(Geoclimate.groovy:114)
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 org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at org.orbisgis.geoclimate.Geoclimate.main(Geoclimate.groovy:134)
Caused by: java.lang.IllegalArgumentException: Overlay input is mixed-dimension at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.addGeometryCollection(EdgeNodingBuilder.java:247) at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.add(EdgeNodingBuilder.java:229) at org.locationtech.jts.operation.overlayng.EdgeNodingBuilder.build(EdgeNodingBuilder.java:163) at org.locationtech.jts.operation.overlayng.OverlayNG.nodeEdges(OverlayNG.java:541) at org.locationtech.jts.operation.overlayng.OverlayNG.computeEdgeOverlay(OverlayNG.java:495) at org.locationtech.jts.operation.overlayng.OverlayNG.getResult(OverlayNG.java:483) at org.locationtech.jts.operation.overlayng.OverlayNG.overlay(OverlayNG.java:248) at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapTol(OverlayNGRobust.java:274) at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapping(OverlayNGRobust.java:214) at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlaySnapTries(OverlayNGRobust.java:186) at org.locationtech.jts.operation.overlayng.OverlayNGRobust.overlay(OverlayNGRobust.java:153) at org.h2gis.functions.spatial.operators.ST_Intersection.intersection(ST_Intersection.java:64) at jdk.internal.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.h2.schema.FunctionAlias$JavaMethod.execute(FunctionAlias.java:495) ... 77 more
What can I do ?
Thanks in advance for helping
Here is the json I have used with BDTopoV3 downloaded here.
{
"description": "Processing BDT data",
"input": {
"area" : 10000,
"srid": 2154,
"folder": "/tmp/BDTOPO_3-3_TOUSTHEMES_SHP_LAMB93_D069_2023-09-15/",
"locations": [
"69123"
]
},
"output": {
"folder": "/tmp"
},
"parameters": {
"rsu_indicators": {
"indicatorUse": [
"LCZ",
"TEB",
"UTRF"
],
"svfSimplified": true,
"estimateHeight": true
},
"grid_indicators": {
"x_size": 100,
"y_size": 100,
"rowCol": false,
"output" : "geojson",
"indicators" :["BUILDING_FRACTION", "BUILDING_HEIGHT", "BUILDING_POP",
"BUILDING_TYPE_FRACTION", "WATER_FRACTION", "VEGETATION_FRACTION",
"ROAD_FRACTION", "IMPERVIOUS_FRACTION",
"BUILDING_HEIGHT_WEIGHTED", "BUILDING_SURFACE_DENSITY", "ASPECT_RATIO", "SVF",
"HEIGHT_OF_ROUGHNESS_ELEMENTS", "TERRAIN_ROUGHNESS_CLASS",
"LCZ_PRIMARY"]
}
}
}
It worked super well !
@atoulou is this combination of config file, BDTopo data and GeoClimate version works for you ?
Unfortunately not yet ... however I downloaded the Topo BD again from the link you provided to make sure I was using the right one, and copied exactly the text file you provided changing only the folder path for input and output, but I still get the same error message (with version 1.00 and the snashot version too)... so if it worked perfectly for you I don't understand where the problem could be coming from...
Yes this is super strange. Are you sure you are running the right jar when running GeoClimate ?
I thought so but apparently not, I downloaded it again to be sure and now it works! I'm sorry for the inconvenience and thank you again for your help!
No worries. Good to hear that it is working now. Feel free to leave a message in our new discussion to better know our community of users: https://github.com/orbisgis/geoclimate/discussions/936
Thank you for your reply. I added the line "srid":2154 to my configuration file. It worked with some "communes" but not with all ... For example, it worked with the commune "69200", but with others, such as the commune "69123" it didn't work, I got the following message:
Exception lors de l'appel de la fonction définie par l'utilisateur: "intersection(GEOMETRYCOLLECTION (POLYGON ((842137.7 6515153.1, 842166.3999999997 6515153.1, 842165.6 6515152.3, 842167.1 6515150.7, 842163.9 6515148, 842165.2 6515146.6, 842162.5 6515144.2, 842164.8 6515141.6, 842166.9 6515139.3, 842168 6515138.1, 842159.4 6515130.3, 842158.3 6515131.5, 842156.2 6515133.9, 842156 6515133.8, 842151.8 6515138.5, 842150.9 6515137.6, 842147.1 6515134.3, 842137.7 6515125.857407407, 842137.7 6515153.1)), POINT (842137.7 6515123.1)), POLYGON ((842037.7 6515053.1, 842137.7 6515053.1, 842137.7 6515153.1, 842037.7 6515153.1, 842037.7 6515053.1))): Overlay input is mixed-dimension"; SQL statement: DROP TABLE IF EXISTS upper_table_join [90105-224]
How can I resolve this issue ?
Thanks again in advance,
Originally posted by @atoulou in https://github.com/orbisgis/geoclimate/discussions/931#discussioncomment-8367337