[GRASS-user] v.external::possibility to "translate" v.external-layer into "real" grass layer - bug?

Maciej Sieczka tutey at o2.pl
Wed Feb 7 11:51:21 EST 2007


Wolfgang Qual wrote:
> Hello list, again, something about v.external. I recently read that
> it should be possible to "translate" a v.external-layer into a real
> grass layer using g.copy. A new layer is produced, but when I try to
> query it (v.db.select), I get the WARNING: Can't open fidx file for
> vector 'oe2 at muc_sqlite'.

For me it also says:

"ERROR: Cannot open old vector streams_ext_cp at sieczka on level 2"

v.build fixes that. Maybe topology should be built automaticaly when
copying OGR external vector into GRASS vector - dunno.

> As described in the previous mail, there is
> also no entry for an attribute table visible in sqlite (I use sqlite
> for the attributes).
> 
> Additionally, the former imported layer (using v.external) could be
> loaded into QGIS; however, this is not true for the layer which was
> created out of that one using g.copy. QGIS simply writes "No layers
> available in this map".
> 
> And: It is not possible to display field-info using v.info -c for
> this layer (layer created out of v.external using g.copy) GRASS
> 6.1.cvs (muc):~ > v.info -c map=oe2 WARNING: Can't open fidx file
> for vector 'oe2 at muc_sqlite'.

v.info -c should work after you run v.build (it does for me I mean).

However, querying (d.what.vect) the output of v.external, as well as
querying it's GRASS vector-copy created with g.copy, followed by
v.build, always results in error like:

---
centre_input_ext in sieczka  Point
Layer: 1
category: 7
driver: ogr
database: /home/shoofi/centre_input/centre_input.shp
table: centre_input
key column:
ERROR 1: SQL: Failed to identify field:=
DBMI-OGR driver error:
Cannot select:
select * from centre_input where  = 7
---

I'm using DBF driver.

I can reproduce this with different shapefiles, which have their
attributes in DBF files, and which I can query eg. in QGIS just OK.

Looks like there is a bug in v.external (it is impossible to query it's
output's datatable) and *maybe* a missing feature in g.copy (which
doesn't build the topology when converting external OGR vector into
GRASS vector).

Maciek




More information about the grass-user mailing list