NAMEv.edit - Edits a vector map, allows adding, deleting and modifying selected vector features.
KEYWORDSvector, editing, geometry
SYNOPSISv.edit v.edit help v.edit [-rcnt1] map=name [layer=integer] [type=string[,string,...]] tool=string [input=name] [move=x,y] [thresh=float[,float,...]] [ids=range] [cats=range] [coords=x,y[,x,y,...]] [bbox=x1,y1,x2,y2] [polygon=x,y[,x,y,...]] [where=sql_query] [query=string] [bgmap=name[,name,...]] [snap=string] [zbulk=value,step] [--verbose] [--quiet] Flags: -r Reverse selection -c Close added boundaries (using threshold distance) -n Do not expect header of input data -t Do not build topology -1 Modify only first found feature in bounding box --verbose Verbose module output --quiet Quiet module output Parameters: map=name Name of vector map to edit layer=integer Layer number A single vector map can be connected to multiple database tables. This number determines which table to use. Default: 1 type=string[,string,...] Feature type Options: point,line,boundary,centroid Default: point,line,boundary,centroid tool=string Tool Options: create,add,delete,copy,move,flip,catadd,catdel,merge,break,snap,connect,chtype,vertexadd,vertexdel,vertexmove,zbulk,select create: Create new (empty) vector map add: Add new features to existing vector map delete: Delete selected features from vector map copy: Copy selected features move: Move selected features in vector map flip: Flip direction of selected vector lines catadd: Set new categories to selected vector features for defined layer catdel: Delete categories from selected vector features for defined layer merge: Merge selected vector lines break: Break/split vector lines snap: Snap vector features in given threshold connect: Connect two lines chtype: Change feature type (pointcentroid, lineboundary) vertexadd: Add new vertex to selected vector lines vertexdel: Remove vertex from selected vector lines vertexmove: Move vertex of selected vector lines zbulk: Z bulk-labeling (automated assignment of z coordinate to vector lines) select: Select lines and print their ID's input=name ASCII file to be converted to binary vector map If not given (or "-") reads from standard input move=x,y Difference in x,y direction for moving feature or vertex thresh=float[,float,...] Threshold distance (coords,snap,query) '-1' for threshold based on the current resolution settings Default: -1,0,0 ids=range Feature ids Example: 1,3,7-9,13 cats=range Category values Example: 1,3,7-9,13 coords=x,y[,x,y,...] List of point coordinates bbox=x1,y1,x2,y2 Bounding box for selecting features polygon=x,y[,x,y,...] Polygon for selecting features where=sql_query WHERE conditions of SQL statement without 'where' keyword Example: income = 10000 query=string Query tool For 'shorter' use negative threshold value, positive value for 'longer' Options: length,dangle length: Select only lines or boundaries shorter/longer than threshold distance dangle: Select dangles shorter/longer than threshold distance bgmap=name[,name,...] Name of background vector map(s) snap=string Snap added or modified features in the given threshold to the nearest existing feature Options: no,node,vertex Default: no no: Not apply snapping node: Snap only to node vertex: Allow snapping also to vertex zbulk=value,step Starting value and step for z bulk-labeling Pair: value,step (e.g. 1100,10)
DESCRIPTIONThe module v.edit allows the user to edit a vector map via command line interface. v.edit supports only "simple" vector features: points, centroids, lines and boundaries. Currently, only 2D vector features (except of tool zbulk) are supported. Provides editing features' geometry. Attribute data connected to the vector map are not modified at all. Vector features can be selected either by internal id, category number cats, coordinates coords, bounding box bbox, polygon, where statement (attribute data) or by query. Selecting features by coordinates is affected by the current 2D resolution or by the threshold distance given by thresh. The options are orthogonal, i.e. can be used in various combinations. For example: v.edit map=roads tool=select \ coord=599505,4921010,603389.0625,4918292.1875 \ thresh=10000 where="label='interstate'" selects all features (and prints their id's to standard output) covered by two bounding boxes (center at 599505,4921010 and 603389.0625,4918292.1875, size 2*10000) with attribute label='interstate'.
NOTESIf no vector features are selected or the flag -t is used, topology is not build at the end.
USAGEFeature selection Vector features can be selected in several ways: ids - using internal (unique) feature id's cats - using category numbers coords - using x,y coordinate pairs (center of bounding box, size defined by thresh) bbox - using bounding box polygon - using polygon (at least 3 coordinate pairs have to be set) where - using where statement (attribute data) query - special query (e.g. minimal vector line length) Additional parameters for vector feature specification are: layer - layer number (currently used only with cats or where option) thresh - threshold distance used for selecting vector features by coordinates Tool description create - Create new (empty) vector map (see v.in.ascii). Optionally vector features (in GRASS ASCII standard format) can be read from standard input (input=-) or from the text file given by the input option. add - Add new vector features (defined in GRASS ASCII standard format) to existing vector map. Features can be read from standard input or from the given text file (input option). If no header is given, the -n flag must be used. Added features can be snapped (defined by snap parameter) to nodes or vertices based on threshold distance thresh. delete - Delete selected vector features from existing vector map. copy - Make identical copy of selected vector features. If background map bgmap is given copy features from background map, not from currently modified vector map. move - Move selected features of existing vector map relatively to their current location. This tool requires move option. The option defines coordinates of the movement direction. Moved features can be snapped (defined by snap parameter) to nodes or vertices based on threshold distance thresh. flip - Flip direction of selected vector lines (lines or boundaries). catadd - Add new layer category(ies) to selected vector feature(s). Category can be later used for new database entry. catdel - Delete layer category(ies) of selected vector feature(s). merge - Merge (at least two) selected vector lines or boundaries. The geometry of the merged vector lines can be changed. If the second line from two selected lines is in opposite direction to the first, it will be flipped. See also module v.build.polylines. break - Split given vector line or boundary into two lines on location given by coords. If coords not given, breaks all selected lines at each intersection (based on v.clean, tool=break). snap - Snap vector features in given threshold. See also module v.clean. Note that this tool supports only snapping to nodes. Parameters snap and bgmap are ignored. connect - Connect selected lines or boundaries, the first given line is connected to the second one. The second line is broken if necessary. The lines are connected only if distance between them is not greater than snapping threshold distance thresh. chtype - Change feature type of selected geometry objects. Points are converted to centroids, centroids to points, lines to boundaries and boundaries to lines. vertexadd - Add vertex(ces) to the given vector lines or boundaries. Location of the new vertex is given by coord option. If -1 is given only first found line or boundary in bounding box is modified. vertexdel - Remove vertex(ces) specified by coords option. If -1 is given only first found line or boundary in bounding box is modified. vertexmove - Move vertex(ces) specified by coords option. Direction of the movement is specified by the move option. If -1 is given only first found line or boundary in bounding box is modified. Moved vertex can be snapped (defined snap) to nodes or vertices based on threshold distance thresh. zbulk - Assign z coordinate to 3D vector lines in given bounding box. The first found line will get z coordinate based on value given by zbulk parameter. Z coordinate of other selected lines will be increased by step given by zbulk parameter. This tool strictly requires bbox and zbulk parameter. Also input vector map must be 3D. select - Print comma separated list of selected line id's. No editing is done.
EXAMPLESCreate new vector map Create new (empty) vector map: v.edit tool=create map=vectmap Create new vector map and read data from file 'roads.txt': v.out.ascii in=roads format=standard > roads.txt; v.edit tool=create map=vectmap input=roads.txt or alternatively cat roads.txt | v.edit tool=create map=vectmap input=- Add new features to existing vector map Add point to the vector map (without header): echo "P 1 1 640794 214874 1 1" | v.edit -n tool=add map=vectmap Add new features read from standard input: v.out.ascii in=railroads format=standard | v.edit tool=add map=vectmap Delete selected features from vector map layer Remove all vector features with category number 1 or 2: v.edit tool=delete map=roads cats=1,2 Remove all vector features except of those with category number 1 or 2 (reverse selection): v.edit -r tool=delete map=roads cats=1,2 Remove features with category 1 or 2 located on coordinates 600952.625,4926107 (bounding box based on the current 2D resolution): g.region -d; v.edit tool=delete map=roads cats=1,2 coords=600952.625,4926107 Remove all features with category 1 and 2 covered by two bounding boxes (center coordinates 592542.892,4924766.996 and 603389.062,4918292.187, size 2000 map units): v.edit map=roads tool=delete \ coord=592542.892,4924766.996,603389.062,4918292.187 \ thresh=1000 cat=1,2 Copy selected features from background map Copy all features with category number 1 from background map: v.edit map=roads tool=copy bgmap=archsites cat=1 Move features Move feature (vector point) located on coordinates 602580,4918480 to coordinates 603580,4919480: v.edit tool=move map=archsites coord=602580,4918480 th=1e-2 move=1000,1000 Move all features with category 1 1000 map units to the west and 1000 map units to the south. Moved features snap to nodes in threshold distance 10 map units: v.edit tool=move map=roads cat=1 move=1000,-1000 snap=node thresh=-1,10 Move all features defined by bounding box 601530,4921560,602520,4922310 (W,S,E,N) 1000 map units to the east and 1000 map units to the north: v.edit tool=move map=roads bbox=601530,4921560,602520,4922310 move=-1000,1000 Flip direction of vector lines Flip direction of all vector lines: v.edit tool=flip map=streams cats=1-9999 type=line Add / delete layer category number Add new layer/category 2/1, 2/3, 2/4, 2/5 to features covered by given polygon: v.edit tool=catadd map=roads \ polygon=599877.75,4925088.375,597164.812,4922524.5,601338.562,4920914.625 \ layer=2 cat=1,3-5 Delete layer/category 1/1, line id 1: v.edit tool=catdel map=roads id=1 cats=5 Merge lines Merge two lines with given category number: v.edit map=roads tool=merge cat=4 Split line on given point Split line id 810 on coordinates 604268,4923570 in threshold 50 map units: v.edit map=roads tool=break coords=604268,4923570 id=810 thresh=50 Break selected lines at each intersection Break selected lines (with category number 1) at each intersection: v.edit map=roads tool=break cat=1 Snap lines Snap all lines using threshold distance 20 map units: v.edit map=roads id=1-9999 tool=snap thresh=-1,20 type=line Connect lines Connect line id 48 to line id 565: v.edit map=roads tool=connect id=48,565 Connect line id 48 to line id 565; line id 60 to line id 50. Maximum threshold distance is 700 map units: v.edit map=roads tool=connect id=48,565,60,50 thresh=-1,700 Add vertex Add new vertex to the line located at 600952,4926107, threshold is set to 1 map unit: v.edit tool=vertexadd map=roads coords=600952,4926107 thresh=1 Delete vertices Delete vertex located at 593191.608,4925684.849 (threshold set to 0.1 map units). Modify only lines with category 1: v.edit tool=vertexdel map=roads coord=593191.608,4925684.849 \ thresh=1-e1 cats=1 Move vertices Move vertices located at 604441,4921088 (threshold set to 100 map units). Modify only lines with categories 1-10: v.edit tool=vertexmove map=roads cats=1-10 coord=604441,4921088 \ thresh=100 move=1000,1000 Select features and print their id's Print id's of selected features, e.g.: v.edit map=soils@PERMANENT tool=select \ bbox=595733.8125,4919781.75,598536.1875,4917396.75 --q Example with d.vect: d.erase; d.vect roads; d.vect -i map=roads cats='v.edit map=roads tool=select \ coord=592542.89243878,4924766.99622811,603389.0625,4918292.1875 \ thresh=1000 --q' col=red Select all lines shorter (or equal) than 10 map units: v.edit map=roads tool=select query=length thresh=-1,0,-10 Select from given bounding box all lines longer then 200 map units: v.edit map=roads tool=select bbox=598260,4919730,605100,4926240 query=length thresh=-1,0,1000 Fix height of contours Intput vector map contains 2D lines representing contours. Height can be assign to the contours using tool zbulk. First of all 2D lines need to be converted to 3D lines: v.extrude input=line2 output=line3 height=0 type=line All lines which intersect with the line given by coordinates will be modified. First found line will get height 1000 map units, height of other selected lines will be increased by 10 map units. v.edit a2 tool=zbulk bbox=586121.25049368,4911970.21547109,603092.60466035,4927071.25713776 \ zbulk=1000,10
SEE ALSOv.in.ascii, v.info, v.build, v.clean, v.digit, v.extrude See also wxGUI vector digitizing tool.
AUTHOROriginal author: Wolf Bergenheim - independent developer Various updates: Jachym Cepicky, Mendel University of Agriculture and Forestry in Brno, Czech Republic Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy Last changed: $Date: 2008-05-17 11:31:21 +0200 (Sat, 17 May 2008) $ Full index (C) 2003-2010 GRASS Development Team V.EDIT(1)