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

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@muc_sqlite'.
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@muc_sqlite'.
Remark: v.db.select does that job, although the same warning is displayed.

If someone has some answers for these questions...Would be great!

Best regards,
Wolfgang

--
"Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
Jetzt GMX ProMail testen: http://www.gmx.net/de/go/promail?ac=OM.GX.GX003K11711T4781a

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@muc_sqlite'.

For me it also says:

"ERROR: Cannot open old vector streams_ext_cp@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@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