Skip to content

Commit 6c3143c

Browse files
authoredSep 28, 2022
Merge pull request #769 from ebocher/fix_wk_input
OSM workflow restructuring
2 parents 640f224 + 5acfbce commit 6c3143c

File tree

21 files changed

+943
-1172
lines changed

21 files changed

+943
-1172
lines changed
 

‎bdtopo_v2/src/main/groovy/org/orbisgis/geoclimate/bdtopo_v2/BDTopo_V2.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.orbisgis.geoclimate.bdtopo_v2
22

33
import org.locationtech.jts.geom.Envelope
44
import org.locationtech.jts.geom.Geometry
5+
import org.orbisgis.geoclimate.geoindicators.WorkflowUtilities
56
import org.orbisgis.process.GroovyProcessFactory
67
import org.slf4j.LoggerFactory
78

@@ -18,7 +19,6 @@ abstract class BDTopo_V2 extends GroovyProcessFactory {
1819
public static InputDataLoading = new InputDataLoading()
1920
public static InputDataFormatting = new InputDataFormatting()
2021

21-
2222
static def uuid = { UUID.randomUUID().toString().replaceAll("-", "_") }
2323

2424
static def getUuid() { UUID.randomUUID().toString().replaceAll("-", "_") }

‎bdtopo_v2/src/main/groovy/org/orbisgis/geoclimate/bdtopo_v2/InputDataFormatting.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ IProcess formatRailsLayer() {
464464
inputSpatialTable.the_geom.createSpatialIndex()
465465
queryMapper += ", CASE WHEN st_overlaps(a.the_geom, b.the_geom) " +
466466
"THEN st_force2D(st_makevalid(st_intersection(a.the_geom, b.the_geom))) " +
467-
"ELSE st_makevalid(a.the_geom) " +
467+
"ELSE a.the_geom " +
468468
"END AS the_geom " +
469469
"FROM " +
470470
"$inputTableName AS a, $inputZoneEnvelopeTableName AS b " +

‎bdtopo_v2/src/main/groovy/org/orbisgis/geoclimate/bdtopo_v2/WorkflowBDTopo_V2.groovy

+105-204
Large diffs are not rendered by default.

‎bdtopo_v2/src/test/groovy/org/orbisgis/geoclimate/bdtopo_v2/WorkflowBDTopo_V2Test.groovy

+18-14
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
267267
"block_indicators":"block_indicators",
268268
"rsu_indicators":"rsu_indicators",
269269
"rsu_lcz":"rsu_lcz",
270-
"zones":"zones" ]]],
270+
"zone":"zone" ]]],
271271
"parameters":
272272
["distance" : 0,
273273
"hLevMin": 3,
@@ -316,7 +316,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
316316
"block_indicators":"block_indicators",
317317
"rsu_indicators":"rsu_indicators",
318318
"rsu_lcz":"rsu_lcz",
319-
"zones":"zones" ]]],
319+
"zone":"zone" ]]],
320320
"parameters":
321321
["distance" : 0,
322322
"hLevMin": 3,
@@ -388,7 +388,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
388388
"block_indicators":"block_indicators",
389389
"rsu_indicators":"rsu_indicators",
390390
"rsu_lcz":"rsu_lcz",
391-
"zones":"zones", "grid_indicators":"grid_indicators" ]
391+
"zone":"zone", "grid_indicators":"grid_indicators" ]
392392
//Drop all output tables if exist
393393
postGIS.execute("DROP TABLE IF EXISTS ${outputTables.values().join(",")};");
394394
String directory ="./target/bdtopo_workflow_postgis"
@@ -445,7 +445,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
445445
"block_indicators":"block_indicators",
446446
"rsu_indicators":"rsu_indicators",
447447
"rsu_lcz":"rsu_lcz",
448-
"zones":"zones", "grid_indicators":"grid_indicators" ]
448+
"zone":"zone", "grid_indicators":"grid_indicators" ]
449449
//Drop all output tables if exist
450450
postGIS.execute("DROP TABLE IF EXISTS ${outputTables.values().join(",")};".toString());
451451
String directory ="./target/bdtopo_workflow_postgis_bbox"
@@ -472,8 +472,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
472472
"parameters":
473473
["distance" : 0,
474474
rsu_indicators: [
475-
"indicatorUse": ["LCZ", "UTRF"],
476-
"svfSimplified": true
475+
"indicatorUse": ["LCZ", "UTRF"]
477476
],
478477
"grid_indicators": [
479478
"x_size": 10,
@@ -528,8 +527,9 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
528527
]
529528
IProcess process = BDTopo_V2.WorkflowBDTopo_V2.workflow()
530529
assertTrue(process.execute(input: createConfigFile(bdTopoParameters, directory)))
530+
def tableNames =process.results.output.values()
531531
H2GIS h2gis = H2GIS.open("${directory+File.separator}geoclimate_chain_db;AUTO_SERVER=TRUE")
532-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where water_fraction>0").count>0
532+
assertTrue h2gis.firstRow("select count(*) as count from ${tableNames.grid_indicators[0]} where water_fraction>0").count>0
533533
}
534534

