当前位置: 首页>>代码示例>>Python>>正文


Python InputFileGenerator.event_filter方法代码示例

本文整理汇总了Python中wfs_input_generator.InputFileGenerator.event_filter方法的典型用法代码示例。如果您正苦于以下问题:Python InputFileGenerator.event_filter方法的具体用法?Python InputFileGenerator.event_filter怎么用?Python InputFileGenerator.event_filter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wfs_input_generator.InputFileGenerator的用法示例。


在下文中一共展示了InputFileGenerator.event_filter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_event_filter

# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter():
    """
    Tests the filtering of the events.

    This is funky. If any filter is given, it will remove all events that do
    not have an event_id.
    """
    events = \
        [{"latitude": 45.0,
          "longitude": 12.1,
          "depth_in_km": 13.0,
          "origin_time": obspy.UTCDateTime(2012, 4, 12, 7, 15, 48, 500000),
          "m_rr": -2.11e+18,
          "m_tt": -4.22e+19,
          "m_pp": 4.43e+19,
          "m_rt": -9.35e+18,
          "m_rp": -8.38e+18,
          "m_tp": -6.44e+18,
          "description": "FICTIONAL EVENT IN BAVARIA",
          "_event_id": "smi:local/Event/2013-01-05T20:19:58.727909"},
         {"latitude": 13.93,
          "longitude": -92.47,
          "depth_in_km": 28.7,
          "origin_time": obspy.UTCDateTime(2012, 11, 7, 16, 35, 55, 200000),
          "m_rr": 1.02e+20,
          "m_tt": -7.96e+19,
          "m_pp": -2.19e+19,
          "m_rt": 6.94e+19,
          "m_rp": -4.08e+19,
          "m_tp": 4.09e+19,
          "description": "GUATEMALA",
          "_event_id": "smi:local/Event/2013-01-07T13:58:41.209477"}]

    event_file_1 = os.path.join(DATA, "event1.xml")
    event_file_2 = os.path.join(DATA, "event2.xml")
    gen = InputFileGenerator()
    gen.add_events([event_file_1, event_file_2])

    assert sorted(gen._events) == sorted(events)

    # No applied filter should just result in the same stations being available
    # everywhere.
    assert sorted(gen._filtered_events) == sorted(gen._events)

    # Events filters are a simple list of URLS.
    gen.event_filter = ["smi:local/Event/2013-01-07T13:58:41.209477"]
    # Only the last event should now be available.
    assert sorted(gen._filtered_events) == sorted(events[1:])

    # Removing the filter should make the missing events reappear.
    gen.event_filter = None
    assert sorted(gen._filtered_events) == sorted(gen._events)
    gen.station_filter = []
    assert sorted(gen._filtered_events) == sorted(gen._events)
开发者ID:krischer,项目名称:wfs_input_generator,代码行数:56,代码来源:test_input_file_generator.py

示例2: test_event_filter_JSON

# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter_JSON():
    """
    Event filters can be set as JSON.
    """
    filters = ["smi:some/url", "smi:some/other/url"]
    gen = InputFileGenerator()
    gen.event_filter = json.dumps(filters)
    assert gen.event_filter == filters
开发者ID:krischer,项目名称:wfs_input_generator,代码行数:10,代码来源:test_input_file_generator.py

示例3: test_event_filter_removed_everything_without_an_id

# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter_removed_everything_without_an_id():
    """
    An applied event filter will remove all events without an id.
    """
    events = [{
        "latitude": 45.0,
        "longitude": 12.1,
        "depth_in_km": 13.0,
        "origin_time": obspy.UTCDateTime(2012, 4, 12, 7, 15, 48, 500000),
        "m_rr": -2.11e+18,
        "m_tt": -4.22e+19,
        "m_pp": 4.43e+19,
        "m_rt": -9.35e+18,
        "m_rp": -8.38e+18,
        "m_tp": -6.44e+18,
        "description": "Some description"
    }, {
        "latitude": 13.93,
        "longitude": -92.47,
        "depth_in_km": 28.7,
        "origin_time": obspy.UTCDateTime(2012, 11, 7, 16, 35, 55, 200000),
        "m_rr": 1.02e+20,
        "m_tt": -7.96e+19,
        "m_pp": -2.19e+19,
        "m_rt": 6.94e+19,
        "m_rp": -4.08e+19,
        "m_tp": 4.09e+19,
        "description": None}]
    gen = InputFileGenerator()
    gen.add_events(events)

    assert sorted(gen._filtered_events) == sorted(events)

    # Applying a filter will remove everything.
    gen.event_filter = ["smi://some/url"]
    assert sorted(gen._filtered_events) == []

    # Removing the filter should make the missing events reappear.
    gen.event_filter = None
    assert sorted(gen._filtered_events) == sorted(gen._events)
    gen.station_filter = []
    assert sorted(gen._filtered_events) == sorted(gen._events)
开发者ID:krischer,项目名称:wfs_input_generator,代码行数:44,代码来源:test_input_file_generator.py

示例4: compute

# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
    def compute(self):
        gen = InputFileGenerator()
        userconf = json.load(open(self.parameters["solver_conf_file"]))

        fields = userconf["fields"]

        for x in fields:
            gen.add_configuration({x["name"]:self.strToBool(x["value"])})    
    
        with open (self.parameters["quakeml"], "r") as events:
            quakeml=events.read()

        #unicode_qml=quakeml.decode('utf-8')
        #data = unicode_qml.encode('ascii','ignore')

##
        cat=readQuakeML(quakeml)
        events = []
        #cat = obspy.readEvents(data)
#Remove all events with no moment tensor.
        for event in cat:
            for fm in event.focal_mechanisms:
                if fm.moment_tensor and fm.moment_tensor.tensor:
                    events.append(event)
                    break
        cat.events = events

        gen.add_events(cat)

        evn=0
        outputdir=""
        for x in userconf["events"]:
            gen.event_filter=[x]
        
            if self.parameters["station_format"]=="stationXML":
                gen.add_stations(self.parameters["stations_file"])
                
        
            if self.parameters["station_format"]=="points":
                stlist = []
                with open(self.parameters["stations_file"]) as f:
                    k=False
                    for line in f:
                        
                        if (k==False):
                            k=True
                        else:
                            station={}
                            l=line.strip().split(" ")
                            station.update({"id":l[1]+"."+l[0]})           
                            station.update({"latitude":float(l[3])})
                            station.update({"longitude":float(l[2])})
                            station.update({"elevation_in_m":float(l[4])})
                            station.update({"local_depth_in_m":float(l[5])})
                            stlist.append(station)
                        
                        
                gen.add_stations(stlist)
                        
            gen.station_filter = userconf["stations"]
                        
            outputdir=self.outputdest+userconf["runId"]+"/"+userconf["runId"]+"_"+str(evn)+"/DATA"
            output_files = gen.write(format=userconf["solver"], output_dir=outputdir)
            
            
            locations = []
            for x in output_files.keys():
                locations.append("file://"+socket.gethostname()+outputdir+"/"+x)
                
            
            self.addOutput(gen._filtered_events,location=locations,metadata=self.extractEventMetadata(outputdir,gen._filtered_events),control={"con:immediateAccess":"true"})
        
            evn+=1
         
        self.addOutput(outputdir,location=locations,metadata={"to_xdecompose":str(outputdir)},control={"con:immediateAccess":"true"})
开发者ID:aspinuso,项目名称:VERCE,代码行数:77,代码来源:inputGenerator.py


注:本文中的wfs_input_generator.InputFileGenerator.event_filter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。