def analysis_setup(command_line_arguments, hazard, exposure, aggregation=None): """Sets up an analysis object. .. versionadded:: 3.2 :param command_line_arguments: User inputs. :type command_line_arguments: CommandLineArguments :param hazard: Hazard layer :type hazard: QgsLayer :param exposure: Exposure Layer :type exposure: QgsLayer :param aggregation: Aggregation Layer :type aggregation: QgsLayer :raises: Exception """ # IF impact_function_manager = ImpactFunctionManager() impact_function = impact_function_manager.get(command_line_arguments.impact_function) keyword_io = KeywordIO() try: from safe.utilities.analysis import Analysis except ImportError as ie: LOGGER.debug("Import error for Analysis module") print ie.message raise ImportError analysis = Analysis() analysis.impact_function = impact_function analysis.hazard = hazard analysis.exposure = exposure analysis.aggregation = aggregation # analysis.hazard_keyword = keyword_io.read_keywords(hazard) # analysis.exposure_keyword = keyword_io.read_keywords(exposure) analysis.clip_hard = False analysis.show_intermediate_layers = False analysis.run_in_thread_flag = False analysis.map_canvas = CANVAS # QSetting context settings = QSettings() crs = settings.value("inasafe/analysis_extent_crs", "", type=str) analysis.user_extent_crs = QgsCoordinateReferenceSystem(crs) try: analysis.user_extent = QgsRectangle( float(command_line_arguments.extent[0]), float(command_line_arguments.extent[1]), float(command_line_arguments.extent[2]), float(command_line_arguments.extent[3]), ) except AttributeError: print "No extents" pass analysis.setup_analysis() return analysis
def analysis_setup(command_line_arguments, hazard, exposure, aggregation=None): """Sets up an analysis object. .. versionadded:: 3.2 :param command_line_arguments: User inputs. :type command_line_arguments: CommandLineArguments :param hazard: Hazard layer :type hazard: QgsLayer :param exposure: Exposure Layer :type exposure: QgsLayer :param aggregation: Aggregation Layer :type aggregation: QgsLayer :raises: Exception """ # IF impact_function_manager = ImpactFunctionManager() impact_function = impact_function_manager.get( command_line_arguments.impact_function) keyword_io = KeywordIO() try: from safe.utilities.analysis import Analysis except ImportError as ie: LOGGER.debug('Import error for Analysis module') print ie.message raise ImportError analysis = Analysis() analysis.impact_function = impact_function analysis.hazard = hazard analysis.exposure = exposure analysis.aggregation = aggregation # analysis.hazard_keyword = keyword_io.read_keywords(hazard) # analysis.exposure_keyword = keyword_io.read_keywords(exposure) analysis.clip_hard = False analysis.show_intermediate_layers = False analysis.run_in_thread_flag = False analysis.map_canvas = CANVAS # QSetting context settings = QSettings() crs = settings.value('inasafe/analysis_extent_crs', '', type=str) analysis.user_extent_crs = QgsCoordinateReferenceSystem(crs) try: analysis.user_extent = QgsRectangle( float(command_line_arguments.extent[0]), float(command_line_arguments.extent[1]), float(command_line_arguments.extent[2]), float(command_line_arguments.extent[3])) except AttributeError: print "No extents" pass analysis.setup_analysis() return analysis