[GRASS-SVN] r51273 - in grass/trunk/temporal: . t.rast.import

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Apr 5 16:56:58 EDT 2012


Author: huhabla
Date: 2012-04-05 13:56:58 -0700 (Thu, 05 Apr 2012)
New Revision: 51273

Added:
   grass/trunk/temporal/t.rast.import/
   grass/trunk/temporal/t.rast.import/t.rast.import.html
   grass/trunk/temporal/t.rast.import/t.rast.import.py
   grass/trunk/temporal/t.rast.import/test.t.rast.import.sh
Removed:
   grass/trunk/temporal/t.rast.import/test.tr.import.sh
   grass/trunk/temporal/t.rast.import/tr.import.html
   grass/trunk/temporal/t.rast.import/tr.import.py
Modified:
   grass/trunk/temporal/t.rast.import/Makefile
Log:
Using new naming scheme


Modified: grass/trunk/temporal/t.rast.import/Makefile
===================================================================
--- grass/trunk/temporal/tr.import/Makefile	2012-04-04 21:20:55 UTC (rev 51264)
+++ grass/trunk/temporal/t.rast.import/Makefile	2012-04-05 20:56:58 UTC (rev 51273)
@@ -1,6 +1,6 @@
 MODULE_TOPDIR = ../../
 
-PGM = tr.import
+PGM = t.rast.import
 
 include $(MODULE_TOPDIR)/include/Make/Script.make
 

