var get_elevation = func {
#Set via setup.py
setprop("/osm2city/tiles", 0);
var in = "/home/govert/FG-install/data/Nasal/elev.in";
var out = /home/govert/.fgfs/Export";
print( "Checking if tile is loaded");
var lat = getprop("/position/latitude-deg");
var lon = getprop("/position/longitude-deg");
# var info = geodinfo(lat, lon);
print( "Position " ~ getprop("/position/latitude-deg") ~ " " ~ getprop("/position/longitude-deg") );
# if (info != nil) {
# print("the terrain under the aircraft is at elevation ", info[0], " m");
# if (info[1] != nil)
# print("and it is ", info[1].solid ? "solid ground" : "covered by water");
# }
# else {
# print( "Info is nil! Tile not loaded." );
# }
print( "Reading File " ~ in);
var raw_str = io.readfile(in);
var delimitter = "\r\n";
var line = 0;
print( "Splitting File " ~ in);
if (-1 == find(delimitter, raw_str)) delimitter = "\n";
var raw_list = split(delimitter, raw_str);
raw_str = nil;
var allLines = size(raw_list);
print("Read " ~ allLines ~ " records");
var file_out = io.open(out ~ "elev.out", "w");
var header = subvec(raw_list, 0, 1);
print("Writing " ~ allLines ~ " records");
var record = 0;
foreach(var l; raw_list) {
line = line + 1;
var l_list = split(" ", l);
setprop("/osm2city/record", record);
record = record + 1;
if (size(l_list) == 4) {
var terrain_elev = geo.elevation(l_list[1], l_list[0]);
var elev_str = sprintf("%.3f", (terrain_elev));
# print( l_list[0] ~" "~ l_list[1] ~" "~ l_list[2] ~" "~ l_list[3] ~" "~ elev_str);
io.write(file_out, l_list[0] ~" "~ l_list[1] ~" "~ l_list[2] ~" "~ l_list[3] ~" "~ elev_str ~"\n");
} else {
io.write(file_out, l ~"\n");
}
}
# io.write(file_out, "-- END -- ");
io.close(file_out);
print("Wrote " ~ allLines ~ " records");
raw_list = nil;
setprop("/osm2city/tiles", 1);
print("Signalled Success");
}
var get_threaded = func {
thread.newthread(get_elevation);
}
# Make accessible from Telnet
addcommand("get-elevation", get_threaded);
# List of parameters for osm2city
# -- Scenery folder (typically a geographic name or the ICAO code of the airport
PREFIX = LOWI
# -- Boundary of the scenery in degrees (use "." not ","). The example below is from LSZR.
BOUNDARY_WEST = 3.83354
BOUNDARY_SOUTH = 51.71703
BOUNDARY_EAST = 3.93414
BOUNDARY_NORTH = 51.74638
# -- Distance between raster points for the derived elevation map (x is horizontal, y is vertical)
ELEV_RASTER_X = 10
ELEV_RASTER_Y = 10
# -- Full path to the scenery folder without trailing slash. There must be
# an OBJECTS/ folder below PATH_TO_SCENERY
PATH_TO_SCENERY = /home/govert/.fgfs/TerraSync/
NO_ELEV = False # -- skip elevation interpolation
ELEV_MODE = Fgelev # uses manual process with copy elev.in and elev.out through Nasal. Otherwise experimental direct FG invocation
FG_ELEV = /home/govert/FG-install/bin/fgelev
# -- check for overlap with static models. The scenery folder must contain an "Objects" folder
OVERLAP_CHECK = False
OVERLAP_RADIUS = 5
TILE_SIZE = 1000 # -- tile size in meters for clustering of buildings
OSM_FILE = buildings.osm # -- file name of the file with OSM data. Must reside in $PREFIX
MAX_OBJECTS = 50000 # -- maximum number of buildings to read from OSM data
CONCURRENCY = 1 # -- number of parallel OSM parsing threads
USE_PKL = False # -- instead of parsing the OSM file, read a previously created cache file $PREFIX/buildings.pkl
# -- skip reading named buildings from OSM (in case there's already a static model for these, and the overlap check fails)
SKIP_LIST = ["Dresden Hauptbahnhof", "Semperoper", "Zwinger", "Hofkirche",
"Frauenkirche", "Coselpalais", "Palais im Großen Garten",
"Residenzschloss Dresden", "Fernsehturm", "Fernsehturm Dresden"]
# -- Parameters which influence the number of buildings from OSM taken to output
BUILDING_MIN_HEIGHT = 3.4 # -- minimum height of a building to be included in output (does not include roof)
BUILDING_MIN_AREA = 50.0 # -- minimum area for a building to be included in output
BUILDING_REDUCE_THRESHOLD = 200.0 # -- threshold area of a building below which a rate of buildings gets reduced from output
BUILDING_REDUCE_RATE = 0.5 # -- rate (between 0 and 1) of buildings below a threshold which get reduced randomly in output
BUILDING_REDUCE_CHECK_TOUCH = False # -- before removing a building due to area, check whether it is touching another building and therefore should be kept
BUILDING_SIMPLIFY_TOLERANCE = 1.0 # -- all points in the simplified building will be within the tolerance distance of the original geometry.
# -- Parameters which influence the height of buildings if no info from OSM is available.
# It uses a triangular distribution (see http://en.wikipedia.org/wiki/Triangular_distribution)
BUILDING_CITY_LEVELS_LOW = 2.0
BUILDING_CITY_LEVELS_MODE = 3.5
BUILDING_CITY_LEVELS_HEIGH = 5.0
BUILDING_CITY_LEVEL_HEIGHT_LOW = 3.1
BUILDING_CITY_LEVEL_HEIGHT_MODE = 3.3
BUILDING_CITY_LEVEL_HEIGHT_HEIGH = 3.6
# FIXME: same parameters for place = town, village, suburb
# -- the more buildings end up in LOD rough or bare, the more work for your GPU.
# Increasing any of the following parameters will decrease GPU load.
LOD_ALWAYS_DETAIL_BELOW_AREA = 150 # -- below this area, buildings will always be LOD detail
LOD_ALWAYS_ROUGH_ABOVE_AREA = 500 # -- above this area, buildings will always be LOD rough
LOD_ALWAYS_ROUGH_ABOVE_LEVELS = 6 # -- above this number of levels, buildings will always be LOD rough
LOD_ALWAYS_BARE_ABOVE_LEVELS = 10 # -- really tall buildings will be LOD bare
LOD_ALWAYS_DETAIL_BELOW_LEVELS = 3 # -- below this number of levels, buildings will always be LOD detail
LOD_PERCENTAGE_DETAIL = 0.5 # -- of the remaining buildings, this percentage will be LOD detail,
# the rest will be LOD rough.
OBSTRUCTION_LIGHT_MIN_LEVELS = 15 # -- put obstruction lights on buildings with >= given levels
EXPERIMENTAL_USE_SKEL = 1 # -- use experimental skel based roofs for non square buildings
Reading parameters from file: LOWI/params.ini
--- Using the following parameters: ---
BOUNDARY_EAST = 3.93414
BOUNDARY_NORTH = 51.74638
BOUNDARY_SOUTH = 51.71703
BOUNDARY_WEST = 3.83354
BUILDING_CITY_LEVELS_HEIGH = 5.0
BUILDING_CITY_LEVELS_LOW = 2.0
BUILDING_CITY_LEVELS_MODE = 3.5
BUILDING_CITY_LEVEL_HEIGHT_HEIGH = 3.6
BUILDING_CITY_LEVEL_HEIGHT_LOW = 3.1
BUILDING_CITY_LEVEL_HEIGHT_MODE = 3.3
BUILDING_COMPLEX_ROOFS = 1
BUILDING_COMPLEX_ROOFS_MAX_AREA = 2000
BUILDING_COMPLEX_ROOFS_MAX_LEVELS = 5
BUILDING_MIN_AREA = 50.0
BUILDING_MIN_HEIGHT = 3.4
BUILDING_NEVER_SKIP_LEVELS = 6
BUILDING_REDUCE_CHECK_TOUCH = False
BUILDING_REDUCE_RATE = 0.5
BUILDING_REDUCE_THRESHOLD = 200.0
BUILDING_SIMPLIFY_TOLERANCE = 1.0
C2P_CABLES_NO_SHADOW = True
C2P_CATENARY_A_AERIALWAY_CABLE_CAR = 1500
C2P_CATENARY_A_AERIALWAY_CHAIR_LIFT = 1500
C2P_CATENARY_A_AERIALWAY_DRAG_LIFT = 1500
C2P_CATENARY_A_AERIALWAY_GONDOLA = 1500
C2P_CATENARY_A_AERIALWAY_GOODS = 1500
C2P_CATENARY_A_OVERHEAD_LINE = 600
C2P_CATENARY_A_POWER_LINE = 1500
C2P_CATENARY_A_POWER_MINOR_LINE = 1200
C2P_CATENARY_MIN_DISTANCE = 30
C2P_CLUSTER_AERIALWAY_MAX_LENGTH = 300
C2P_CLUSTER_OVERHEAD_LINE_MAX_LENGTH = 130
C2P_CLUSTER_POWER_LINE_MAX_LENGTH = 300
C2P_EXTRA_VERTICES_AERIALWAY_CABLE_CAR = 5
C2P_EXTRA_VERTICES_AERIALWAY_CHAIR_LIFT = 3
C2P_EXTRA_VERTICES_AERIALWAY_DRAG_LIFT = 0
C2P_EXTRA_VERTICES_AERIALWAY_GONDOLA = 3
C2P_EXTRA_VERTICES_AERIALWAY_GOODS = 5
C2P_EXTRA_VERTICES_OVERHEAD_LINE = 2
C2P_EXTRA_VERTICES_POWER_LINE = 3
C2P_EXTRA_VERTICES_POWER_MINOR_LINE = 3
C2P_POWER_LINE_ALLOW_100M = False
C2P_PROCESS_AERIALWAYS = True
C2P_PROCESS_OVERHEAD_LINES = True
C2P_PROCESS_POWERLINES = True
C2P_PROCESS_STREETLAMPS = True
C2P_RADIUS_AERIALWAY_CABLE_CAR = 0.05
C2P_RADIUS_AERIALWAY_CHAIR_LIFT = 0.05
C2P_RADIUS_AERIALWAY_DRAG_LIFT = 0.03
C2P_RADIUS_AERIALWAY_GONDOLA = 0.05
C2P_RADIUS_AERIALWAY_GOODS = 0.03
C2P_RADIUS_OVERHEAD_LINE = 0.02
C2P_RADIUS_POWER_LINE = 0.1
C2P_RADIUS_POWER_MINOR_LINE = 0.05
C2P_RADIUS_TOP_LINE = 0.02
CLUSTER_MIN_OBJECTS = 5
CONCURRENCY = 1
ELEV_MODE = Fgelev
ELEV_RASTER_X = 10
ELEV_RASTER_Y = 10
EXPERIMENTAL_INNER = 0
EXPERIMENTAL_USE_SKEL = 1
FG_ELEV = /home/govert/FG-install/bin/fgelev
IGNORE_PKL_OVERWRITE = True
LIGHTMAP_ENABLE = 0
LOD_ALWAYS_BARE_ABOVE_LEVELS = 10
LOD_ALWAYS_DETAIL_BELOW_AREA = 150
LOD_ALWAYS_DETAIL_BELOW_LEVELS = 3
LOD_ALWAYS_ROUGH_ABOVE_AREA = 500
LOD_ALWAYS_ROUGH_ABOVE_LEVELS = 6
LOD_PERCENTAGE_DETAIL = 0.5
MAX_OBJECTS = 50000
NO_ELEV = False
OBSTRUCTION_LIGHT_MIN_LEVELS = 15
OSM_FILE = buildings.osm
OVERLAP_CHECK = False
OVERLAP_RADIUS = 5
PATH_TO_OUTPUT =
PATH_TO_SCENERY = /home/govert/.fgfs/TerraSync/
PREFIX = LOWI
SKEL_MAX_HEIGHT_RATIO = 0.7
SKEL_MAX_NODES = 10
SKIP_LIST = ["Dresden Hauptbahnhof, Semperoper, Zwinger, Hofkirche, Frauenkirche, Coselpalais, Palais im Großen Garten, Residenzschloss Dresden, Fernsehturm, Fernsehturm Dresden"]
TILE_SIZE = 1000
TRAFFIC_SHADER_ENABLE = False
USE_PKL = False
vec2d = <class 'vec2d.vec2d'>
------
textures: init
tools: init <tools.Stats object at 0x7f0f45a72b90>
dx, dy 0.0 0.0
cluster: 13.0000000 9.0000000
delta: 12499.9292087 8380.2504124
min: -4406.4215837 -2790.8355199
max: 8093.5076250 5589.4148924
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
-9999
clusters 13.0000000 9.0000000
total buildings 4366
parse errors 0
written 0
skipped
small 0
nearby 0
no elevation 4366
no texture 0
roof-types
complex 0
roof_errors 0
ground nodes 23264
simplified 3272
vertices 0
surfaces 0
repeated tex x 0 out of 0 ( 0 %)
LOD bare 0 ( 0 %)
LOD rough 0 ( 0 %)
LOD detail 0 ( 0 %)
above
1 m^2 0 |
10 m^2 0 |
20 m^2 0 |
50 m^2 0 |
100 m^2 0 |
200 m^2 0 |
500 m^2 0 |
1000 m^2 0 |
2000 m^2 0 |
5000 m^2 0 |
10000 m^2 0 |
20000 m^2 0 |
50000 m^2 0 |
# -3036.01 -2565.07 6072.02 5130.15 10 10
5.03860000 51.53331000 -3036.01 -2565.07 -0.406
5.03874419 51.53331000 -3026.01 -2565.07 -0.405
5.03888837 51.53331000 -3016.01 -2565.07 -0.404
5.03903256 51.53331000 -3006.01 -2565.07 -0.404
5.03917674 51.53331000 -2996.01 -2565.07 -0.401
5.03932093 51.53331000 -2986.01 -2565.07 -0.402
5.03946512 51.53331000 -2976.01 -2565.07 -0.4
5.03960930 51.53331000 -2966.01 -2565.07 -0.4
5.03975349 51.53331000 -2956.01 -2565.07 -0.4
INFO:root:Skipping non-existing texture tex.src/castle.jpg
INFO:root:Saving tex/atlas_facades.pkl
INFO:root:<tex.src/DSCF9495_pow2.png> x0,1 0.00 1.00 y0,1 0.94 1.00 sh,v 14.00m 19.40m
<tex.src/LZ_old_bright_bc2.png> x0,1 0.00 1.00 y0,1 0.88 0.94 sh,v 17.90m 14.80m
<tex.src/facade_modern_21x42m.jpg> x0,1 0.00 1.00 y0,1 0.75 0.88 sh,v 43.00m 88.00m
<tex.src/facade_modern_black_46x60m.jpg> x0,1 0.00 1.00 y0,1 0.67 0.75 sh,v 45.90m 60.50m
<tex.src/facade_industrial_white_26x14m.jpg> x0,1 0.00 1.00 y0,1 0.63 0.67 sh,v 25.70m 13.50m
<tex.src/facade_modern_commercial_35x20m.jpg> x0,1 0.00 1.00 y0,1 0.60 0.63 sh,v 34.60m 20.40m
<tex.src/facade_modern36x36_12.png> x0,1 0.00 1.00 y0,1 0.53 0.60 sh,v 36.00m 36.00m
<tex.src/DSCF9503_noroofsec_pow2.png> x0,1 0.00 1.00 y0,1 0.47 0.53 sh,v 12.85m 17.66m
<tex.src/DSCF9710.png> x0,1 0.00 1.00 y0,1 0.44 0.47 sh,v 29.90m 19.80m
<tex.src/DSCF9678_pow2.png> x0,1 0.00 1.00 y0,1 0.38 0.44 sh,v 10.40m 15.50m
<tex.src/DSCF9726_noroofsec_pow2.png> x0,1 0.00 1.00 y0,1 0.35 0.38 sh,v 15.10m 9.60m
<tex.src/wohnheime_petersburger.png> x0,1 0.00 1.00 y0,1 0.28 0.35 sh,v 15.60m 15.60m
INFO:root:reading elevation data
INFO:root:Reading the OSM file might take some time ...
./osm2city.py:281: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
if name in parameters.SKIP_LIST:
INFO:root:min/max 3.6768609 51.6627056 4.1554606 51.8581250
INFO:root:parsed 5970 buildings.
Reading parameters from file: LOWI/params.ini
--- Using the following parameters: ---
BOUNDARY_EAST = 4.01138
BOUNDARY_NORTH = 51.77251
BOUNDARY_SOUTH = 51.70916
BOUNDARY_WEST = 3.82599
BUILDING_CITY_LEVELS_HEIGH = 5.0
BUILDING_CITY_LEVELS_LOW = 2.0
BUILDING_CITY_LEVELS_MODE = 3.5
BUILDING_CITY_LEVEL_HEIGHT_HEIGH = 3.6
BUILDING_CITY_LEVEL_HEIGHT_LOW = 3.1
BUILDING_CITY_LEVEL_HEIGHT_MODE = 3.3
BUILDING_COMPLEX_ROOFS = 1
BUILDING_COMPLEX_ROOFS_MAX_AREA = 2000
BUILDING_COMPLEX_ROOFS_MAX_LEVELS = 5
BUILDING_MIN_AREA = 50.0
BUILDING_MIN_HEIGHT = 3.4
BUILDING_NEVER_SKIP_LEVELS = 6
BUILDING_REDUCE_CHECK_TOUCH = False
BUILDING_REDUCE_RATE = 0.5
BUILDING_REDUCE_THRESHOLD = 200.0
BUILDING_SIMPLIFY_TOLERANCE = 1.0
C2P_CABLES_NO_SHADOW = True
C2P_CATENARY_A_AERIALWAY_CABLE_CAR = 1500
C2P_CATENARY_A_AERIALWAY_CHAIR_LIFT = 1500
C2P_CATENARY_A_AERIALWAY_DRAG_LIFT = 1500
C2P_CATENARY_A_AERIALWAY_GONDOLA = 1500
C2P_CATENARY_A_AERIALWAY_GOODS = 1500
C2P_CATENARY_A_OVERHEAD_LINE = 600
C2P_CATENARY_A_POWER_LINE = 1500
C2P_CATENARY_A_POWER_MINOR_LINE = 1200
C2P_CATENARY_MIN_DISTANCE = 30
C2P_CLUSTER_AERIALWAY_MAX_LENGTH = 300
C2P_CLUSTER_OVERHEAD_LINE_MAX_LENGTH = 130
C2P_CLUSTER_POWER_LINE_MAX_LENGTH = 300
C2P_EXTRA_VERTICES_AERIALWAY_CABLE_CAR = 5
C2P_EXTRA_VERTICES_AERIALWAY_CHAIR_LIFT = 3
C2P_EXTRA_VERTICES_AERIALWAY_DRAG_LIFT = 0
C2P_EXTRA_VERTICES_AERIALWAY_GONDOLA = 3
C2P_EXTRA_VERTICES_AERIALWAY_GOODS = 5
C2P_EXTRA_VERTICES_OVERHEAD_LINE = 2
C2P_EXTRA_VERTICES_POWER_LINE = 3
C2P_EXTRA_VERTICES_POWER_MINOR_LINE = 3
C2P_POWER_LINE_ALLOW_100M = False
C2P_PROCESS_AERIALWAYS = True
C2P_PROCESS_OVERHEAD_LINES = True
C2P_PROCESS_POWERLINES = True
C2P_PROCESS_STREETLAMPS = True
C2P_RADIUS_AERIALWAY_CABLE_CAR = 0.05
C2P_RADIUS_AERIALWAY_CHAIR_LIFT = 0.05
C2P_RADIUS_AERIALWAY_DRAG_LIFT = 0.03
C2P_RADIUS_AERIALWAY_GONDOLA = 0.05
C2P_RADIUS_AERIALWAY_GOODS = 0.03
C2P_RADIUS_OVERHEAD_LINE = 0.02
C2P_RADIUS_POWER_LINE = 0.1
C2P_RADIUS_POWER_MINOR_LINE = 0.05
C2P_RADIUS_TOP_LINE = 0.02
CLUSTER_MIN_OBJECTS = 5
CONCURRENCY = 1
ELEV_MODE = Fgelev
ELEV_RASTER_X = 10
ELEV_RASTER_Y = 10
EXPERIMENTAL_INNER = 0
EXPERIMENTAL_USE_SKEL = 1
FG_ELEV = /home/govert/FG-install/bin/fgelev
IGNORE_PKL_OVERWRITE = True
LIGHTMAP_ENABLE = 0
LOD_ALWAYS_BARE_ABOVE_LEVELS = 10
LOD_ALWAYS_DETAIL_BELOW_AREA = 150
LOD_ALWAYS_DETAIL_BELOW_LEVELS = 3
LOD_ALWAYS_ROUGH_ABOVE_AREA = 500
LOD_ALWAYS_ROUGH_ABOVE_LEVELS = 6
LOD_PERCENTAGE_DETAIL = 0.5
MAX_OBJECTS = 50000
NO_ELEV = False
OBSTRUCTION_LIGHT_MIN_LEVELS = 15
OSM_FILE = buildings.osm
OVERLAP_CHECK = False
OVERLAP_RADIUS = 5
PATH_TO_OUTPUT =
PATH_TO_SCENERY = /home/govert/.fgfs/TerraSync/
PREFIX = LOWI
SKEL_MAX_HEIGHT_RATIO = 0.7
SKEL_MAX_NODES = 10
SKIP_LIST = ["Dresden Hauptbahnhof, Semperoper, Zwinger, Hofkirche, Frauenkirche, Coselpalais, Palais im Großen Garten, Residenzschloss Dresden, Fernsehturm, Fernsehturm Dresden"]
TILE_SIZE = 1000
TRAFFIC_SHADER_ENABLE = False
USE_PKL = False
vec2d = <class 'vec2d.vec2d'>
------
textures: init
tools: init <tools.Stats object at 0x7fd1e3fe8b50>
dx, dy 0.00014477 8.98800000044e-05
cluster: 34.0000000 22.0000000
delta: 33058.7506934 21742.8360979
min: -16703.7351540 -8692.8664126
max: 16355.0155395 13049.9696853
clusters 34.0000000 22.0000000
.....................................................................70
.....................................................................140
.....................................................................210
.....................................................................280
.....................................................................350
.....................................................................420
.....................................................................490
.....................................................................560
.....................................................................630
.....................................................................700
.....................................................................770
.........................................ERROR:root:Error while creating 3d roof (OSM_ID 276113651, math domain error)
WARNING:root:Skipping tile elev = -9999 at lat 51.703 and lon 3.945
INFO:root:done.
............................840
.....................................................................910
.....................................................................980
.....................................................................1050
.....................................................................1120
.....................................................................1190
.....................................................................1260
.....................................................................1330
.....................................................................1400
.....................................................................1470
.....................................................................1540
.....................................................................1610
.....................................................................1680
.....................................................................1750
.....................................................................1820
..........................................................
total buildings 5970
parse errors 0
written 1912
skipped
small 4051
nearby 0
no elevation 7
no texture 0
roof-types
unknown 1878
complex 1019
roof_errors 1
ground nodes 32600
simplified 5154
vertices 40104
surfaces 21883
repeated tex x 0 out of 0 ( 0 %)
LOD bare 0 ( 0 %)
LOD rough 277 (14 %)
LOD detail 1635 ( 0 %)
above
1 m^2 0 |
10 m^2 0 |
20 m^2 0 |
50 m^2 1206 |########################################################
100 m^2 350 |################
200 m^2 183 |########
500 m^2 88 |####
1000 m^2 33 |#
2000 m^2 15 |
5000 m^2 3 |
10000 m^2 0 |
20000 m^2 0 |
50000 m^2 0 |
Users browsing this forum: No registered users and 6 guests