Opened 13 years ago
Last modified 9 years ago
#1438 reopened defect
g.remove cannot remove vector map because of space in DB layer name
Reported by: | arencambre | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 6.4.6 |
Component: | Database | Version: | 6.4.1 |
Keywords: | dbln, g.remove, layer name | Cc: | aren@… |
CPU: | Unspecified | Platform: | MSWindows 7 |
Description
I have a vector map named pointdata. I can confirm this because if I run v.in.ogr against a PostGIS database with output set to pointdata, the command's output is: ERROR: Vector map <pointdata> already exists
Yet when I run g.remove pointdata, I get: Removing raster <pointdata> Raster map <pointdata> not found <pointdata> nothing removed
But then you may say, "Hey, moron, that's a vector layer! Use the right command." OK, I ran g.remove vect=pointdata and I get: Removing vector <pointdata> DBMI-DBF driver error: Unable to open database <cat C:\Users\Aren Cambre\Desktop\DEEM documents\GRASS\DallasCountyCrashes\Crases2\dbf\> by driver <dbf> Unable open database <cat C:\Users\Aren Cambre\Desktop\DEEM documents\GRASS\DallasCountyCrashes\Crases2\dbf\> by driver <dbf> Unable to find table <crash> linked to vector map <pointdata> couldn't be removed <pointdata> nothing removed
I've attached a copy of the mapset in concern.
This is for GRASS GIS 6.4.1 (that option not available in the Version dropdown).
Attachments (1)
Change History (9)
by , 13 years ago
Attachment: | Crashes2.zip added |
---|
comment:1 by , 13 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
comment:2 by , 13 years ago
Resolution: | duplicate |
---|---|
Status: | closed → reopened |
Version: | unspecified → 6.4.1 |
Un-marking this as duplicate because #1158 appears to be about something else.
follow-up: 7 comment:3 by , 13 years ago
Component: | Vector → Database |
---|---|
Keywords: | dbln g.remove layer name added |
Summary: | g.remove cannot remove vector map → g.remove cannot remove vector map because of space in DB layer name |
Hi,
your vector/pointdata/dbln file looks like this:
1/raw.TxDOT crash pointdata cat $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/ dbf
the layer name (raw.TxDOT crash) is not allowed to have a space in it with GRASS 6. In GRASS 7 the separator becomes a "|" instead of a space so they are allowed there. GRASS 6 can read dbln files with "|" as the fields separator, so you might try to edit it by hand to:
1/raw.TxDOT crash|pointdata|cat|$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/|dbf
Hamish
comment:4 by , 13 years ago
(or rename the layer name to use an underscore instead of a space: "raw.TxDOT_crash")
comment:5 by , 12 years ago
So the trouble was that v.in.ogr was not checking for sql-compliant layer naming?
comment:6 by , 11 years ago
Milestone: | → 6.4.4 |
---|
comment:7 by , 11 years ago
Replying to hamish:
Hi,
your vector/pointdata/dbln file looks like this:
1/raw.TxDOT crash pointdata cat $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/ dbfthe layer name (raw.TxDOT crash) is not allowed to have a space in it with GRASS 6. In GRASS 7 the separator becomes a "|" instead of a space so they are allowed there.
So that looks like "wontfix" for GRASS 6 (since we cannot change the format) and "already solved" in GRASS 7?
comment:8 by , 9 years ago
Milestone: | 6.4.4 → 6.4.6 |
---|
Duplicates #1158.