Copied: grass/trunk/temporal/t.rast.import/t.rast.import.html (from rev 51264, grass/trunk/temporal/tr.import/tr.import.html)
===================================================================
Copied: grass/trunk/temporal/t.rast.import/t.rast.import.py (from rev 51264, grass/trunk/temporal/tr.import/tr.import.py)
===================================================================
--- grass/trunk/temporal/t.rast.import/t.rast.import.py	                        (rev 0)
+++ grass/trunk/temporal/t.rast.import/t.rast.import.py	2012-04-05 20:56:58 UTC (rev 51273)
@@ -0,0 +1,232 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+############################################################################
+#
+# MODULE:	tr.import
+# AUTHOR(S):	Soeren Gebbert
+#               
+# PURPOSE:	Import a space time raster dataset
+# COPYRIGHT:	(C) 2011 by the GRASS Development Team
+#
+#		This program is free software under the GNU General Public
+#		License (version 2). Read the file COPYING that comes with GRASS
+#		for details.
+#
+#############################################################################
+
+#%module
+#% description: Import space time raster dataset 
+#% keywords: temporal
+#% keywords: import
+#%end
+
+#%option G_OPT_F_INPUT
+#%end
+
+#%option G_OPT_STRDS_OUTPUT
+#%end
+
+#%option
+#% key: extrdir
+#% type: string
+#% description: Path to the extraction directory
+#% required: yes
+#% multiple: no
+#%end
+
+#%option
+#% key: title
+#% type: string
+#% description: Title of the new space time dataset
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: description
+#% type: string
+#% description: Description of the new space time dataset
+#% required: no
+#% multiple: no
+#%end
+
+#%flag
+#% key: l
+#% description: Link the raster files using r.external
+#%end
+
+#%flag
+#% key: e
+#% description: Extend location extents based on new dataset
+#%end
+
+#%flag
+#% key: o
+#% description: verride projection (use location's projection)
+#%end
+
+
+import shutil
+import os
+import os.path
+import tarfile
+import tempfile
+import grass.script as grass
+import grass.temporal as tgis
+
+proj_file_name = "proj.txt"
+init_file_name = "init.txt"
+list_file_name = "list.txt"
+
+############################################################################
+
+def main():
+
+    # Get the options
+    input = options["input"]
+    output = options["output"]
+    extrdir = options["extrdir"]
+    title = options["title"]
+    descr = options["description"]
+    link = flags["l"]
+    exp = flags["e"]
+    overr = flags["o"]
+
+    # Make sure the temporal database exists
+    tgis.create_temporal_database()
+    
+    # Check if input file and extraction directory exits
+    if not os.path.exists(input): 
+        grass.fatal(_("Space time raster dataset archive <%s> not found.") % input)
+    if not os.path.exists(extrdir): 
+        grass.fatal(_("Extraction directory <%s> not found.") % extrdir)
+
+    tar = tarfile.open(input)
+    
+    # Check for important files
+    members = tar.getnames()
+
+    if init_file_name not in members: 
+        grass.fatal(_("Unable to find init file <%s>.") % init_file_name)
+    if list_file_name not in members: 
+        grass.fatal(_("Unable to find list file <%s>.") % list_file_name)
+    if proj_file_name not in members: 
+        grass.fatal(_("Unable to find projection file <%s>.") % proj_file_name)
+
+    tar.extractall(path=extrdir)
+    tar.close()
+
+    # Switch into the extraction directory and check for files
+    os.chdir(extrdir)
+
+    fs = "|"
+    maplist = []
+    mapset =  grass.gisenv()["MAPSET"]
+    list_file = open(list_file_name, "r")
+
+    # Read the map list from file
+    line_count = 0
+    while True:
+        line = list_file.readline()
+        if not line:
+            break
+
+        line_list = line.split(fs)
+
+        mapname = line_list[0].strip()
+        mapid = mapname + "@" + mapset
+
+        row = {}
+        row["name"] = mapname
+        row["id"] = mapid
+        row["start"] = line_list[1].strip()
+        row["end"] = line_list[2].strip()
+
+        maplist.append(row)
+        line_count += 1
+
+    list_file.close()
+    
+    # Check if geotiff files exists
+    for row in maplist:
+        filename = str(row["name"]) + ".tif"
+        if not os.path.exists(filename): 
+            grass.fatal(_("Unable to find geotiff raster file <%s> in archive.") % filename)
+
+    # Read the init file
+    fs = "="
+    init = {}
+    init_file = open(init_file_name, "r")
+    while True:
+        line = init_file.readline()
+        if not line:
+            break
+
+        kv = line.split(fs)
+        init[kv[0]] = kv[1].strip()
+    
+    init_file.close()
+
+    if not init.has_key("temporal_type") or \
+       not init.has_key("semantic_type") or \
+       not init.has_key("number_of_maps"):
+        grass.fatal(_("Key words %s, %s or %s not found in init file.") % ("temporal_type", "semantic_type", "number_of_maps"))
+
+    if line_count != int(init["number_of_maps"]):
+        grass.fatal(_("Number of maps mismatch in init and list file."))
+
+    # Check the space time dataset
+
+    id = output + "@" + mapset
+
+    sp = tgis.space_time_raster_dataset(id)
+    
+    if sp.is_in_db() and grass.overwrite() == False:
+        grass.fatal(_("Space time %s dataset <%s> is already in the database. Use the overwrite flag.") % name)
+
+    # Try to import/link the raster files
+    for row in maplist:
+        name = row["name"]
+        filename = str(row["name"]) + ".tif"
+        impflags=""
+        if overr:
+            impflags += "o"
+        if exp:
+            impflags += "e"
+        
+        if link:
+            ret = grass.run_command("r.external", input=filename, output=name, flags=impflags, overwrite=grass.overwrite())
+        else:
+            ret = grass.run_command("r.in.gdal", input=filename, output=name, flags=impflags, overwrite=grass.overwrite())
+
+        if ret != 0:
+            grass.fatal(_("Unable to import/link raster map <%s>.") % name)
+    
+        # Set the color rules if present
+        filename = str(row["name"]) + ".color"
+        if os.path.isfile(filename):
+            ret = grass.run_command("r.colors", map=name, rules=filename, overwrite=grass.overwrite())
+
+            if ret != 0:
+                grass.fatal(_("Unable to set the color rules for raster map <%s>.") % name)
+
+    # Create the space time raster dataset
+    if sp.is_in_db() and grass.overwrite() == True:
+        grass.info(_("Overwrite space time %s dataset <%s> and unregister all maps.") % (sp.get_new_map_instance(None).get_type(), name))
+        sp.delete()
+        sp = sp.get_new_instance(id)
+
+    temporal_type = init["temporal_type"]
+    semantic_type = init["semantic_type"]
+    grass.verbose(_("Create space time %s dataset.") % sp.get_new_map_instance(None).get_type())
+
+    sp.set_initial_values(temporal_type=temporal_type, semantic_type=semantic_type, title=title, description=descr)
+    sp.insert()
+
+    # register the raster maps
+    fs="|"
+    tgis.register_maps_in_space_time_dataset(type="rast", name=output, file=list_file_name, start="file", end="file", dbif=None, fs=fs)
+
+if __name__ == "__main__":
+    options, flags = grass.parser()
+    main()

