示例#1
0
    def results(self):
        results_list = []
        one_zipfile_contents = []
        for theme in self.feature_selection.themes:
            for geom_type in self.feature_selection.geom_types(theme):
                basename = os.path.join(self.output_dir,
                                        slugify(theme) + "_" + geom_type)
                if os.path.isfile(basename + ".shp"):
                    shpset = [
                        basename + ".shp",
                        basename + ".cpg",
                        basename + ".dbf",
                        basename + ".prj",
                        basename + ".shx",
                    ]
                    if self.per_theme:
                        results_list.append(
                            Artifact(shpset,
                                     Shapefile.name,
                                     theme=theme,
                                     basename=basename + ".shp"))
                    else:
                        one_zipfile_contents = one_zipfile_contents + shpset

        if not self.per_theme:
            results_list.append(
                Artifact(one_zipfile_contents, Shapefile.name, basename="shp"))
        return results_list
示例#2
0
 def results(self):
     if self.per_theme:
         results_list = []
         for theme in self.feature_selection.themes:
             results_list.append(
                 Artifact([
                     os.path.join(self.stage_dir, slugify(theme)) + ".gpkg"
                 ],
                          Geopackage.name,
                          theme=theme))
         return results_list
     else:
         return [Artifact([self.output_gpkg], Geopackage.name)]
示例#3
0
    def run(self, results_list):
        zips = []
        for a in results_list:
            # the created zipfile must end with only .zip for the HDX
            # geopreview to work
            zipfile_name = self.job_name + "_" + os.path.basename(
                a.basename).replace('.', '_') + ".zip"
            zipfile_path = os.path.join(self.stage_dir, zipfile_name)
            with zipfile.ZipFile(zipfile_path, 'w', zipfile.ZIP_DEFLATED,
                                 True) as z:
                for filename in a.parts:
                    z.write(filename,
                            self.job_name + "_" + os.path.basename(filename))
                if a.theme:
                    z.writestr("README.txt",
                               self.feature_selection.zip_readme(a.theme))
                z.writestr("clipping_boundary.geojson",
                           self.boundary_geom.json)
            target_path = os.path.join(self.target_dir, zipfile_name)
            shutil.move(zipfile_path, target_path)
            zips.append(target_path)

            # side effect
            self._zipped_resources.append(
                Artifact([os.path.basename(target_path)],
                         a.format_name,
                         theme=a.theme))
        return zips
示例#4
0
    def results(self):
        results_list = []
        one_zipfile_contents = []
        for theme in self.feature_selection.themes:
            for geom_type in self.feature_selection.geom_types(theme):
                basename = os.path.join(
                    self.output_dir,
                    slugify(theme) + "_" + geom_type) + ".kml"
                if self.per_theme:
                    results_list.append(
                        Artifact([basename], KML.name, theme=theme))
                else:
                    one_zipfile_contents.append(basename)

        if not self.per_theme:
            results_list.append(
                Artifact(one_zipfile_contents, KML.name, basename="kml"))
        return results_list
示例#5
0
 def results(self):
     return [Artifact([self.output], self.name)]
示例#6
0
 def results(self):
     return [Artifact([self.output_xml], OSM_XML.name)]
示例#7
0
 def results(self):
     return [Artifact([self.output_pbf], OSM_PBF.name)]
示例#8
0
    import requests

    Configuration.create(
        hdx_site=os.getenv('HDX_SITE', 'demo'),
        hdx_key=os.getenv('HDX_API_KEY'),
    )
    logging.basicConfig()
    f_s = FeatureSelection(F_S)
    extent = open('hdx_exports/adm0/GIN_adm0.geojson').read()
    h = HDXExportSet(dataset_prefix='demodata_test',
                     name='Geopreview Test',
                     extent=extent,
                     feature_selection=f_s,
                     locations=['GIN'])

    h.sync_resources([
        Artifact(['hotosm_roads_gpkg.zip'], 'geopackage', theme='roads'),
        Artifact(['hotosm_roads_lines_shp.zip'], 'shp', theme='roads')
    ], 'http://exports-staging.hotosm.org/downloads/4fa2e396-a6bf-4476-829b-c88b953af42c'
                     )
    #pp = pprint.PrettyPrinter(indent=4)
    #headers = {
    #            'Authorization':os.getenv('HDX_API_KEY'),
    #            'Content-type':'application/json'
    #        }
    #data = json.dumps({'id':'demodata_test_buildings'})
    #resp = requests.post('https://demo-data.humdata.org/api/action/package_show',headers=headers,data=data)
    #print resp.json()
    #for r in resp.json()['result']['resources']:
    #    pp.pprint(r)
示例#9
0
 def results(self):
     return [Artifact([self.output_pbf], UnfilteredPBF.name)]
示例#10
0
    Configuration.create(
        hdx_site=os.getenv('HDX_SITE', 'demo'),
        hdx_key=os.getenv('HDX_API_KEY'),
    )
    logging.basicConfig()
    f_s = FeatureSelection.example("simple")
    extent = open('adm0/GIN_adm0.geojson').read()
    h = HDXExportSet(dataset_prefix='demodata_test',
                     name='Guinea',
                     extent=extent,
                     feature_selection=f_s,
                     locations=['GIN'])

    h.sync_resources(
        [Artifact(['foo_buildings_polygons.zip'], 'geopackage', theme=None)],
        'http://example.com/')
    pp = pprint.PrettyPrinter(indent=4)
    headers = {
        'Authorization': os.getenv('HDX_API_KEY'),
        'Content-type': 'application/json'
    }
    data = json.dumps({'id': 'demodata_test_buildings'})
    resp = requests.post(
        'https://demo-data.humdata.org/api/action/package_show',
        headers=headers,
        data=data)
    print resp.json()
    for r in resp.json()['result']['resources']:
        pp.pprint(r)
示例#11
0
 def results(self):
     return [Artifact([self.work_dir + "/Osmand_2.obf"],OsmAndOBF.name)]
示例#12
0
 def results(self):
     return [Artifact([self.work_dir + "/gmapsupp.img"], GarminIMG.name)]