[GRASS-user] v.in.ogr layer name

Johannes Radinger johannesradinger at gmail.com
Fri Mar 13 02:13:26 PDT 2020


Hi Markus,

On Thu, Mar 12, 2020 at 10:19 PM Markus Metz <markus.metz.giswork at gmail.com>
wrote:

>
>
> On Thu, Mar 12, 2020 at 12:43 PM Johannes Radinger <
> johannesradinger at gmail.com> wrote:
> >
> > Hi all,
> > I am using v.in.ogr to import a shape file (line vector) that has only
> one layer. Although I am specifying the output parameter in v.in.ogr the
> layer name of the imported map still remains the original; it is only the
> output map and the associated table that gets a new name as defined by
> 'output'.
> >
> > When checking the connections of that map using v.db.connect:
> > v.db.connect -p map=my_new_map at analysis2
>
> > Vector map <my_new_map at analysis2> is connected by:
> > layer <1/Watercourse> table <my_new_map> in database
> </.../analysis2/sqlite/sqlite.db> through driver <sqlite> with key <cat>
> >
> > Is that the intended behavior of v.in.ogr that the layer name does not
> get renamed based on the output parameter?
>
> Not sure how much intention is in this behaviour, but the GRASS-internal
> layer name is mostly informative. GRASS vector layers are usually addressed
> by number, not by name. It is probably safe to ignore the layer name of
> native GRASS vectors.
>

I agree that the layer name is probably mostly informative (at least I
didn't realize so far how/where it is involved in daily work with GRASS).
However, during some recent analysis I discovered that the layer name
affected how tables get renamed when new additional tables in new layers
are created... Then it is weird when the old initial layer name pops up in
a table name.
To better illustrate the issue I generated a working example to reproduce
what I mean. This is based on an INSPIRE GML file where the layer name did
not get renamed during import and where it affected the (re)naming of a
table:

####
# Create location with EPSG:4258
# Download GML file from
https://geoportal.bafg.de/inspire/download/reporting_units/WFDDesignatedWatersFish/WFDDesignatedWatersFish_DE.gml

# Import vector data with user-defined output name
v.in.ogr input=/home/jradinger/Downloads/WFDDesignatedWatersFish_DE.gml
output=Fishdata
g.region vector=Fishdata

# Check connection parameters
v.db.connect -p map=Fishdata at PERMANENT

#Vector map <Fishdata at PERMANENT> is connected by:
#layer <1/WFDDesignatedWatersFish_LIN> table <Fishdata> in database
</home/jradinger/GIS/GRASS_locations/Freshwater/PERMANENT/sqlite/sqlite.db>
through driver <sqlite> with key <cat>
### Layer name got not renamed!

# To reproduce: Add new cat and table on layer 2 and layer 3
v.category input=Fishdata layer=2 output=Fishdata2 option=add
v.db.addtable map=Fishdata2 layer=2
v.category input=Fishdata2 layer=3 output=newFishdata option=add
v.db.addtable map=newFishdata layer=3

db.tables -p
# A original table in layer 1 was renamed to
newFishdata_WFDDesignatedWatersFish_LIN using the initial layer name
#########

Don't know the underlying mechanisms how tables get renamed....

/Johannes


>
> Markus M
>
> >
> > cheers,
> > Johannes
> >
> >
> > _______________________________________________
> > grass-user mailing list
> > grass-user at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/grass-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20200313/01559591/attachment.html>


More information about the grass-user mailing list