Ejemplo n.º 1
0
 def test_delete(self):
     RHESSysMetadata.writeRHESSysEntry(self.context, "key1", "value_one")
     RHESSysMetadata.writeRHESSysEntry(self.context, "key2", "value_two")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(metadata["key1"] == "value_one")
     RHESSysMetadata.deleteRHESSysEntry(self.context, "key1")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(not 'key1' in metadata)
     # Delete and empty entry
     RHESSysMetadata.deleteRHESSysEntry(self.context, "not_in_store")
Ejemplo n.º 2
0
 def test_delete(self):
     RHESSysMetadata.writeRHESSysEntry(self.context, "key1", "value_one")
     RHESSysMetadata.writeRHESSysEntry(self.context, "key2", "value_two")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(metadata["key1"] == "value_one")    
     RHESSysMetadata.deleteRHESSysEntry(self.context, "key1")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(not 'key1' in metadata)
     # Delete and empty entry
     RHESSysMetadata.deleteRHESSysEntry(self.context, "not_in_store")
     
Ejemplo n.º 3
0
 def checkMetadata(self, *args, **kwargs):
     """ Check to make sure the project directory has the necessary metadata to run this command.
     
         @note Concrete commands must call this super class method in their own
         implementation of checkMetadata(), and must call their implementation
         near the beginning of their run method.
     
     """
     self.studyArea = RHESSysMetadata.readStudyAreaEntries(self.context)
     self.metadata = RHESSysMetadata.readRHESSysEntries(self.context)
Ejemplo n.º 4
0
 def checkMetadata(self, *args, **kwargs):
     """ Check to make sure the project directory has the necessary metadata to run this command.
     
         @note Concrete commands must call this super class method in their own
         implementation of checkMetadata(), and must call their implementation
         near the beginning of their run method.
     
     """
     self.studyArea = RHESSysMetadata.readStudyAreaEntries(self.context)
     self.metadata = RHESSysMetadata.readRHESSysEntries(self.context)
    configFile = args.configfile

context = Context(args.projectDir, configFile)

# Check for necessary information in metadata
grassMetadata = RHESSysMetadata.readGRASSEntries(context)
if not 'landcover_rast' in grassMetadata:
    sys.exit(
        "Metadata in project directory %s does not contain a GRASS dataset with a landcover raster"
        % (context.projectDir, ))
if not 'dem_rast' in grassMetadata:
    sys.exit(
        "Metadata in project directory %s does not contain a DEM raster in a GRASS mapset"
        % (context.projectDir, ))

metadata = RHESSysMetadata.readRHESSysEntries(context)
if not 'grass_dbase' in metadata:
    sys.exit(
        "Metadata in project directory %s does not contain a GRASS Dbase" %
        (context.projectDir, ))
if not 'grass_location' in metadata:
    sys.exit(
        "Metadata in project directory %s does not contain a GRASS location" %
        (context.projectDir, ))
if not 'grass_mapset' in metadata:
    sys.exit(
        "Metadata in project directory %s does not contain a GRASS mapset" %
        (context.projectDir, ))
if not 'paramdb_dir' in metadata:
    sys.exit(
        "Metadata in project directory %s does not contain a ParamDB directory"
                    help='Write prototype landcover reclass rules to the project directory. You must edit these rules to match the classes in your own landcover data')
group.add_argument('-r', '--ruleDir', dest='ruleDir', required=False,
                    help="The directory where landcover reclass rules can be found; must contain these files %s" % (str(RHESSysMetadata.LC_RULES),) )
parser.add_argument('-l', '--includeLaiRules', dest='includeLaiRules', required=False, action='store_true',
                    help='Make LAI map')
args = parser.parse_args()
cmdline = RHESSysMetadata.getCommandLine()

configFile = None
if args.configfile:
    configFile = args.configfile

context = Context(args.projectDir, configFile) 

# Check for necessary information in metadata
metadata = RHESSysMetadata.readRHESSysEntries(context)
studyArea = RHESSysMetadata.readStudyAreaEntries(context)
manifest = RHESSysMetadata.readManifestEntries(context)

paths = RHESSysPaths(args.projectDir, metadata['rhessys_dir'])

# Get path of place to store reclass rules
projectDirRuleDir = paths.getReclassRulesDirectory()

# Write prototype landcover reclass rules to the project directory
if args.buildPrototypeRules:
    sys.stdout.write('Generating prototype landcover reclass rules...')
    sys.stdout.flush()
    # Road rule
    roadRulePath = os.path.join(projectDirRuleDir, RHESSysMetadata.LC_RULE_ROAD)
    with open(roadRulePath, 'w') as f:
Ejemplo n.º 7
0
 def test_write_and_read(self):
     RHESSysMetadata.writeRHESSysEntry(self.context, "key1", "value_one")
     RHESSysMetadata.writeRHESSysEntry(self.context, "key2", "value_two")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(metadata["key1"] == "value_one")
Ejemplo n.º 8
0
 def test_empty_read(self):
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(len(metadata) == 0)
Ejemplo n.º 9
0
 def test_write_and_read(self):
     RHESSysMetadata.writeRHESSysEntry(self.context, "key1", "value_one")
     RHESSysMetadata.writeRHESSysEntry(self.context, "key2", "value_two")
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(metadata["key1"] == "value_one")
Ejemplo n.º 10
0
 def test_empty_read(self):
     metadata = RHESSysMetadata.readRHESSysEntries(self.context)
     self.assertTrue(len(metadata) == 0)