535535
@Test
@@ -572,11 +572,13 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
572572
]
573573
IProcess process = BDTopo_V2.WorkflowBDTopo_V2.workflow()
574574
assertTrue(process.execute(input: createConfigFile(bdTopoParameters, directory)))
575+
def tableNames =process.results.output.values();
576+
def grid_table =tableNames.grid_indicators[0]
575577
H2GIS h2gis = H2GIS.open("${directory+File.separator}geoclimate_chain_db;AUTO_SERVER=TRUE")
576-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators".toString()).count==100
577-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where WATER_FRACTION>0".toString()).count==0
578-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where HIGH_VEGETATION_FRACTION>0".toString()).count>0
579-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where LOW_VEGETATION_FRACTION>0".toString()).count==0
578+
assertTrue h2gis.firstRow("select count(*) as count from $grid_table".toString()).count==100
579+
assertTrue h2gis.firstRow("select count(*) as count from $grid_table where WATER_FRACTION>0".toString()).count==0
580+
assertTrue h2gis.firstRow("select count(*) as count from $grid_table where HIGH_VEGETATION_FRACTION>0".toString()).count>0
581+
assertTrue h2gis.firstRow("select count(*) as count from $grid_table where LOW_VEGETATION_FRACTION>0".toString()).count==0
580582
}
581583

582584
@Test
@@ -610,8 +612,9 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
610612
]
611613
IProcess process = BDTopo_V2.WorkflowBDTopo_V2.workflow()
612614
assertTrue(process.execute(input: createConfigFile(bdTopoParameters, directory)))
615+
def tableNames =process.results.output.values();
613616
H2GIS h2gis = H2GIS.open("${directory+File.separator}geoclimate_chain_db;AUTO_SERVER=TRUE")
614-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where water_fraction>0").count>0
617+
assertTrue h2gis.firstRow("select count(*) as count from ${tableNames.grid_indicators[0]} where water_fraction>0").count>0
615618
}
616619

617620
@Test
@@ -645,8 +648,9 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
645648
]
646649
IProcess process = BDTopo_V2.WorkflowBDTopo_V2.workflow()
647650
assertTrue(process.execute(input: createConfigFile(bdTopoParameters, directory)))
651+
def tableNames =process.results.output.values();
648652
H2GIS h2gis = H2GIS.open("${directory+File.separator}geoclimate_chain_db;AUTO_SERVER=TRUE")
649-
assertTrue h2gis.firstRow("select count(*) as count from grid_indicators where LCZ_PRIMARY is not null").count>0
653+
assertTrue h2gis.firstRow("select count(*) as count from ${tableNames.grid_indicators[0]} where LCZ_PRIMARY is not null").count>0
650654
}
651655

