コード例 #1
0
def plot_pixel(pixelproperties, dims=(11, 8), color=None):
    x, y = get_sort_dates_values(pixelproperties[4])
    figure = plt.figure()
    axes = figure.add_subplot(1,1,1)
    axes.plot(x, y, '{0}-'.format(color))
    axes.set_xlabel("Pixel col {0} row {1}: {2} as {3} in classified".format(pixelproperties[0], pixelproperties[1], pixelproperties[3], pixelproperties[2]))

    return figure
コード例 #2
0
def main():
    outpath = r"/Users/phoetrymaster/Documents/School/Geography/Thesis/GIS In Action/Images/example_fit_process_1.pdf"
    wheat = r"/Users/phoetrymaster/Documents/School/Geography/Thesis/Data/MODIS_KANSAS_2007-2012/reprojected/Refs/2012clip1test2/clip1/wwheat_NDVI_mean.ref"
    corn = r"/Users/phoetrymaster/Documents/School/Geography/Thesis/Data/MODIS_KANSAS_2007-2012/reprojected/Refs/2012clip1test2/clip1/corn_NDVI_mean.ref"
    soy = r"/Users/phoetrymaster/Documents/School/Geography/Thesis/Data/MODIS_KANSAS_2007-2012/reprojected/Refs/2012clip1test2/clip1/soy_NDVI_mean.ref"

    pixel = r"/Users/phoetrymaster/Documents/School/Geography/Thesis/Scripting/Testing/corn_example_point.ref"

    wheatmean = create_rule_image_multiprocessed_bypx.read_reference_file(wheat)[1]
    cornmean = create_rule_image_multiprocessed_bypx.read_reference_file(corn)[1]
    soymean = create_rule_image_multiprocessed_bypx.read_reference_file(soy)[1]

    refs = [('wheat', wheatmean), ('corn', cornmean), ('soy', soymean)]
    print refs

    pixelvalues = create_rule_image_multiprocessed_bypx.read_reference_file(pixel)[1]

    toplot = [(wheatmean, 'b', 'Wheat Signature'), (cornmean, 'y', "Corn Signature"), (soymean, 'g', 'Soy Signature'), (pixelvalues, 'r', 'Unknown Pixel')]

    figure = plt.figure()
    axes = figure.add_subplot(1, 1, 1)

    pdf = PdfPages(outpath)

    for item, color, label in toplot:
        print item
        x, y = create_rule_image_multiprocessed_bypx.get_sort_dates_values(item)

        newy = []
        for value in y:
            newy.append(value / 10000.0)

        axes.plot(x, newy, '{0}-'.format(color), label=label)

    handles, labels = axes.get_legend_handles_labels()

    axes.set_xlabel("Day of Year")
    axes.set_ylabel("NDVI")
    axes.legend(handles, labels, fontsize='small')
    pdf.savefig()
    plt.close(figure)
    pdf.close()

    for crop, ref in refs:
        interp = create_rule_image_multiprocessed_bypx.interpolate_ref(ref)
        result = create_rule_image_multiprocessed_bypx.find_fit(pixelvalues, interp, 0, 0, 'SLSQP', bnds=((0.6, 1.4), (0.6, 1.4), (-10, 10)))
        print(crop + ":")
        print(result)
コード例 #3
0
def get_mean_values(referencevalues, starydoy, doyinterval):
    for i in range(0, len(referencevalues)):
        if not i:
            vals1 = referencevalues[i]
            valdict = vallist_to_dict(vals1, starydoy, doyinterval)
            doys = []
            for k, v in valdict.items():
                doys.append(k)
        else:
            curve1 = interpolate_ref(valdict)
            vals2 = referencevalues[i]
            valdict2 = vallist_to_dict(vals2, starydoy, doyinterval)
            res = find_fit(valdict2, curve1, 0, -3000, "SLSQP")
            transforms = list(res[1])
            xscale = (float(transforms[1]) - 1) / 2.0 + 1
            yscale = (float(transforms[0]) - 1) / 2.0 + 1
            tshift = float(transforms[2]) / 2.0
            valdict = get_transformed_values(curve1, doys, xscale, yscale, tshift)

    x, y = get_sort_dates_values(valdict)
    return y
コード例 #4
0
ファイル: cliprefs.py プロジェクト: jkeifer/pyHytemporal
for locs, imgs, out in clips:
    for img in imgs:
        print "Processing {0}...".format(img)
        if "NDVI" in img:
            postfix = "_NDVI"
        else:
            postfix = "_EVI"
        get_reference_curves(img, locs, 17, 16, outdir=out, filepostfix=postfix)

means = find_files(outroot, "mean.ref")
searchstrings = (["soy", "wwheat", "sorghum", "corn", "wwheatsoydbl"], ["_EVI", "_NDVI"])

for string in searchstrings[0]:
    for vi in searchstrings[1]:
        cropmeans = []
        for mean in means:
            if string + vi in mean:
                cropmeans.append(mean)
        cropname = string + vi
        refvals = []
        for cropmean in cropmeans:
            error, vals = read_reference_file(cropmean)
            if not error:
                refvals.append(vals)
        listedvals = []
        for ref in refvals:
            x, y = get_sort_dates_values(ref)
            listedvals.append(y)
        print cropname
        write_mean_ref_to_txt(cropname, listedvals, 17, 16, outroot, comment="Generated by clipref.py version 0.1")