예제 #1
0
    def on_cmdSaveFile_clicked(self):
        lastFolder = read_setting(PLUGIN_NAME + "/" + self.toolKey +
                                  "/LastOutFolder")
        if lastFolder is None or not os.path.exists(lastFolder):
            lastFolder = read_setting(PLUGIN_NAME + '/BASE_OUT_FOLDER')

        # get first layer in the list
        str_pixel_size = numeric_pixelsize_to_string(float(self.pixel_size[0]))
        filename = 'k-means_{}clusters_{}rasters_{}'.format(
            self.spnClusters.value(), self.tabList.rowCount(), str_pixel_size)

        # replace more than one instance of underscore with a single one.
        # ie'file____norm__control___yield_h__' to 'file_norm_control_yield_h_'
        filename = re.sub(r"_+", "_", filename)

        s = save_as_dialog(self,
                           self.tr("Save As"),
                           self.tr("Tiff") + " (*.tif);;",
                           default_name=os.path.join(lastFolder,
                                                     filename + '.tif'))

        if s == '' or s is None:
            return

        s = os.path.normpath(s)
        self.lneSaveFile.setText(s)

        if file_in_use(s):
            self.lneSaveFile.setStyleSheet('color:red')
            self.lblSaveFile.setStyleSheet('color:red')
        else:
            self.lblSaveFile.setStyleSheet('color:black')
            self.lneSaveFile.setStyleSheet('color:black')
            write_setting(PLUGIN_NAME + "/" + self.toolKey + "/LastOutFolder",
                          os.path.dirname(s))
예제 #2
0
    def on_cmdSaveRasterFile_clicked(self):

        lastFolder = read_setting(PLUGIN_NAME + "/" + self.toolKey +
                                  "/LastOutFolder")
        if lastFolder is None or not os.path.exists(lastFolder):
            lastFolder = read_setting(PLUGIN_NAME + "/BASE_OUT_FOLDER")

        pixel_size_str = numeric_pixelsize_to_string(self.dsbPixelSize.value())
        filename = '{}_BlockGrid_{}'.format(self.mcboTargetLayer.currentText(),
                                            pixel_size_str)
        filename = re.sub('[^A-Za-z0-9_-]+', '', filename)

        s = save_as_dialog(self,
                           self.tr("Save As"),
                           self.tr("Tiff") + " (*.tif);;",
                           default_name=os.path.join(lastFolder,
                                                     filename + '.tif'))

        if s == '' or s is None:
            return

        write_setting(PLUGIN_NAME + "/" + self.toolKey + "/LastOutFolder",
                      os.path.dirname(s))
        self.lneSaveRasterFile.setText(s)
        self.lneSaveRasterFile.setStyleSheet('color:black')
예제 #3
0
 def test_numeric_pixelsize_to_string(self):
     self.assertEqual(numeric_pixelsize_to_string(0.42), '42cm')
     self.assertEqual(numeric_pixelsize_to_string(0.125), '125mm')
     self.assertEqual(numeric_pixelsize_to_string(2.0), '2m')
     self.assertEqual(numeric_pixelsize_to_string(6000), '6km')
     self.assertEqual(numeric_pixelsize_to_string(1500), '1500m')