Copied: grass/trunk/temporal/t.rast.import/test.t.rast.import.sh (from rev 51264, grass/trunk/temporal/tr.import/test.tr.import.sh)
===================================================================
--- grass/trunk/temporal/t.rast.import/test.t.rast.import.sh	                        (rev 0)
+++ grass/trunk/temporal/t.rast.import/test.t.rast.import.sh	2012-04-05 20:56:58 UTC (rev 51273)
@@ -0,0 +1,46 @@
+# This is a test to list raster maps of a space time raster dataset
+
+# We need to set a specific region in the
+# @preprocess step of this test. We generate
+# raster with r.mapcalc and create a space time raster datasets
+# The region setting should work for UTM and LL test locations
+g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
+
+mkdir test
+
+r.mapcalc --o expr="prec_1 = rand(0, 550)"
+r.mapcalc --o expr="prec_2 = rand(0, 450)"
+r.mapcalc --o expr="prec_3 = rand(0, 320)"
+r.mapcalc --o expr="prec_4 = rand(0, 510)"
+r.mapcalc --o expr="prec_5 = rand(0, 300)"
+r.mapcalc --o expr="prec_6 = rand(0, 650)"
+
+n1=`g.tempfile pid=1 -d` 
+
+cat > "${n1}" << EOF
+prec_1|2001-01-01|2001-07-01
+prec_2|2001-02-01|2001-04-01
+prec_3|2001-03-01|2001-04-01
+prec_4|2001-04-01|2001-06-01
+prec_5|2001-05-01|2001-06-01
+prec_6|2001-06-01|2001-07-01
+EOF
+
+t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test with input files" descr="A test with input files"
+
+# The first @test
+t.register -i type=rast input=precip_abs1 file="${n1}" start="2001-01-01" increment="1 months"
+t.rast.export input=precip_abs1 output=strds_export.tar.bz2 compression=bzip2 workdir=test
+
+t.rast.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -oe title="A test" description="Description of a test"
+t.rast.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -loe title="A test" description="Description of a test"
+t.rast.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+              title="A test" description="Description of a test"
+t.rast.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
+          -l  title="A test" description="Description of a test"
+
+t.unregister type=rast maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
+t.remove type=strds input=precip_abs1
+g.remove rast=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6

Deleted: grass/trunk/temporal/t.rast.import/test.tr.import.sh
===================================================================
--- grass/trunk/temporal/tr.import/test.tr.import.sh	2012-04-04 21:20:55 UTC (rev 51264)
+++ grass/trunk/temporal/t.rast.import/test.tr.import.sh	2012-04-05 20:56:58 UTC (rev 51273)
@@ -1,46 +0,0 @@
-# This is a test to list raster maps of a space time raster dataset
-
-# We need to set a specific region in the
-# @preprocess step of this test. We generate
-# raster with r.mapcalc and create a space time raster datasets
-# The region setting should work for UTM and LL test locations
-g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
-
-mkdir test
-
-r.mapcalc --o expr="prec_1 = rand(0, 550)"
-r.mapcalc --o expr="prec_2 = rand(0, 450)"
-r.mapcalc --o expr="prec_3 = rand(0, 320)"
-r.mapcalc --o expr="prec_4 = rand(0, 510)"
-r.mapcalc --o expr="prec_5 = rand(0, 300)"
-r.mapcalc --o expr="prec_6 = rand(0, 650)"
-
-n1=`g.tempfile pid=1 -d` 
-
-cat > "${n1}" << EOF
-prec_1|2001-01-01|2001-07-01
-prec_2|2001-02-01|2001-04-01
-prec_3|2001-03-01|2001-04-01
-prec_4|2001-04-01|2001-06-01
-prec_5|2001-05-01|2001-06-01
-prec_6|2001-06-01|2001-07-01
-EOF
-
-t.create --o type=strds temporaltype=absolute output=precip_abs1 title="A test with input files" descr="A test with input files"
-
-# The first @test
-t.register -i type=rast input=precip_abs1 file="${n1}" start="2001-01-01" increment="1 months"
-tr.export input=precip_abs1 output=strds_export.tar.bz2 compression=bzip2 workdir=test
-
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
-          -oe title="A test" description="Description of a test"
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
-          -loe title="A test" description="Description of a test"
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
-              title="A test" description="Description of a test"
-tr.import --o input=strds_export.tar.bz2 output=precip_abs1 extrdir=test\
-          -l  title="A test" description="Description of a test"
-
-t.unregister type=rast maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
-t.remove type=strds input=precip_abs1
-g.remove rast=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6

