[raw]
dgm1_dir = "raw/geo_rlp/dgm1"
dop20_dir = "raw/geo_rlp/dop20/jp2"
citygml_lod1_dir = "raw/geo_rlp/citygml/lod1"
citygml_lod2_dir = "raw/geo_rlp/citygml/lod2"

[archives]
dgm1_dir = "archive/dgm1"
dop20_dir = "archive/dop20"
citygml_lod1_dir = "archive/citygml/lod1"
citygml_lod2_dir = "archive/citygml/lod2"

[work]
work_dir = "work"
heightmap_vrt = "work/dgm.vrt"
ortho_vrt = "work/dop.vrt"

[export]
heightmap_dir = "export_unity/height_png16"
ortho_dir = "export_unity/ortho_jpg"
manifest_path = "export_unity/tile_index.csv"

[heightmap]
out_res = 1025
resample = "bilinear"
tile_size_m = 1000

[river_erosion]
enabled = true
source_path = "raw/hydrorivers/hydrorivers_eu_shp/HydroRIVERS_v10_eu_shp/HydroRIVERS_v10_eu.shp"
source_layer = "HydroRIVERS_v10_eu"
output_dir = "export_unity/height_png16_vr"
manifest_vr = "export_unity/tile_index_river_vr.csv"

[river_erosion.lidar]
enabled = true
source_dir = "raw/geo_rlp/bdom20rgbi"
classification_water = 9
depth_m = 3.5
bank_slope_sigma = 2.0
fill_holes_radius = 3

[river_erosion.vr]
order_field = "ORD_STRA"
invert_order = false
invert_max_order = 10
min_order = 1
width_base_m = 8.0
width_per_order_m = 6.0
width_min_m = 4.0
width_max_m = 90.0
depth_base_m = 0.2
depth_per_order_m = 0.44
depth_min_m = 0.2
depth_max_m = 6.0
smooth_sigma_m = 3.0
fallback_depth_m = 2.0
flow_distance_field = "DIST_DN_KM"
flow_slope_m_per_km = 0.2

[tile_key]
tile_size_x = 1000.0
tile_size_y = 1000.0
overlap_x = 0.5
overlap_y = 0.5
enabled = true

[ortho]
out_res = 2048
jpeg_quality = 90
apply_water_mask = true
water_blend = 0.85
bridge_blend = 0.85
water_fallback_rgb = [92.0, 72.0, 52.0]
water_mask_threshold = 0.1
river_dir = "export_unity/ortho_jpg_river"
water_color_mode = "fixed"

[buildings]
out_dir = "export_unity/buildings_tiles"
work_cityjson_dir = "work/cityjson_lod2"
work_rebased_dir = "work/cityjson_lod2_local"
work_glb_dir = "work/buildings_glb_tmp"
triangle_budget_min = 200000
triangle_budget_max = 350000
roof_unlit = true

[trees]
csv_dir = "export_unity/trees"
glb_dir = "export_unity/trees_tiles"
proxy_library = "export_unity/tree_proxies.glb"
grid_res_m = 2.0
min_height_m = 2.0
max_trees = 5000
chunk_grid = 4
proxy_variants = 16
proxy_min_tris = 120
proxy_max_tris = 180
building_buffer_m = 1.5
instancing = false

[pointcloud]
lpg_dir = "raw/geo_rlp/lpg"
lpo_dir = "raw/geo_rlp/lpo"
lpolpg_dir = "raw/geo_rlp/lpolpg"
bdom_dir = "raw/geo_rlp/bdom20rgbi"
dom1_dir = "raw/geo_rlp/dom1"
chunk_size = 5000000
use_lpg_validation = true
use_lpo_refinement = true

[swe_lod]
enabled = true
out_dir = "export_swe"
tile_index_path = "export_swe/swe_tile_index.csv"
manifest_path = "export_swe/swe_manifest.json"
boundary_manifest_path = "export_swe/swe_boundaries.json"
boundary_inflow_mask_dir = "raw/water_source_masks"
source_area_mask_dir = "raw/water_source_area_masks"
source_mask_dir = "raw/water_source_masks"
sink_mask_dir = "raw/water_sink_masks"
boundary_inflow_params_toml = "raw/water_source_masks/sources.toml"
source_area_params_toml = "raw/water_source_masks/sources.toml"
source_params_toml = "raw/water_source_masks/sources.toml"
sink_params_toml = "raw/water_sink_masks/sinks.toml"
height_source = "river_erosion"
height_source_dir = ""
height_source_manifest = ""
origin_x = ""
origin_y = ""
height_resample = "bilinear"
height_nodata = ""
porosity_source = "work/swe_lpo/porosity.vrt"
porosity_resample = "average"
porosity_nodata = ""
solid_bias = 3.0
include_buildings = true
building_height_source = "work/swe_lpo/buildings.vrt"
building_resample = "average"
building_nodata = ""
prefer_float16 = true
lpo_dir = ""
lpo_base_res = 1025
lpo_density_threshold = 2
lpo_height_percentile = 95.0
lpo_min_height_m = 0.5

[[swe_lod.lods]]
name = "lod0"
tile_size_m = 1000.0
resolution = 128

[[swe_lod.lods]]
name = "lod1"
tile_size_m = 1000.0
resolution = 256

[[swe_lod.lods]]
name = "lod2"
tile_size_m = 500.0
resolution = 256

[[swe_lod.lods]]
name = "lod3"
tile_size_m = 250.0
resolution = 256

[[swe_lod.lods]]
name = "lod4"
tile_size_m = 125.0
resolution = 256
