[GRASS-user] partial vector copy to smaller territory

Frank David frank.david at geophom.fr
Tue Nov 6 07:03:00 PST 2018


Le 05/11/2018 à 14:23, Frank David a écrit :
>
> 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 
>> <mailto: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 
>> <mailto: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 <mailto: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.
>
> Am I wrong somewhere ? I use Grass 7.4.2 on debian9.
>
> Thank you for your help.
>
> Frank
>
Hi,

I've repeated the operation v.in.ogr and v.extract with success on 
different grass mapset, but I get always the same error (on v.extract : 
see above) only with one of my local grass mapset (PERMANENT). I do not 
understand what happens...

Regards,
Frank



More information about the grass-user mailing list