[GRASS-user] partial vector copy to smaller territory

Markus Metz markus.metz.giswork at gmail.com
Mon Nov 5 06:56:42 PST 2018


On Mon, Nov 5, 2018 at 2:23 PM Frank David <frank.david at geophom.fr> wrote:
>
>
> Le 02/11/2018 à 22:27, Markus Metz a écrit :
>
>
>
> On Fri, Nov 2, 2018 at 6:32 PM Frank David <frank.david at geophom.fr> wrote:
> >
> > Le 02/11/2018 à 14:43, Markus Metz a écrit :
> >
> >
> >
> > On Fri, Nov 2, 2018 at 11:58 AM Frank David <frank.david at geophom.fr>
wrote:
> > >
> > > Le 31/10/2018 à 20:57, Markus Metz a écrit :
> > >
> > > Hi Frank,
> > >
> > > On Wed, Oct 31, 2018 at 1:39 PM Frank David <frank.david at geophom.fr>
wrote:
> > > >
> > > > Hello Vero,
> > > >
> > > > Thanks for your reply. It took almost one hour to extract my area
(I guess because of topology). I do the same with Qgis from a shape in less
than 10 minutes (but with several operations)... it's may be a bad idea to
have a so heavy vector map in Grass...
> > >
> > > this kind of operation could be much faster in latest GRASS 7.4 than
in any previous versions. Which GRASS version are you using?
> > >
> > > Hello Markus,
> > >
> > > I'm using 7.4.1 on debian9
> > >
> > > But my grass db folder  is on a small server (Synology NAS), so may
be the network makes slow down the operation ?
> >
> > This is possible, but it should not slow it down that much: 10 min vs 1
hour
> >
> > Can you provide a link to the vector from which you want to extract a
small area, and the command you used to extract a small area? Maybe there
is scope for optimization.
> >
> > Markus,
> >
> > The data is CorineLandCover for france. You can download 400mo here >
https://we.tl/t-tvldlmkVw3
> >
> > First I have imported the shape in PERMANENT
> >
> > and I do : v.extract --verbose input=CLC12_FR_RGF at PERMANENT
where=CODE_12 IN (111,112,131,311,312,313,324) output=clc12
> >
> > Hope it helps you...
>
> import of the shapefile with v.in.ogr takes here 5 minutes
> v.extract takes here 27 seconds instead of 1 hour
>
> "here" means a laptop with Intel Core i7 4th generation and standard SATA
SSD, i.e. no fancy new high-speed system at all.
>
> I am afraid this does not help you. What could take long is writing
attributes, depending on the database connection. I am using the default
sqlite database.
>
> You could use top to check if v.extract is running at 100%.
>
> Hello Markus,
>
> Thank you for your help.
>
> I'm trying to do again the operation on local machine. I want fisrt,
create a vector with only selected data (on full France area). But I've met
a problem with v.extract.
>
> v.extract --overwrite --verbose input=CLC12_FR_RGF at PERMANENT type=area
where=CODE_12 IN (111,112,121,311,312,313,324)
output=CLC12_FR_RGF_BOISBATI at PERMANENT
> Loading categories from table <CLC12_FR_RGF>...
> DBMI-DBF erreur de pilote :
> SQL parser error (syntax error, unexpected NAME processing
> 'IN') in statement:
> SELECT cat FROM CLC12_FR_RGF WHERE CODE_12 IN
> (111,112,121,311,312,313,324)
> Unable to open cursor.
> DBMI-DBF erreur de pilote :
> SQL parser error (syntax error, unexpected NAME processing
> 'IN') in statement:
> SELECT cat FROM CLC12_FR_RGF WHERE CODE_12 IN
> (111,112,121,311,312,313,324)
> Unable to open cursor.
> ERROR: Unable select records from table <CLC12_FR_RGF>
>
> It looks that grass does not recognized "IN" sql condition. If I force
layer=-1, it runs bur the output vector is the same as input one.

DBF does not recognize the "IN". It is highly recommended to leave the
GRASS database connection at the default sqlite. You can reset the GRASS
database connection to the default with
db.connect -d
After that verify with
db.connect -p

Markus M
>
> Am I wrong somewhere ? I use Grass 7.4.2 on debian9.
>
> Thank you for your help.
>
> Frank
>
>
> Markus M
> >
> > Cheers,
> > Frank
> >
> >
> > Markus M
> > >
> > > Cheers,
> > > Frank
> > >
> > >
> > > Markus M
> > > >
> > > > Cheers,
> > > >
> > > > Frank
> > > >
> > > > Le 31/10/2018 à 11:26, Veronica Andreo a écrit :
> > > >
> > > > Check v.extract or v.clip
> > > >
> > > > Cheers,
> > > > Vero
> > > >
> > > > El mié., 31 oct. 2018 7:20, Frank David <frank.david at geophom.fr>
escribió:
> > > >>
> > > >> Hello,
> > > >>
> > > >> What is the best and fast way to make a copy of a part of vector
map
> > > >> (national) to get a smaller territory ? (partial copy).
> > > >> Thank you for your advice !
> > > >>
> > > >> Frank
> > > >> _______________________________________________
> > > >> grass-user mailing list
> > > >> grass-user at lists.osgeo.org
> > > >> https://lists.osgeo.org/mailman/listinfo/grass-user
> > > >
> > > > _______________________________________________
> > > > 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/20181105/f7380583/attachment-0001.html>


More information about the grass-user mailing list