def get_gps_address(self): # 注意,此方法需要使用get_img_exif()中的属性 # 该get_img_exif()方法要被执行后,属性才能被激活,然后下面被调用 self.get_img_exif() # 原始图片获取的坐标:[103, 45, 54931/1000] <class 'exifread.classes.IfdTag'> # 转换后坐标:103.765259, 29.206260 try: lng = self.format_data(self.longitude_gps) lat = self.format_data(self.latitude_gps) # 经纬度信息完整才进行转换 if lng and lat: # 坐标转换为火星系坐标 tr = transfer.Transfer() location = tr.wg84_to_gcj02(lng, lat) gps_address = f'{location[0]}, {location[1]}' return gps_address # (103.76745380953696,29.20330918425425) else: print(f'图片的数据属性缺失') return '' # 上面已经打印过没有gps数据,此处跳过 except: pass
def triger(self, files): triger = transfer.Transfer() for file_name in files: file_name = '/root/script/20170531/' + file_name file_size_start = os.path.getsize(file_name) time.sleep(3) file_size_finish = os.path.getsize(file_name) if int(file_size_start) == int(file_size_finish): triger.file_transfer('192.168.1.241', 'root', '123456', '/data/sftp/mysftp/rec_data/20170531/', file_name)
async def run(algorithm, params, db_objects): result = [] params = json.loads(params) ### get the corresponding algorithm python module using algorithm name module = get_package(algorithm) algorithm_instance = module.Algorithm() table_id = get_uniquetableid() transfer_runner = transfer.Transfer(db_objects, table_id) task_executor_instance = task_executor.Task(db_objects, table_id, params, transfer_runner, algorithm) scheduler_instance = scheduler.Scheduler(task_executor_instance, algorithm_instance.algorithm) result = await scheduler_instance.schedule() return result
async def run(algorithm_instance, params, hash_value, step, schema, node_id, db_objects, states): ### get the corresponding algorithm python module using algorithm name table_id = hash_value transfer_runner = transfer.Transfer(db_objects, table_id) task_executor_instance = task_executor.Task(db_objects, table_id, params, node_id, transfer_runner) scheduler_instance = scheduler.Scheduler(task_executor_instance, algorithm_instance.algorithm, step, schema, states) result = await scheduler_instance.schedule() return result
def __init__(self): self.config = peer_config.Config() self.config.read_config('config.json') self.flooding = flooding_query.FloodingQuery(self.config) self.flooding.listen_command_port() self.transfers = transfer.Transfer(self.config) self.transfers.listen_data_port() self.transfer_thread = Thread( target=self.transfers.recv_download_file_request) self.transfer_thread.start() self.request_queue = Queue() self.flooding_thread = Thread(target=self.flooding.recv_buffer, args=(self.request_queue, )) self.flooding_thread.start() self.__menu()
return ip[:-1] # Function to monitor core temperature def coreTemp(): temp = os.popen('vcgencmd measure_temp').readline() ftemp = float(temp.replace('temp=', '')[:-3]) if ftemp >= 80.0: mdisp.errMsg(4321, "Overheating\r\nTemp=%.1f C" % (ftemp)) exit(1) return ftemp communityURL = 'http://mulenerva.bitwisehero.com:5001/' datastoreURL = 'http://mulenerva.bitwisehero.com:5002/' t = transfer.Transfer(communityURL, datastoreURL) def onLocalConnect(): # 0: Upload catalog update t.upCatalog() # 1: Get server timestamp t.syncTimestamp() # 2: Upload content for request in t.reqs: if request['is_available']: t.upContent(request) # 3: Update request ledger reqs = t.recvRequests() t.setRequests(reqs) return
def __init__( self, Facility_Name, facility_type, Distance_per_lift, Distance_to_TransferStation, Total_tonnes_collected, Number_bin_per_hhold, number_hhold, Transfer_Station, Processing_Facility, Transfer_Distance, ): self.Facility_Name = Facility_Name self.facility_type = facility_type self.Distance_per_lift = Distance_per_lift self.Distance_to_TransferStation = Distance_to_TransferStation self.Total_tonnes_collected = Total_tonnes_collected self.Number_bin_per_hhold = Number_bin_per_hhold self.number_hhold = number_hhold self.Transfer_Station = Transfer_Station self.Processing_Facility = Processing_Facility self.Transfer_Distance = Transfer_Distance ########################################################################################################### #processing facility #grab composition self.waste_composition_class = Co.Waste_Composition() #grab mat diversion per facility self.Material_Diversion_class = WF.Facility_Type() self.WP = Prcss.Processing(self.Facility_Name, self.waste_composition_class, self.Material_Diversion_class) self.WP.Material_Recovery(facility_type) self.total_landfill_in_t = self.WP.total_for_landfill self.total_processed = self.WP.total_processed print("total landfill in t = ", self.WP.total_for_landfill, " total processed = ", self.WP.total_processed) ########################################################################################################### #waste stream self.WasteCompo = self.waste_composition_class.Waste_Composition self.WS = wststream.WasteStream(self.WasteCompo) #self.WS.verification() for compo in self.WS.Waste_Composition: self.WS.landfill_emissions_per_t(compo) print(compo, " total emissions per t = ", self.WS.total_emission_per_t) ########################################################################################################### #trip from households to transfer station self.Trucks = TR.trucks() for collection_truck in self.Trucks.collection_trucks: self.TRP = Trp.Trip(collection_truck, self.Distance_per_lift, self.Distance_to_TransferStation, self.Total_tonnes_collected, self.Number_bin_per_hhold, self.number_hhold) self.TRP.total_emissions() self.TRP.costs() print("Collection truck = ", collection_truck, " total emissions in t CO2 = ", self.TRP.tCO2, " total liftcost = ", self.TRP.lift_costs) ########################################################################################################### #transfert from transfert station to processing facility for transfer_truck in self.Trucks.transfer_trucks: self.TRANS = Trf.Transfer(transfer_truck, self.Transfer_Station, self.Processing_Facility, self.Transfer_Distance, self.Total_tonnes_collected) self.TRANS.total_emissions() self.TRANS.costs() print("transfer truck = ", transfer_truck, " total emissions in t CO2 = ", self.TRANS.tCO2, " total transfercost = ", self.TRANS.transfer_costs) return