mirror of
https://gitlab.com/gaelysam/mapgen_rivers.git
synced 2024-11-11 05:10:23 +01:00
44 lines
1.2 KiB
Python
Executable File
44 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import numpy as np
|
|
import zlib
|
|
import matplotlib.colors as mcol
|
|
import matplotlib.pyplot as plt
|
|
|
|
def view_map(dem, lakes, rivers):
|
|
plt.subplot(1,3,1)
|
|
plt.pcolormesh(dem, cmap='viridis')
|
|
plt.gca().set_aspect('equal', 'box')
|
|
plt.colorbar(orientation='horizontal')
|
|
plt.title('Raw elevation')
|
|
|
|
plt.subplot(1,3,2)
|
|
plt.pcolormesh(lakes, cmap='viridis')
|
|
plt.gca().set_aspect('equal', 'box')
|
|
plt.colorbar(orientation='horizontal')
|
|
plt.title('Lake surface elevation')
|
|
|
|
plt.subplot(1,3,3)
|
|
plt.pcolormesh(rivers, cmap='Blues', norm=mcol.LogNorm())
|
|
plt.gca().set_aspect('equal', 'box')
|
|
plt.colorbar(orientation='horizontal')
|
|
plt.title('Rivers flux')
|
|
|
|
plt.show()
|
|
|
|
if __name__ == "__main__":
|
|
def load_map(name, dtype, shape):
|
|
dtype = np.dtype(dtype)
|
|
with open(name, 'rb') as f:
|
|
data = f.read()
|
|
if len(data) < shape[0]*shape[1]*dtype.itemsize:
|
|
data = zlib.decompress(data)
|
|
return np.frombuffer(data, dtype=dtype).reshape(shape)
|
|
|
|
shape = np.loadtxt('size', dtype='u4')
|
|
dem = load_map('dem', '>i2', shape)
|
|
lakes = load_map('lakes', '>i2', shape)
|
|
rivers = load_map('rivers', '>u4', shape)
|
|
|
|
view_map(dem, lakes, rivers)
|