Exemple #1
0
        else:
            elem["properties"] = OrderedDict([
                ('shapeISO', v) if k == dictISO else (k, v)
                for k, v in elem["properties"].items()
            ])

            #remove invalid elements
        for attribute in list(elem['properties'].items()):
            if (attribute[0] not in ["shapeISO", "shapeName"]):
                elem['properties'].pop(attribute[0])

        elem["properties"]["shapeID"] = (ISO + "-" + groupCode + "-" +
                                         buildID.split('_', 1)[1] + '-B' +
                                         str(featureID))
        elem["properties"]["shapeGroup"] = ISO
        elem["properties"]["shapeType"] = groupCode

    #Update the original file with a corrected version:
    corrected_shp = "./releaseCandidateInit/" + buildID + "/" + ISO + "/" + groupCode + "/" + ISO + "_" + groupCode + "_fixedInternalTopology.shp"
    with fiona.open(corrected_shp, 'w', 'ESRI Shapefile', schema,
                    shpFile.crs) as output:
        for elem in fixed:
            output.write(elem)

    print("Job Finished: " + ISO + "-" + groupCode)

if __name__ == "__main__":
    import buildMain
    importlib.reload(buildMain)
    buildMain.geoBoundaries_build("gbReleaseCandidate_2_0_0_0")
Exemple #2
0
        print(
            "The minor build flag has been set - in this mode, only the build scripts will be re-run, using the data from the major version."
        )
        print(
            "No downloads, metadata checks, or shape checks will be updated.")

    else:

        if (buildID == "current"):
            print(
                "Because this is being executed against the 'current' folder")
            print(
                "Only the QA/QC procedures will be implemented.  No full build will be"
            )
            print("produced.")
            return (0)

        buildStage0.retrieveZip(buildID)
        buildStage0.metaDataChecks(buildID, exceptions)
        buildStage1.shapeChecks(buildID)
        buildStage2.metaStandardization(buildID)

    buildStage3.buildFiles(buildID, minor)
    buildStage4.uploadGB(buildID, minor)


if __name__ == "__main__":
    import buildMain
    importlib.reload(buildMain)
    buildMain.geoBoundaries_build("gbReleaseCandidate_3_0_0", minor=False)