def on_import_measurements_from_csv(self, event=None): """Import detector flow measurements from CSV file.""" p = detectorflows.FlowsImporter( 'flowmeasurementimporter', self._demand.detectorflows.flowmeasurements, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj( self._demand.detectorflows.flowmeasurements)
def on_import_turnflows(self, event=None): tfimporter = turnflows.TurnflowImporter( self._demand.turnflows, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, tfimporter) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._demand.turnflows) #del self._scenario #self._scenario = scenariocreator.get_scenario() # self._scenario.import_xml() # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' # self._mainframe.refresh_moduleguis() if event: event.Skip()
def on_planselection(self, event=None): """ Plan selector to set current plan with different methods """ # self._landuse.parking.make_parking() # self._canvas = canvas.draw() # drawing = self.get_drawing().get_drawobj_by_ident('parkingdraws') # TODO: make a proper import mask that allows to set parameters # self._landuse.maps.download() proc = virtualpop.PlanSelector('parkinggenerator', self._demand.virtualpop, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, proc, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._demand.virtualpop)
def on_geomfilter_trips(self, event=None): """ Select GPS traces to satisfy geometric requirements. This should be done before the mapmatching process. """ p = mapmatching.TripGeomfilter(self._mapmatching, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._mapmatching.trips) self._is_needs_refresh = True self.refresh_widgets()
def on_filter_edgeresults(self, event=None): """Filter edgeresults by zone, etc.""" if self._simulation.results is None: self._simulation.results = results.Simresults(ident='simresults', simulation=self._simulation) edgeresultfilter = results.EdgeresultFilter(self._simulation.results.edgeresults, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, edgeresultfilter) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._simulation.results.edgeresults)
def on_generate_tls(self, event=None): """Generates traffic light systems""" # TODO: here we should actually replace the current network # so we would need a clear net method in scenario # alternatively we could merge properly obj = networktools.TlsGenerator(self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, obj) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net) # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' self._mainframe.refresh_moduleguis()
def on_postmatchfilter_trips(self, event=None): """ Select trips by different parameters after matching. """ p = mapmatching.PostMatchfilter(self._mapmatching, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._mapmatching.trips) self._is_needs_refresh = True self.refresh_widgets()
def on_od_plots(self, event=None): """ Plot Od data. """ p = origin_to_destination_mpl.OdPlots( 'odplots', self._demand, logger=self._mainframe.get_logger(), ) dlg = ProcessDialog(self._mainframe, p, title='Od Plot') dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy()
def on_filter_lines(self, event=None): p = pt.PtLinefilter('ptlinefilter', self._demand.ptlines, logger=self._mainframe.get_logger()) #self._demand.ptlines.ptlinks.get_value().build() dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._demand.ptlines)
def on_route_congested(self, event=None): """Generates routes from current trip info using routing methods with congested network assumption. Based on marouter. """ # self._demand.trips.clear_routes() obj = routing.MacroRouter(self.get_scenario().net, trips=self._demand.trips, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, obj) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._demand.trips)
def on_import_osmnx(self, event=None): """ Import net from databeses generated by the OSMnx package """ proc = networkxtools.OxImporter( self._net.parent, logger=self._mainframe.get_logger(), ) dlg = ProcessDialog(self._mainframe, proc) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net) self._mainframe.refresh_moduleguis()
def open_sumodialog(self): dlg = ProcessDialog(self._mainframe, self.simulator) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() if self.simulator.status == 'success': self.simulator.import_results() self._mainframe.browse_obj(self._simulation.results) self._mainframe.select_view( name="Result viewer") # !!!!!!!!tricky, crashes without self.refresh_widgets()
def on_make_parking(self, event=None): """ Generate on road parking areas on the street network """ # self._landuse.parking.make_parking() #self._canvas = canvas.draw() #drawing = self.get_drawing().get_drawobj_by_ident('parkingdraws') # TODO: make a proper import mask that allows to set parameters # self._landuse.maps.download() proc = landuse.ParkingGenerator('parkinggenerator', self._landuse.parking, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, proc, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._landuse.parking) self._mainframe.refresh_moduleguis()
def on_maroute(self, event=None): """Simulate scenario with Macrosopic router (marouter). """ p = routing.MaRouter( self.get_scenario(), results=self._simulation.results, logger=self._mainframe.get_logger(), ) dlg = ProcessDialog(self._mainframe, p) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() #self._mainframe.browse_obj(self._simulation.results) p.import_results() self._mainframe.browse_obj(p.get_results()) self._mainframe.select_view( name="Result viewer") #!!!!!!!!tricky, crashes without self.refresh_widgets()
def on_match_birgil(self, event=None): """ Match selected traces with Birgillito's method. """ p = mapmatching.BirgilMatcher(self._mapmatching, logger=self._mainframe.get_logger()) # dlg = ProcessDialogInteractive( self._mainframe, # p, # #title = 'SUMO-Traci Dialog', # #func_close = self.close_sumodialog_interactive, # ) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._mapmatching.trips) self._is_needs_refresh = True self.refresh_widgets()
def on_create(self, event=None): # print 'on_create' scenariocreator = scenario.ScenarioCreator( logger=self._mainframe.get_logger(), workdirpath=scenario.DIRPATH_SCENARIO, ) dlg = ProcessDialog(self._mainframe, scenariocreator) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() del self._scenario self._scenario = scenariocreator.get_scenario() self._mainframe.browse_obj(self._scenario) # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' self._mainframe.refresh_moduleguis()
def on_duaiterate(self, event=None): """Dynamic User equilibrium Assignment (DuaIterate). """ p = sumo.Duaiterate( self.get_scenario(), results=self._simulation.results, logger=self._mainframe.get_logger(), ) dlg = ProcessDialog(self._mainframe, p) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self.get_scenario().demand.trips)
def on_provide_stopaccess(self, event=None): """ Make sure, all public transport stops are accessible by foot or bike from the road network. """ p = pt.StopAccessProvider(self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net.edges) self._mainframe.refresh_moduleguis()
def on_import_ecc(self, event=None): """ Import and filter data from a European cycling challange. """ p = mapmatching.EccTracesImporter(self._mapmatching, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._mapmatching.trips) self._is_needs_refresh = True self.refresh_widgets()
def on_turnflows_to_routes(self, event=None): """Generates routes, based on flow information and turnflow probabilities. This function will apply the JTROUTER for each transport mode separately. """ # TODO: maka proper control-panel #self._demand.turnflows.turnflows_to_routes(is_clear_trips = False, is_make_probabilities = True) # self._mainframe.browse_obj(self._demand.trips) tfrouter = turnflows.TurnflowRouter( self._demand.turnflows, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, tfrouter) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._demand.trips)
def on_import_osm(self, event=None): # TODO: here we should actually replace the current network # so we would need a clear net method in scenario # alternatively we could merge properly importer = network.OsmImporter(self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, importer) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net.nodes) # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' self._mainframe.refresh_moduleguis()
def on_route_fastest(self, event=None): """ Fastest path routing of matched routes. """ p = mapmatching.Fastestrouter('fastestpathrouter', self._mapmatching, matchresults=self._results, logger=self._mainframe.get_logger() ) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._mapmatching.trips) self._is_needs_refresh = True self.refresh_widgets()
def on_merge_sumonets(self, event=None): """ Chosse one or more SUMO net.xml files to be merged with the current network. """ sumonetmerger = network.SumonetMerger( self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, sumonetmerger) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() #del self._scenario #self._scenario = scenariocreator.get_scenario() self._mainframe.browse_obj(self._net) # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' self._mainframe.refresh_moduleguis()
def on_configure_actuated_tls(self, event=None): """ Enable and configure actuated traffic lights. """ p = networktools.ActuatedTlsConfigurator( self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net.edges) self._mainframe.refresh_moduleguis()
def on_complete_bikenetwork(self, event=None): """ Make network more permeable for bikes. """ p = networktools.BikenetworkCompleter( self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._net.edges) self._mainframe.refresh_moduleguis()
def on_plot_network(self, event=None): """ High quality plot of network and other elements. """ p = Netplotter(self._net, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: dlg.Destroy() if dlg.get_status() == 'success': # apply current widget values to scenario instance dlg.apply() dlg.Destroy()
def on_import_osm(self, event=None): importer = landuse.OsmPolyImporter(self._landuse, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, importer) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: dlg.Destroy() if dlg.get_status() == 'success': dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._landuse) self._mainframe.refresh_moduleguis()
def on_add_vehicles(self, event=None): p = prt.VehicleAdder(self._prtservice.prtvehicles, logger=self._mainframe.get_logger()) dlg = ProcessDialog(self._mainframe, p, immediate_apply=True) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() self._mainframe.browse_obj(self._prtservice.prtvehicles)
def on_meso(self, event=None): """Simulate scenario with Mesoscopic, queue based simulator. """ p = sumo.Meso( \ scenario = self.get_scenario(), results = self._simulation.results, logger = self._mainframe.get_logger(), is_gui = True, is_export_net = True, is_export_poly = True, is_export_rou = True, is_prompt_filepaths = False, is_quit_on_end = False, is_start = False, ) dlg = ProcessDialog(self._mainframe, p) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() #print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL #print ' status =',dlg.get_status() if dlg.get_status() != 'success': #val == wx.ID_CANCEL: #print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': #print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() #self._mainframe.browse_obj(self._simulation.results) p.import_results() self._mainframe.browse_obj(p.get_results()) self._mainframe.select_view( name="Result viewer") #!!!!!!!!tricky, crashes without self.refresh_widgets()
def on_import_osmnx(self, event=None): """ Import net and buildings from OSMnx """ # proc = OxScenariocreator(\ # workdirpath = scenario.DIRPATH_SCENARIO, # logger = self._mainframe.get_logger(), # ) proc = networkxtools.OxImporter( self._scenario, logger=self._mainframe.get_logger(), ) dlg = ProcessDialog(self._mainframe, proc) dlg.CenterOnScreen() # this does not return until the dialog is closed. val = dlg.ShowModal() # print ' val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL # print ' status =',dlg.get_status() if dlg.get_status() != 'success': # val == wx.ID_CANCEL: # print ">>>>>>>>>Unsuccessful\n" dlg.Destroy() if dlg.get_status() == 'success': # print ">>>>>>>>>successful\n" # apply current widget values to scenario instance dlg.apply() dlg.Destroy() #del self._scenario #self._scenario = scenariocreator.get_scenario() # self._scenario.import_xml() self._mainframe.browse_obj(self._scenario) # this should update all widgets for the new scenario!! # print 'call self._mainframe.refresh_moduleguis()' self._mainframe.refresh_moduleguis()