Deleted: grass/trunk/temporal/t.rast.import/tr.import.html
===================================================================
Deleted: grass/trunk/temporal/t.rast.import/tr.import.py
===================================================================
--- grass/trunk/temporal/tr.import/tr.import.py	2012-04-04 21:20:55 UTC (rev 51264)
+++ grass/trunk/temporal/t.rast.import/tr.import.py	2012-04-05 20:56:58 UTC (rev 51273)
@@ -1,232 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-############################################################################
-#
-# MODULE:	tr.import
-# AUTHOR(S):	Soeren Gebbert
-#               
-# PURPOSE:	Import a space time raster dataset
-# COPYRIGHT:	(C) 2011 by the GRASS Development Team
-#
-#		This program is free software under the GNU General Public
-#		License (version 2). Read the file COPYING that comes with GRASS
-#		for details.
-#
-#############################################################################
-
-#%module
-#% description: Import space time raster dataset 
-#% keywords: temporal
-#% keywords: import
-#%end
-
-#%option G_OPT_F_INPUT
-#%end
-
-#%option G_OPT_STRDS_OUTPUT
-#%end
-
-#%option
-#% key: extrdir
-#% type: string
-#% description: Path to the extraction directory
-#% required: yes
-#% multiple: no
-#%end
-
-#%option
-#% key: title
-#% type: string
-#% description: Title of the new space time dataset
-#% required: no
-#% multiple: no
-#%end
-
-#%option
-#% key: description
-#% type: string
-#% description: Description of the new space time dataset
-#% required: no
-#% multiple: no
-#%end
-
-#%flag
-#% key: l
-#% description: Link the raster files using r.external
-#%end
-
-#%flag
-#% key: e
-#% description: Extend location extents based on new dataset
-#%end
-
-#%flag
-#% key: o
-#% description: verride projection (use location's projection)
-#%end
-
-
-import shutil
-import os
-import os.path
-import tarfile
-import tempfile
-import grass.script as grass
-import grass.temporal as tgis
-
-proj_file_name = "proj.txt"
-init_file_name = "init.txt"
-list_file_name = "list.txt"
-
-############################################################################
-
-def main():
-
-    # Get the options
-    input = options["input"]
-    output = options["output"]
-    extrdir = options["extrdir"]
-    title = options["title"]
-    descr = options["description"]
-    link = flags["l"]
-    exp = flags["e"]
-    overr = flags["o"]
-
-    # Make sure the temporal database exists
-    tgis.create_temporal_database()
-    
-    # Check if input file and extraction directory exits
-    if not os.path.exists(input): 
-        grass.fatal(_("Space time raster dataset archive <%s> not found.") % input)
-    if not os.path.exists(extrdir): 
-        grass.fatal(_("Extraction directory <%s> not found.") % extrdir)
-
-    tar = tarfile.open(input)
-    
-    # Check for important files
-    members = tar.getnames()
-
-    if init_file_name not in members: 
-        grass.fatal(_("Unable to find init file <%s>.") % init_file_name)
-    if list_file_name not in members: 
-        grass.fatal(_("Unable to find list file <%s>.") % list_file_name)
-    if proj_file_name not in members: 
-        grass.fatal(_("Unable to find projection file <%s>.") % proj_file_name)
-
-    tar.extractall(path=extrdir)
-    tar.close()
-
-    # Switch into the extraction directory and check for files
-    os.chdir(extrdir)
-
-    fs = "|"
-    maplist = []
-    mapset =  grass.gisenv()["MAPSET"]
-    list_file = open(list_file_name, "r")
-
-    # Read the map list from file
-    line_count = 0
-    while True:
-        line = list_file.readline()
-        if not line:
-            break
-
-        line_list = line.split(fs)
-
-        mapname = line_list[0].strip()
-        mapid = mapname + "@" + mapset
-
-        row = {}
-        row["name"] = mapname
-        row["id"] = mapid
-        row["start"] = line_list[1].strip()
-        row["end"] = line_list[2].strip()
-
-        maplist.append(row)
-        line_count += 1
-
-    list_file.close()
-    
-    # Check if geotiff files exists
-    for row in maplist:
-        filename = str(row["name"]) + ".tif"
-        if not os.path.exists(filename): 
-            grass.fatal(_("Unable to find geotiff raster file <%s> in archive.") % filename)
-
-    # Read the init file
-    fs = "="
-    init = {}
-    init_file = open(init_file_name, "r")
-    while True:
-        line = init_file.readline()
-        if not line:
-            break
-
-        kv = line.split(fs)
-        init[kv[0]] = kv[1].strip()
-    
-    init_file.close()
-
-    if not init.has_key("temporal_type") or \
-       not init.has_key("semantic_type") or \
-       not init.has_key("number_of_maps"):
-        grass.fatal(_("Key words %s, %s or %s not found in init file.") % ("temporal_type", "semantic_type", "number_of_maps"))
-
-    if line_count != int(init["number_of_maps"]):
-        grass.fatal(_("Number of maps mismatch in init and list file."))
-
-    # Check the space time dataset
-
-    id = output + "@" + mapset
-
-    sp = tgis.space_time_raster_dataset(id)
-    
-    if sp.is_in_db() and grass.overwrite() == False:
-        grass.fatal(_("Space time %s dataset <%s> is already in the database. Use the overwrite flag.") % name)
-
-    # Try to import/link the raster files
-    for row in maplist:
-        name = row["name"]
-        filename = str(row["name"]) + ".tif"
-        impflags=""
-        if overr:
-            impflags += "o"
-        if exp:
-            impflags += "e"
-        
-        if link:
-            ret = grass.run_command("r.external", input=filename, output=name, flags=impflags, overwrite=grass.overwrite())
-        else:
-            ret = grass.run_command("r.in.gdal", input=filename, output=name, flags=impflags, overwrite=grass.overwrite())
-
-        if ret != 0:
-            grass.fatal(_("Unable to import/link raster map <%s>.") % name)
-    
-        # Set the color rules if present
-        filename = str(row["name"]) + ".color"
-        if os.path.isfile(filename):
-            ret = grass.run_command("r.colors", map=name, rules=filename, overwrite=grass.overwrite())
-
-            if ret != 0:
-                grass.fatal(_("Unable to set the color rules for raster map <%s>.") % name)
-
-    # Create the space time raster dataset
-    if sp.is_in_db() and grass.overwrite() == True:
-        grass.info(_("Overwrite space time %s dataset <%s> and unregister all maps.") % (sp.get_new_map_instance(None).get_type(), name))
-        sp.delete()
-        sp = sp.get_new_instance(id)
-
-    temporal_type = init["temporal_type"]
-    semantic_type = init["semantic_type"]
-    grass.verbose(_("Create space time %s dataset.") % sp.get_new_map_instance(None).get_type())
-
-    sp.set_initial_values(temporal_type=temporal_type, semantic_type=semantic_type, title=title, description=descr)
-    sp.insert()
-
-    # register the raster maps
-    fs="|"
-    tgis.register_maps_in_space_time_dataset(type="rast", name=output, file=list_file_name, start="file", end="file", dbif=None, fs=fs)
-
-if __name__ == "__main__":
-    options, flags = grass.parser()
-    main()



More information about the grass-commit mailing list