652656
@Test
@@ -781,7 +785,7 @@ class WorkflowBDTopo_V2Test extends WorkflowAbstractTest{
781785
"block_indicators":"block_indicators_2154",
782786
"rsu_indicators":"rsu_indicators_2154",
783787
"rsu_lcz":"rsu_lcz_2154",
784-
"zones":"zones_2154",
788+
"zone":"zone_2154",
785789
"building_utrf":"building_utrf_2154",
786790
"rsu_utrf_area":"rsu_utrf_area_2154",
787791
"rsu_utrf_floor_area":"rsu_utrf_floor_area_2154",

‎bdtopo_v2/src/test/resources/org/orbisgis/geoclimate/bdtopo_v2/config/bdtopo_workflow_dbinput_dboutput.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"delete" :true
77
},
88
"input" : {"bdtopo_v2": {
9+
"loactions": "Redon",
910
"database": {
1011
"user": "-",
1112
"password": "-",
1213
"url": "jdbc:postgresql://-",
13-
"id_zones":["id zone here"],
1414
"tables": {"commune":"ign_bdtopo_2017.commune",
1515
"bati_indifferencie":"ign_bdtopo_2017.bati_indifferencie",
1616
"bati_industriel":"ign_bdtopo_2017.bati_industriel",
@@ -35,7 +35,7 @@
3535
"block_indicators":"block_indicators_2154",
3636
"rsu_indicators":"rsu_indicators_2154",
3737
"rsu_lcz":"rsu_lcz_2154",
38-
"zones":"zones_2154"}
38+
"zone":"zones_2154"}
3939
}
4040
},
4141
"parameters":

‎bdtopo_v2/src/test/resources/org/orbisgis/geoclimate/bdtopo_v2/config/bdtopo_workflow_folderinput_dboutput.json

+4-5
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
"name": "geoclimate_db;AUTO_SERVER=TRUE",
77
"delete" :true
88
},
9-
"input" : {"locations":{
10-
"folder": {"path" :"/tmp/...",
11-
"id_zones":["id zone here"]}
12-
}},
9+
"input" : {"locations": "Redon",
10+
"folder": "/tmp/..."
11+
},
1312
"output" : {
1413
"database": {
1514
"user": "-",
@@ -19,7 +18,7 @@
1918
"block_indicators":"block_indicators",
2019
"rsu_indicators":"rsu_indicators",
2120
"rsu_lcz":"rsu_lcz",
22-
"zones":"zones"}
21+
"zone":"zone"}
2322
}
2423
},
2524
"parameters":

‎bdtopo_v2/src/test/resources/org/orbisgis/geoclimate/bdtopo_v2/config/bdtopo_workflow_folderinput_id_zones_folderoutput_tablenames.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@
55
"name": "geoclimate_db;AUTO_SERVER=TRUE",
66
"delete" :true
77
},
8-
"input" :{"locations": {
9-
"folder": {"path" :"/tmp/...",
10-
"id_zones":["id zone here"]}}
8+
"input" :{"locations": "Redon",
9+
"folder":"/tmp/..."
1110
},
1211
"output" :{
1312
"folder" : {"path": "/tmp/...",
1413
"tables": ["building_indicators",
1514
"block_indicators",
1615
"rsu_indicators",
1716
"rsu_lcz",
18-
"zones",
17+
"zone",
1918
"building",
2019
"road",
2120
"rail" ,

‎geoindicators/src/main/groovy/org/orbisgis/geoclimate/Geoindicators.groovy

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.orbisgis.geoclimate.geoindicators.RsuIndicators
1111
import org.orbisgis.geoclimate.geoindicators.SpatialUnits
1212
import org.orbisgis.geoclimate.geoindicators.TypologyClassification
1313
import org.orbisgis.geoclimate.geoindicators.WorkflowGeoIndicators
14+
import org.orbisgis.geoclimate.geoindicators.WorkflowUtilities
1415
import org.orbisgis.process.GroovyProcessFactory
1516
import org.slf4j.LoggerFactory
1617

@@ -29,6 +30,8 @@ abstract class Geoindicators extends GroovyProcessFactory {
2930
public static PopulationIndicators= new PopulationIndicators()
3031
public static GridIndicators= new GridIndicators()
3132

33+
public static WorkflowUtilities= new WorkflowUtilities()
34+
3235
//Cache the XStream models
3336
public static Map cacheModels =[:]
3437

‎geoindicators/src/main/groovy/org/orbisgis/geoclimate/geoindicators/WorkflowGeoIndicators.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -1863,7 +1863,7 @@ IProcess rasterizeIndicators() {
18631863
def seaLandFractionTab = postfix "SEA_LAND_FRACTION"
18641864

18651865
def seaLandTypeField = "TYPE"
1866-
def grid_indicators_table = "grid_indicators"
1866+
def grid_indicators_table = postfix "grid_indicators"
18671867
def grid_column_identifier = "id_grid"
18681868
def indicatorTablesToJoin = [:]
18691869
indicatorTablesToJoin.put(grid, grid_column_identifier)

0 commit comments

Comments
 (0)
Please sign in to comment.