[GRASS-SVN] r50976 - in grass-addons/grass6/display: . d.frontline

svn_grass at osgeo.org svn_grass at osgeo.org
Sat Mar 3 03:46:05 EST 2012


Author: amuriy
Date: 2012-03-03 00:46:05 -0800 (Sat, 03 Mar 2012)
New Revision: 50976

Added:
   grass-addons/grass6/display/d.frontline/
   grass-addons/grass6/display/d.frontline/Makefile
   grass-addons/grass6/display/d.frontline/d.frontline
   grass-addons/grass6/display/d.frontline/description.html
Modified:
   grass-addons/grass6/display/Makefile
Log:
<d.frontline> added to grass6/display

Modified: grass-addons/grass6/display/Makefile
===================================================================
--- grass-addons/grass6/display/Makefile	2012-03-03 05:24:21 UTC (rev 50975)
+++ grass-addons/grass6/display/Makefile	2012-03-03 08:46:05 UTC (rev 50976)
@@ -3,9 +3,11 @@
 SUBDIRS = \
 	d.edit.rast \
 	d.frame.split \
+	d.frontline \
 	d.region \
 	d.region.box \
-	d.shortcuts
+	d.shortcuts \
+	d.zoom.keys
 
 include $(MODULE_TOPDIR)/include/Make/Dir.make
 

Added: grass-addons/grass6/display/d.frontline/Makefile
===================================================================
--- grass-addons/grass6/display/d.frontline/Makefile	                        (rev 0)
+++ grass-addons/grass6/display/d.frontline/Makefile	2012-03-03 08:46:05 UTC (rev 50976)
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = d.frontline
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script

