Пример #1
0
    def initialize(self):
        print(colored("Ragnar image search initialization start",
                      color='blue'))
        init = Task(self.loop)
        search = init.do_the_task(self.RAGNAR_URL + "/imagery/search/initiate",
                                  headers, json.dumps(self.imagery))

        assert search[0].get('pipelineId'),\
            print(colored("Error, Ragnar image search failed: {}".format(str(search[0])), color='red'))

        result = init.wait_till_resolved(
            headers, json.dumps({"pipelineId": search[0]['pipelineId']}))
        assert result == 'RESOLVED',\
            print(colored("Error, Ragnar image search failed, pipelineId: {}".format(result), color='red'))

        self.pipelineId = search[0]['pipelineId']
        print(colored("Ragnar image search initialization OK", color='green'))
        return search[0]['pipelineId']
Пример #2
0
    def retrieve(self, pipelines):
        print(colored("Kraken mapId retrieval start", color='blue'))

        URL = self.KRAKEN_URL + self.map_type + '/geojson/retrieve'

        retr = Task(self.loop)
        retrieved = retr.do_the_task(URL, headers,
                                     json.dumps(pipelines), True)

        result = retr.wait_till_resolved(headers, json.dumps(pipelines), True)
        for idx in retrieved:
            assert retrieved[idx].get('mapId'), \
                print(colored("Error, Kraken mapId retrieval failed: {}".format(retrieved[idx]), color='red'))

        self.retr_mapIds = retrieved
        os.makedirs(self.path_RESULTS + self.map_type, exist_ok=True)
        write_json(self.retr_mapIds, self.path_RESULTS + self.map_type + "/Kraken_retrieved_mapIds.json")
        print(colored("Kraken mapId retrieval OK, mapIds written to file {}".format(
            self.path_RESULTS + self.map_type + "/Kraken_retrieved_mapIds.json"), color='green'))
Пример #3
0
    def initialize(self, dates):
        print(colored("Kraken map initialization start", color='blue'))

        URL = self.KRAKEN_URL + self.map_type + '/geojson/initiate'
        init = Task(self.loop)

        scenes_in_range = {}
        all_payloads = {}

        dto = dt.strptime((dates['to'][:10]), "%Y-%m-%d")
        dfrom = dt.strptime((dates['from'][:10]), "%Y-%m-%d")

        found = False
        when_are_maps_available = []
        for idx, band in enumerate(self.available_scenes['results']):
            date = dt.strptime((band['datetime'][:10]), "%Y-%m-%d")
            if dfrom < date < dto:
                scenes_in_range[len(scenes_in_range)] = band
                all_payloads[len(all_payloads)] = dict({
                    'sceneId': band['sceneId'],
                    'extent': self.area_of_interest
                })
                when_are_maps_available.append(str(date)[:10])
                found = True
        assert found, print(colored("No map available in the selected period: {}".format(dates), color='red'))
        print(colored("Maps available in the following dates: {}".format(when_are_maps_available), color='blue'))
        write_json(scenes_in_range, self.path_RESULTS + 'Ragnar_retrieved_results_in_dates.json')
        start = time.time()
        search = init.do_the_task(URL, headers, json.dumps(all_payloads), repeat=True)
        print(colored("Time to init Kraken: {}".format(time.time() - start), color='blue'))

        pipelines = dict()
        for idx in search:
            assert search[idx].get('pipelineId'), \
                print(colored("Error, Kraken map initialization failed: {}".format(str(search[idx])), color='red'))
            pipelines[idx] = dict(pipelineId=search[idx]['pipelineId'])

        result = init.wait_till_resolved(headers, json.dumps(pipelines), True)
        assert result == 'RESOLVED', \
            print(colored("Error, Kraken map initialization failed: {}".format(result), color='red'))

        print(colored("Kraken map initialization OK", color='green'))
        return pipelines