substitute print by sys.write
This commit is contained in:
parent
592afe929d
commit
4faa02d18b
|
@ -259,7 +259,7 @@ class Surface:
|
||||||
rotation_base_matrix = np.matmul(rotation_base_matrix, base_matrix)
|
rotation_base_matrix = np.matmul(rotation_base_matrix, base_matrix)
|
||||||
|
|
||||||
if rotation_base_matrix is None:
|
if rotation_base_matrix is None:
|
||||||
print('Error processing rotation base matrix')
|
sys.stderr.write('Warning: rotation base matrix returned None\n')
|
||||||
else:
|
else:
|
||||||
for point in surface.points:
|
for point in surface.points:
|
||||||
new_point = np.matmul(rotation_base_matrix, point)
|
new_point = np.matmul(rotation_base_matrix, point)
|
||||||
|
@ -268,10 +268,10 @@ class Surface:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def angle_between_vectors(vec_1, vec_2):
|
def angle_between_vectors(vec_1, vec_2):
|
||||||
alpha = math.acos(np.dot(vec_1, vec_2) / np.linalg.norm(vec_1) / np.linalg.norm(vec_2))
|
|
||||||
if np.linalg.norm(vec_1) == 0 or np.linalg.norm(vec_2) == 0:
|
if np.linalg.norm(vec_1) == 0 or np.linalg.norm(vec_2) == 0:
|
||||||
print('ERROR')
|
sys.stderr.write("Warning: impossible to calculate angle between planes' normal. Return 0\n")
|
||||||
# todo: rise error
|
return 0
|
||||||
|
alpha = math.acos(np.dot(vec_1, vec_2) / np.linalg.norm(vec_1) / np.linalg.norm(vec_2))
|
||||||
return alpha
|
return alpha
|
||||||
|
|
||||||
def _is_almost_same_terrain(self, terrain_points, ground_points):
|
def _is_almost_same_terrain(self, terrain_points, ground_points):
|
||||||
|
@ -474,7 +474,7 @@ class Surface:
|
||||||
|
|
||||||
return Surface(coordinates, remove_last=False)
|
return Surface(coordinates, remove_last=False)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
print('Warning: intersecting surfaces', err)
|
sys.stderr.write('Warning: intersecting surfaces ' + str(err))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -39,7 +39,8 @@ class City:
|
||||||
try:
|
try:
|
||||||
input_reference = pyproj.CRS(self.srs_name) # Projected coordinate system from input data
|
input_reference = pyproj.CRS(self.srs_name) # Projected coordinate system from input data
|
||||||
except pyproj.exceptions.CRSError:
|
except pyproj.exceptions.CRSError:
|
||||||
print('Invalid projection reference system, please check the input data. (e.g. in CityGML files: srs_name)')
|
sys.stderr.write('Invalid projection reference system, please check the input data. '
|
||||||
|
'(e.g. in CityGML files: srs_name)\n')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
transformer = Transformer.from_crs(input_reference, gps)
|
transformer = Transformer.from_crs(input_reference, gps)
|
||||||
coordinates = transformer.transform(self.lower_corner[0], self.lower_corner[1])
|
coordinates = transformer.transform(self.lower_corner[0], self.lower_corner[1])
|
||||||
|
|
|
@ -3,6 +3,8 @@ CaPhysicsParameters import the construction and material information for Canada
|
||||||
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
||||||
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
|
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
|
||||||
"""
|
"""
|
||||||
|
import sys
|
||||||
|
|
||||||
from factories.physics_feeders.nrel_physics_interface import NrelPhysicsInterface
|
from factories.physics_feeders.nrel_physics_interface import NrelPhysicsInterface
|
||||||
from factories.physics_feeders.helpers.ca_to_library_types import CaToLibraryTypes
|
from factories.physics_feeders.helpers.ca_to_library_types import CaToLibraryTypes
|
||||||
|
|
||||||
|
@ -28,8 +30,9 @@ class CaPhysicsParameters(NrelPhysicsInterface):
|
||||||
for building in city.buildings:
|
for building in city.buildings:
|
||||||
archetype = self._search_archetype([building.function, building.year_of_construction])
|
archetype = self._search_archetype([building.function, building.year_of_construction])
|
||||||
if archetype is None:
|
if archetype is None:
|
||||||
print('Building ', building.name, 'has unknown archetype for building function: ', building.function,
|
sys.stderr.write('Building ' + building.name + ' has unknown archetype for building function: ' +
|
||||||
'and building year of construction:', building.year_of_construction)
|
building.function + ' and building year of construction: ' + building.year_of_construction +
|
||||||
|
'\n')
|
||||||
continue
|
continue
|
||||||
self._assign_values(building, archetype)
|
self._assign_values(building, archetype)
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ Copyright © 2020 Project Author Guille Gutierrez guillermo.gutierrezmorote@conc
|
||||||
Contributors Pilar Monsalvete pilar_monsalvete@yahoo.es
|
Contributors Pilar Monsalvete pilar_monsalvete@yahoo.es
|
||||||
"""
|
"""
|
||||||
import xmltodict
|
import xmltodict
|
||||||
|
import sys
|
||||||
|
|
||||||
from city_model_structure.attributes.layer import Layer
|
from city_model_structure.attributes.layer import Layer
|
||||||
from city_model_structure.attributes.material import Material
|
from city_model_structure.attributes.material import Material
|
||||||
|
@ -41,9 +42,11 @@ class CercBasePhysicsParameters:
|
||||||
# ToDo: remove this in the future
|
# ToDo: remove this in the future
|
||||||
# ToDo: Raise WrongArchetype if not all the surface types are defined for the given city_object
|
# ToDo: Raise WrongArchetype if not all the surface types are defined for the given city_object
|
||||||
if archetype is None:
|
if archetype is None:
|
||||||
print('Building ', building.name, 'has unknown archetype for building type: ', building_type)
|
sys.stderr.write('Building ' + building.name + ' has unknown archetype for building type: ' + building_type +
|
||||||
print('type: ', building_type, UsToLibraryTypes.yoc_to_standard(building.year_of_construction),
|
'\n')
|
||||||
self._climate_zone)
|
sys.stderr.write('type: ' + building_type + ', ' +
|
||||||
|
UsToLibraryTypes.yoc_to_standard(building.year_of_construction) + ', ' + self._climate_zone +
|
||||||
|
'\n')
|
||||||
continue
|
continue
|
||||||
|
|
||||||
building.average_storey_height = archetype['average_storey_height']['#text']
|
building.average_storey_height = archetype['average_storey_height']['#text']
|
||||||
|
|
|
@ -3,6 +3,8 @@ CaUsageParameters model the usage properties for a Canadian building
|
||||||
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
||||||
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
|
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
|
||||||
"""
|
"""
|
||||||
|
import sys
|
||||||
|
|
||||||
from factories.usage_feeders.hft_usage_interface import HftUsageInterface
|
from factories.usage_feeders.hft_usage_interface import HftUsageInterface
|
||||||
from city_model_structure.attributes.usage_zone import UsageZone
|
from city_model_structure.attributes.usage_zone import UsageZone
|
||||||
|
|
||||||
|
@ -24,7 +26,8 @@ class CaUsageParameters(HftUsageInterface):
|
||||||
for building in city.buildings:
|
for building in city.buildings:
|
||||||
archetype = self._search_archetype(building.function)
|
archetype = self._search_archetype(building.function)
|
||||||
if archetype is None:
|
if archetype is None:
|
||||||
print('Building ', building.name, 'has unknown archetype for building usage: ', building.function)
|
sys.stderr.write('Building ' + building.name + ' has unknown archetype for building usage: ' +
|
||||||
|
building.function + '\n')
|
||||||
continue
|
continue
|
||||||
# todo: what to do with mix-usage usages from gml?
|
# todo: what to do with mix-usage usages from gml?
|
||||||
mix_usage = False
|
mix_usage = False
|
||||||
|
|
Loading…
Reference in New Issue
Block a user