Added: grass-addons/grass6/display/d.frontline/d.frontline
===================================================================
--- grass-addons/grass6/display/d.frontline/d.frontline	                        (rev 0)
+++ grass-addons/grass6/display/d.frontline/d.frontline	2012-03-03 08:46:05 UTC (rev 50976)
@@ -0,0 +1,595 @@
+#!/bin/sh
+############################################################################
+#
+# MODULE:       d.frontline
+# AUTHOR(S):    Alexander Muriy
+#               (Institute of Environmental Geoscience, Moscow, Russia)  
+#               e-mail: amuriy AT gmail DOT com 
+#
+# PURPOSE:      Displays frontlines on the graphic monitor using d.graph
+#               (optionally save graph file and ps.map file)
+#
+# COPYRIGHT:    (C) 05-06/2011 Alexander Muriy / GRASS Development Team
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+############################################################################
+#%Module 
+#%  description: Display different types of frontlines on the graphic monitor using d.graph (optionally save graph file and ps.map file)
+#%  keywords: display, graphics, vector, symbology
+#%End
+#%Option
+#%  key: map
+#%  type: string
+#%  required: yes
+#%  multiple: no
+#%  key_desc: name
+#%  description: Name of input vector map
+#%  gisprompt: old,vector,vector
+#%  guisection: Select
+#%End
+#%Option
+#%  key: where
+#%  type: string
+#%  description: The WHERE statement for data filtering
+#%  label:  WHERE conditions of SQL query statement without 'where' keyword
+#%  required : no
+#%  guisection: Select
+#%End
+#%Option
+#%  key: hcolor
+#%  type: string
+#%  description: Standard color name or R:G:B 
+#%  label: Highlight color for vector interactive selecting
+#%  required : no
+#%  answer: yellow
+#%  gisprompt: old_color,color,color
+#%  guisection: Select
+#%End
+#%Option
+#%  key: list
+#%  type: string
+#%  description: Example: 1,3,7-9,13
+#%  label: Category number(s)
+#%  required : no
+#%  guisection: Select
+#%End
+#%Option
+#%  key: layer
+#%  type: integer
+#%  label: Layer number. If -1, all layers are extracted.
+#%  description: A single vector map can be connected to multiple database tables. This number determines which table to use.
+#%  required : no
+#%  answer: 1
+#%  guisection: Select
+#%End
+#%Option
+#%  key: side
+#%  type: string
+#%  description: Side of the frontline
+#%  options: left,right,both  
+#%  answer: left
+#%End
+#%Option
+#%  key: interval
+#%  type: double
+#%  required: yes
+#%  description: Interval between symbols (in mapset units)   
+#%End
+#%Option
+#%  key: symbol
+#%  type: string
+#%  required: yes
+#%  multiple: no
+#%  description: Type of symbol (<front/...> symbols will be produced by script at first use: front/arrow_int, front/arrow_ext, front/box, front/circle, front/half_box, front/line, front/triangle). May be any symbol from $GISBASE/etc/symbol/ or $MAPSET/symbol/ directories.
+#%  guisection: Symbol
+#%End
+#%Option
+#%  key: size
+#%  type: integer
+#%  required: no
+#%  description: Symbol size 
+#%  answer: 20
+#%  guisection: Symbol
+#%End
+#%Option
+#%  key: line_color
+#%  type: string
+#%  required: no
+#%  description: Color for line (standard color name or R:G:B)
+#%  answer: black
+#%  gisprompt: old_color,color,color
+#%  guisection: Symbol
+#%End
+#%Option
+#%  key: fill_color
+#%  type: string
+#%  required: no
+#%  description: Color for fill (standard color name or R:G:B) 
+#%  answer: grey
+#%  gisprompt: old_color,color,color
+#%  guisection: Symbol
+#%End
+#%Option
+#%  key: width
+#%  type: integer
+#%  required: no
+#%  description: Width of symbol's line  
+#%  answer: 0
+#%  guisection: Symbol
+#%End
+#%Option
+#%  key: graph
+#%  type: string
+#%  required: no
+#%  multiple: no
+#%  key_desc: name
+#%  description: Output file to save the d.graph commands 
+#%  gisprompt: new_file,file,output
+#%End
+#%Option
+#%  key: psmap
+#%  type: string
+#%  required: no
+#%  multiple: no
+#%  key_desc: name
+#%  description: Output file to save the ps.map commands 
+#%  gisprompt: new_file,file,output
+#%End
+#%Flag
+#%  key: m
+#%  description: Select vector features interactively (with a mouse) 
+#%  guisection: Select
+#%End
+#%Flag
+#%  key: s 
+#%  description: Save graphics commands in file(s) (for use with d.graph and/or ps.map)
+#%End
+
+
+if [ -z "$GISBASE" ] ; then
+    echo "You must be in GRASS GIS to run this program." 1>&2
+    exit 1
+fi
+
+if [ "$1" != "@ARGS_PARSED@" ] ; then
+    exec g.parser "$0" "$@"
+fi
+
+
+## set environment so that awk works properly in all languages ##
+unset LC_ALL
+export LC_NUMERIC=C
+
+
+############################################################
+cleanup()
+{ 
+    g.mremove -f vect="TMP*" --quiet
+    \rm -f $TMP1* $TMP2* $TMP3* $TMP4* $TMP5*
+    
+}
+############################################################
+
+## what to do in case of user break:
+exitprocedure()
+{
+    echo "User break!"
+    cleanup
+    exit 1
+}
+
+## shell check for user break (signal list: trap -l)
+trap "exitprocedure" 2 3 15
+
+############################################################
+
+
+## check for awk
+
+if [ ! -x "$(which awk)" ] ; then
+    g.message -e "awk required, please install awk or gawk first"
+    exit 1
+fi
+
+
+## does map exist?
+eval "$(g.gisenv)"
+eval "$(g.findfile mapset="$MAPSET" element=vector file="$GIS_OPT_MAP")"
+if [ ! "$file" ]; then
+    g.message -e "Vector map <"$GIS_OPT_MAP"> not found"
+    exit 1
+fi
+
+
+## check for lines and boundaries in input map
+
+eval "$(v.info -t "$GIS_OPT_MAP")"
+
+if [ "$lines" -eq 0 ] && [ "$boundaries" -eq 0 ]; then
+    g.message -e "Input vector map not contain lines or boundaries"
+    exit 1
+fi
+
+for vars in "$(v.info -t "$GIS_OPT_MAP" | cut -d"=" -f1)"; do
+    unset -v "$vars"
+done
+
+## check if monitor started
+
+if [ "$(d.mon -p | cut -f1 -d' ')" != "Currently" ] ; then
+    g.message -e "No active monitors. Please start <d.mon ...> first"
+    exit 1
+fi
+
+
+## check for "-m" flag and "where" option
+
+if [ "$GIS_FLAG_M" -eq 1 ] && [ -n "$GIS_OPT_WHERE" -o -n "$GIS_OPT_LIST" ]; then
+    g.message -e "Please choose only one of selection methods:
+interactive (flag <"-m">) OR non-interactive -- (<"where"> statement or <"list"> of category values )"
+    exit 1
+fi 
+
+## check for "list" and "where" options
+
+if [ -n "$GIS_OPT_WHERE" ] && [ -n "$GIS_OPT_LIST" ]; then
+    g.message -e "Please choose only one of non-interactive selection methods: <"where"> statement or <"list"> of category values"
+    exit 1
+fi
+
+
+## is input vector displayed now ?
+
+d.save -oc | grep -e "d.vect map=" | cut -d'"' -f2 | grep -e "$GIS_OPT_MAP" --quiet
+
+if [ "$?" -eq 1 ]; then
+    g.message -e "Input vector map <""$GIS_OPT_MAP""> is not on the monitor. Please use <d.vect "$GIS_OPT_MAP" ..> to display it"
+    exit 1
+fi
+
+############################################################
+
+
+## setup temporary files ##
+
+# create temporary file for segments azimuth
+TMP1="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP1" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+# create temporary file for symbols' points coordinates 
+TMP2="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP2" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+# create temporary file for points to lines query 
+TMP3="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP3" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+# create temporary file for d.graph commands file
+TMP4="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP4" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+# create temporary file for d.graph commands file
+TMP5="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP4" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+# create temporary file for psmap file
+TMP6="$(g.tempfile pid=$$)"
+if [ "$?" -ne 0 ] || [ -z "$TMP5" ] ; then
+    g.message -e "ERROR: Unable to create temporary files."
+    exit 1
+fi
+
+############################################################
+
+
+## vector selecting 
+
+if [ "$GIS_FLAG_M" -eq 1 ]; then
+    echo "Select vector(s) with mouse
+- L: draw box with left mouse button to select
+- M: draw box with middle mouse button to remove from display
+- R: quit and save selected vectors to new map"
+    
+    d.extract input="$GIS_OPT_MAP" output=TMP_select type=line,boundary hcolor="$GIS_OPT_HCOLOR" --quiet
+elif  [ "$GIS_FLAG_M" -eq 0 -a -z "$GIS_OPT_WHERE" -a -z "$GIS_OPT_LIST" ]; then
+    g.copy vect="$GIS_OPT_MAP",TMP_select --quiet
+fi
+
+
+if [ -n "$GIS_OPT_WHERE" ]; then
+    v.extract -t input="$GIS_OPT_MAP" output=TMP_select type=line,boundary where="$GIS_OPT_WHERE" layer="$GIS_OPT_LAYER" --quiet
+elif [ -n "$GIS_OPT_LIST" ]; then
+    v.extract -t input="$GIS_OPT_MAP" output=TMP_select type=line,boundary list="$GIS_OPT_LIST" layer="$GIS_OPT_LAYER" --quiet
+fi
+
+
+## TODO: maybe use v.segment for more precise segments splitting ??? 
+## In that case --> generate split-file with points for v.segment with v.to.db 
+## (line length) and AWK 
+
+
+## bounds to lines (if needed)
+
+eval "$(v.info -t TMP_select)"
+if [ "$boundaries" -ne 0 ]; then
+    v.type input=TMP_select output=TMP_select_lines type=boundary,line --quiet
+else
+    g.rename vect=TMP_select,TMP_select_lines --quiet
+fi
+
+for vars in "$(v.info -t TMP_select_lines | cut -d"=" -f1)"; do
+    unset -v "$vars"
+done
+
+
+## split line into segments; delete old cats, add new cats
+
+v.split input=TMP_select_lines output=TMP_select_lines_split vertices=2 --quiet > /dev/null
+
+v.category input=TMP_select_lines_split output=TMP_select_lines_split_catdel option=del --quiet 
+
+v.category input=TMP_select_lines_split_catdel output=TMP_select_lines_split_catdel_cats option=add step=1 --quiet 
+
+SEGM=TMP_select_lines_split_catdel_cats
+
+
+## find azimuth of each segment in a line or boundary
+
+v.to.db -p map="$SEGM" option=azimuth --quiet >> "$TMP1"
+
+
+## take points for future symbols 
+
+v.to.points -t -i input=TMP_select_lines type=line dmax="$GIS_OPT_INTERVAL" output=TMP_pts --quiet 
+
+
+## take coordinates of points 
+
+v.to.db -p map=TMP_pts layer=2 option=coor --quiet >> "$TMP2"
+
+
+## points to segments' categories query
+
+v.distance -p from=TMP_pts to="$SEGM" from_layer=2 to_type=line,boundary upload=cat column=dummy_nearest_cats --quiet >> "$TMP3"
+
+awk 'NR>1 {print $0}' "$TMP3" | tr '|' ' '  > "$TMP3.clean"
+
+
+## 
+
+awk -F"|" 'BEGIN { OFMT="%.6f" } {print $1,$2,$3}' "$TMP2"  >> "$TMP2.pts.coor"
+
+join -j 1 "$TMP2.pts.coor" "$TMP3.clean" > "$TMP2.pts.segm"
+
+
+## find angles of symbols
+
+left_front()
+{
+    awk -F"|" 'BEGIN { OFMT="%.0f" } {print $1,450-$2}' "$TMP1" > "$TMP1.left.angle"
+    
+    awk 'NR==FNR{a[$1]=$2;next}$4 in a{$4=a[$4]}1' "$TMP1.left.angle" "$TMP2.pts.segm" > "$TMP1.left.table"
+    
+    awk '{print "'"rotation"'", $4, "'"symbol $GIS_OPT_SYMBOL"'", "'"$GIS_OPT_SIZE"'", $2, $3, "'"$GIS_OPT_LINE_COLOR"'", "'"$GIS_OPT_FILL_COLOR"'", "'"width"'", "'"$GIS_OPT_WIDTH"'"}' "$TMP1.left.table" >> "$TMP4"
+    if [ -n "$GIS_OPT_PSMAP" ]; then
+	awk '{print "'"point"'", $2, $3, "'"color $GIS_OPT_LINE_COLOR"'", "'"fcolor $GIS_OPT_FILL_COLOR"'", "'"symbol $GIS_OPT_SYMBOL"'", "'"size $GIS_OPT_SIZE"'", "'"rotate"'", $4, "'"end"'"}' "$TMP1.left.table" >> "$TMP6" 
+    fi
+}
+
+
+right_front()
+{
+    awk -F"|" 'BEGIN { OFMT="%.0f" } {print $1,270-$2}' "$TMP1" > "$TMP1.right.angle"
+    
+    awk 'NR==FNR{a[$1]=$2;next}$4 in a{$4=a[$4]}1' "$TMP1.right.angle" "$TMP2.pts.segm" > "$TMP1.right.table"
+    
+    awk '{print "'"rotation"'", $4, "'"symbol $GIS_OPT_SYMBOL"'", "'"$GIS_OPT_SIZE"'", $2, $3, "'"$GIS_OPT_LINE_COLOR"'", "'"$GIS_OPT_FILL_COLOR"'", "'"width"'", "'"$GIS_OPT_WIDTH"'"}' "$TMP1.right.table" >> "$TMP4"
+    if [ -n "$GIS_OPT_PSMAP" ]; then
+	awk '{print "'"point"'", $2, $3, "'"color $GIS_OPT_LINE_COLOR"'", "'"fcolor $GIS_OPT_FILL_COLOR"'", "'"symbol $GIS_OPT_SYMBOL"'", "'"size $GIS_OPT_SIZE"'", "'"rotate"'", $4, "'"end"'"}' "$TMP1.right.table" >> "$TMP6" 
+    fi
+}
+
+
+case "$GIS_OPT_SIDE" in
+    left)
+	left_front
+	;;
+
+    right)
+	right_front
+	;;
+
+    both)
+	left_front
+	right_front
+	;;
+    *)
+esac
+
+## make custom front symbols in the user's mapset ($MAPSET/symbol/type/name) ??? 
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 1.5 1.5
+STRING
+  LINE
+    0 0
+    0 1.5
+  END
+END
+STRING
+  LINE
+    0.4 0.75
+    0 0
+  END
+END
+STRING
+  LINE
+    -0.4 0.75
+    0 0
+  END
+END" > "$TMP5.arrow.int"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 1.5 1.5
+STRING
+  LINE
+    0 0
+    0 1.5
+  END
+END
+STRING
+  LINE
+    0.4 0.75
+    0 1.5
+  END
+END
+STRING
+  LINE
+    -0.4 0.75
+    0 1.5
+  END
+END" > "$TMP5.arrow.ext"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 0.5 0.5
+POLYGON
+  RING
+    LINE
+      -0.2 0
+      -0.2 0.4
+      0.2 0.4
+      0.2 0
+    END
+  END
+END" > "$TMP5.box"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 0.5 0.5
+POLYGON
+  RING
+    ARC 0 0 0.333 0 180
+  END
+END" > "$TMP5.circle"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 0.5 0.5
+POLYGON
+  RING
+    LINE
+      -0.2 0
+      -0.2 0.2
+      0.2 0.2
+      0.2 0
+    END
+  END
+END" > "$TMP5.half_box"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 0.5 0.5
+STRING
+  LINE
+    0 0
+    0 0.5
+  END
+END" > "$TMP5.line"
+
+echo "VERSION 1.0
+BOX -0.5 -0.5 0.5 0.5
+POLYGON
+  RING
+    LINE
+      -0.25 0
+      0 0.5
+      0.25 0
+    END
+  END
+END" > "$TMP5.triangle"
+
+
+eval "$(g.gisenv)"
+
+symbol_path="$GISDBASE"/"$LOCATION_NAME"/"$MAPSET"/symbol/front
+
+if [ ! -d "$symbol_path" ]; then
+    mkdir -p "$symbol_path"
+    cp -f "$TMP5.arrow.int" "$symbol_path"/arrow_int
+    cp -f "$TMP5.arrow.ext" "$symbol_path"/arrow_ext
+    cp -f "$TMP5.box" "$symbol_path"/box
+    cp -f "$TMP5.circle" "$symbol_path"/circle
+    cp -f "$TMP5.half_box" "$symbol_path"/half_box
+    cp -f "$TMP5.line" "$symbol_path"/line
+    cp -f "$TMP5.triangle" "$symbol_path"/triangle
+fi
+
+
+## format d.graph input file and ps.map points file
+
+awk '{print $1,$2,"'"\n"'",$10,$11,"'"\n"'",$3,$4,$5,$6,$7,$8,$9}' "$TMP4" >> "$TMP4.fmt"
+
+awk '{print $1,$2,$3,"'"\n"'",$4,$5,"'"\n"'",$6,$7,"'"\n"'",$8,$9,"'"\n"'",$10,$11,"'"\n"'",$12,$13,"'"\n"'","'"end"'"}' "$TMP6" >> "$TMP6.fmt"
+
+
+## draw frontlines and (optionally) save graph file and psmap file   
+
+if [ "$GIS_FLAG_S" -eq 0 ] && [ -n "$GIS_OPT_GRAPH" ]; then
+    g.message -e "Please use flag <"-s"> to save line graphics in file <"$GIS_OPT_GRAPH">"
+    cleanup
+    exit 1
+fi   
+    
+
+if [ "$GIS_FLAG_S" -eq 1 ]; then
+    if [ -n "$GIS_OPT_GRAPH" ]; then
+	cp -f "$TMP4.fmt" "$GIS_OPT_GRAPH"
+	d.graph -m input="$GIS_OPT_GRAPH" color=none
+    else
+	SYMBOL="$(echo $GIS_OPT_SYMBOL | tr '/' '_')"
+	GRAPH_FILE=""$GISDBASE"/"$LOCATION_NAME"/"$GIS_OPT_MAP"__"$SYMBOL"_"$GIS_OPT_INTERVAL"_"$GIS_OPT_SIDE"_"$GIS_OPT_LINE_COLOR"".graph
+#	cp -f "$TMP4.fmt" "$GRAPH_FILE"
+	cat "$TMP4.fmt" >> "$GRAPH_FILE"
+	d.graph -m input="$GRAPH_FILE" color=none
+    fi
+else 
+    d.graph -m input="$TMP4.fmt" color=none
+fi
+
+
+if [ "$GIS_FLAG_S" -eq 0 ] && [ -n "$GIS_OPT_PSMAP" ]; then
+    g.message -e "Please use flag <"-s"> to save line graphics in file <"$GIS_OPT_PSMAP"> for use with ps.map" 
+    cleanup
+    exit 1
+fi
+
+if [ -n "$GIS_OPT_PSMAP" ]; then
+#    cp -f "$TMP6.fmt" "$GIS_OPT_PSMAP"
+    cat "$TMP6.fmt" >> "$GIS_OPT_PSMAP" 
+fi
+
+
+cleanup
+
+exit 0


