Added logs for image converter
parent
6e0ac101d6
commit
5c3246f62c
|
@ -74,19 +74,24 @@ def layer(data, datamap, datatype, frag, meta=b""): # Add a layer
|
|||
|
||||
def generate(file_output, file_conf, heightmap, rivermap=None, landmap=None, landmap_legend=None, frag=80, scale=40):
|
||||
global table_size
|
||||
print("Generating database")
|
||||
|
||||
(Y, X) = heightmap.shape
|
||||
|
||||
data = io.BytesIO() # This allows faster concatenation
|
||||
|
||||
print("Adding heightmap")
|
||||
layer(data, heightmap, 0, frag)
|
||||
|
||||
if type(rivermap) is not type(None):
|
||||
print("Adding rivermap")
|
||||
layer(data, rivermap, 1, frag)
|
||||
|
||||
if type(landmap) is not type(None):
|
||||
print("Adding landcover")
|
||||
layer(data, landmap, 2, frag, meta=landmap_legend.encode())
|
||||
|
||||
print("Writing file")
|
||||
# Build file header
|
||||
header = b'GEOMG' + version + le(np.uint16(frag)) + le(np.uint16(X)) + le(np.uint16(Y)) + le(np.uint8(layer_count))
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ def read_map(mapname, interp=gdal.GRA_NearestNeighbour):
|
|||
print("Map", mapname, "does not exist.")
|
||||
return
|
||||
|
||||
print("Reading", mapname)
|
||||
if param_reproject:
|
||||
proj = mercator
|
||||
transform = merc_transform
|
||||
|
@ -108,5 +109,6 @@ def read_map(mapname, interp=gdal.GRA_NearestNeighbour):
|
|||
|
||||
map2 = drv.Create("", npx, npy, 1, map1.GetRasterBand(1).DataType)
|
||||
map2.SetGeoTransform(geotransform)
|
||||
print("Reprojecting", mapname)
|
||||
gdal.ReprojectImage(map1, map2, map1.GetProjection(), proj.ExportToWkt(), interp)
|
||||
return map2.ReadAsArray()
|
||||
|
|
13
rivers.py
13
rivers.py
|
@ -4,7 +4,8 @@ import numpy as np
|
|||
sys.setrecursionlimit(65536)
|
||||
|
||||
def generate_rivermap(heightmap, sea_level=128, river_limit=1000, max_river_hdiff=40, river_power=0.25):
|
||||
print("[rivers]: Finding start points")
|
||||
print("Generating rivermap")
|
||||
print("[rivers] Finding start points")
|
||||
|
||||
(Y, X) = heightmap.shape
|
||||
visited = np.zeros((Y,X), dtype=bool)
|
||||
|
@ -48,12 +49,12 @@ def generate_rivermap(heightmap, sea_level=128, river_limit=1000, max_river_hdif
|
|||
|
||||
del seas
|
||||
|
||||
print("Found", str(len(start_points)), "start points")
|
||||
print("[rivers] Found", str(len(start_points)), "start points")
|
||||
|
||||
heap = start_points[:]
|
||||
heapify(heap)
|
||||
|
||||
print("Building river trees:", str(to_explore), "points to visit")
|
||||
print("[rivers] Building river trees:", str(to_explore), "points to visit")
|
||||
|
||||
flow_dirs = np.zeros((Y, X), dtype=np.int8)
|
||||
|
||||
|
@ -88,12 +89,12 @@ def generate_rivermap(heightmap, sea_level=128, river_limit=1000, max_river_hdif
|
|||
t = heappop(heap)
|
||||
to_explore -= 1
|
||||
if to_explore % 1000000 == 0:
|
||||
print(str(to_explore // 1000000), "× 10⁶ points remaining", "Altitude:", int(t[0]), "Queue:", len(heap))
|
||||
print("[rivers]", str(to_explore // 1000000), "× 10⁶ points remaining", "Altitude:", int(t[0]), "Queue:", len(heap))
|
||||
process_neighbors(t[1], t[2])
|
||||
|
||||
visited = None
|
||||
|
||||
print("Calculating water quantity")
|
||||
print("[rivers] Calculating water quantity")
|
||||
|
||||
waterq = np.ones((Y, X))
|
||||
river_array = np.zeros((Y, X), dtype=bool)
|
||||
|
@ -140,7 +141,7 @@ def generate_rivermap(heightmap, sea_level=128, river_limit=1000, max_river_hdif
|
|||
if water > maxwater:
|
||||
maxwater = water
|
||||
|
||||
print("Maximal water quantity:", str(maxwater))
|
||||
print("[rivers] Maximal water quantity:", str(maxwater))
|
||||
|
||||
flow_dirs = None
|
||||
|
||||
|
|
Loading…
Reference in New Issue