Property changes on: grass-addons/grass6/display/d.frontline/d.frontline
___________________________________________________________________
Added: svn:executable
   + *

Added: grass-addons/grass6/display/d.frontline/description.html
===================================================================
--- grass-addons/grass6/display/d.frontline/description.html	                        (rev 0)
+++ grass-addons/grass6/display/d.frontline/description.html	2012-03-03 08:46:05 UTC (rev 50976)
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>GRASS GIS manual: d.frontline</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="grassdocs.css" type="text/css">
+</head>
+<body bgcolor="white">
+
+<img src="grass_logo.png" alt="GRASS logo"><hr align=center size=6 noshade>
+
+<h2>NAME</h2>
+<em><b>d.frontline</b></em>  - Display different types of frontlines on the graphic monitor using d.graph (optionally save graph file and ps.map file)
+<h2>KEYWORDS</h2>
+display, graphics, vector, symbology
+<h2>SYNOPSIS</h2>
+<b>d.frontline</b><br>
+<b>d.frontline help</b><br>
+<b>d.frontline</b> [-<b>ms</b>] <b>map</b>=<em>name</em>  [<b>where</b>=<em>string</em>]   [<b>hcolor</b>=<em>string</em>]   [<b>list</b>=<em>string</em>]   [<b>layer</b>=<em>integer</em>]   [<b>side</b>=<em>string</em>]  <b>interval</b>=<em>float</em> <b>symbol</b>=<em>string</em>  [<b>size</b>=<em>integer</em>]   [<b>line_color</b>=<em>string</em>]   [<b>fill_color</b>=<em>string</em>]   [<b>width</b>=<em>integer</em>]   [<b>graph</b>=<em>name</em>]   [<b>psmap</b>=<em>name</em>]   [--<b>verbose</b>]  [--<b>quiet</b>] 
+
+<h3>Flags:</h3>
+<DL>
+<DT><b>-m</b></DT>
+<DD>Select vector features interactively (with a mouse)</DD>
+
+<DT><b>-s</b></DT>
+<DD>Save graphics commands in file(s) (for use with d.graph and/or ps.map)</DD>
+
+<DT><b>--verbose</b></DT>
+<DD>Verbose module output</DD>
+<DT><b>--quiet</b></DT>
+<DD>Quiet module output</DD>
+</DL>
+
+<h3>Parameters:</h3>
+<DL>
+<DT><b>map</b>=<em>name</em></DT>
+<DD>Name of input vector map</DD>
+
+<DT><b>where</b>=<em>string</em></DT>
+<DD>WHERE conditions of SQL query statement without 'where' keyword</DD>
+<DD>The WHERE statement for data filtering</DD>
+
+<DT><b>hcolor</b>=<em>string</em></DT>
+<DD>Highlight color for vector interactive selecting</DD>
+<DD>Standard color name or R:G:B</DD>
+<DD>Default: <em>yellow</em></DD>
+
+<DT><b>list</b>=<em>string</em></DT>
+<DD>Category number(s)</DD>
+<DD>Example: 1,3,7-9,13</DD>
+
+<DT><b>layer</b>=<em>integer</em></DT>
+<DD>Layer number. If -1, all layers are extracted.</DD>
+<DD>A single vector map can be connected to multiple database tables. This number determines which table to use.</DD>
+<DD>Default: <em>1</em></DD>
+
+<DT><b>side</b>=<em>string</em></DT>
+<DD>Side of the frontline</DD>
+<DD>Options: <em>left,right,both</em></DD>
+<DD>Default: <em>left</em></DD>
+
+<DT><b>interval</b>=<em>float</em></DT>
+<DD>Interval between symbols (in mapset units)</DD>
+
+<DT><b>symbol</b>=<em>string</em></DT>
+<DD>Type of symbol (&lt;front/...&gt; symbols will be produced by script at first use: front/arrow_int, front/arrow_ext, front/box, front/circle, front/half_box, front/line, front/triangle). May be any symbol from $GISBASE/etc/symbol/ or $MAPSET/symbol/ directories.</DD>
+
+<DT><b>size</b>=<em>integer</em></DT>
+<DD>Symbol size</DD>
+<DD>Default: <em>20</em></DD>
+
+<DT><b>line_color</b>=<em>string</em></DT>
+<DD>Color for line (standard color name or R:G:B)</DD>
+<DD>Default: <em>black</em></DD>
+
+<DT><b>fill_color</b>=<em>string</em></DT>
+<DD>Color for fill (standard color name or R:G:B)</DD>
+<DD>Default: <em>grey</em></DD>
+
+<DT><b>width</b>=<em>integer</em></DT>
+<DD>Width of symbol's line</DD>
+<DD>Default: <em>0</em></DD>
+
+<DT><b>graph</b>=<em>name</em></DT>
+<DD>Output file to save the d.graph commands</DD>
+
+<DT><b>psmap</b>=<em>name</em></DT>
+<DD>Output file to save the ps.map commands</DD>
+
+</DL>
+</body>
+</html>



More information about the grass-commit mailing list