I am trying to use v.overlay to clip contour lines for a specific area. The contour lines were imported into GRASS from a shapefile which is about 33Mb. The query was as follows:
The operation took 16 hours to complete, which seems excessive. Is there anything that I can do to speed things up?
I am aware of v.split, v.select, v.clean as suggestions from other posts as ways of increasing performance. Unfortunately none of these helped me very much:
v.split seems to drop the attribute table (but it has amazing effects on performance).
v.select helps a little, but due to the nature of the data, not many features are removed.
v.clean did not have any effect. The data is from the government, and is already of high quality.
Is there anything that I am missing? Or is there any way to preserve the attribute table when using v.split?
Using the v.select module first to limit the number of features
clipped often helps speed up the intersection process.
Mark
On Mon, Aug 23, 2010 at 8:45 AM, Stuart Gralton <sgralton@gmail.com> wrote:
Hello Everyone,
I am trying to use v.overlay to clip contour lines for a specific area. The
contour lines were imported into GRASS from a shapefile which is about 33Mb.
The query was as follows:
The operation took 16 hours to complete, which seems excessive. Is there
anything that I can do to speed things up?
I am aware of v.split, v.select, v.clean as suggestions from other posts as
ways of increasing performance. Unfortunately none of these helped me very
much:
v\.split seems to drop the attribute table \(but it has amazing effects on
performance).
v.select helps a little, but due to the nature of the data, not many
features are removed.
v.clean did not have any effect. The data is from the government, and is
already of high quality.
Is there anything that I am missing? Or is there any way to preserve the
attribute table when using v.split?
I am trying to use v.overlay to clip contour lines for a specific area. The
contour lines were imported into GRASS from a shapefile which is about 33Mb.
The query was as follows:
The operation took 16 hours to complete, which seems excessive. Is there
anything that I can do to speed things up?
I am aware of v.split, v.select, v.clean as suggestions from other posts as
ways of increasing performance. Unfortunately none of these helped me very
much:
v\.split seems to drop the attribute table \(but it has amazing effects on
performance).
v.spllt does copy all attribute tables. Can you post the output of
v.db.connect -p or v.db.connect -g for the original vector and the
output of v.split?
Markus M
v\.select helps a little, but due to the nature of the data, not many
features are removed.
v.clean did not have any effect. The data is from the government, and is
already of high quality.
Is there anything that I am missing? Or is there any way to preserve the
attribute table when using v.split?
v.db.connect -p cont
Vector map cont@PERMANENT is connected by:
layer <1> table in database </home/stuart/grassdata/aawt_mga55/PERMANENT/dbf/> through driver with key
The v.split command and output:
v.split input=cont output=contSplit length=10000
100%
Building topology for vector map …
Registering primitives…
37377 primitives registered
2176557 vertices registered
Building areas…
100%
0 areas built
0 isles built
Attaching islands…
Attaching centroids…
100%
Number of nodes: 38377
Number of primitives: 37377
Number of points: 0
Number of lines: 37377
Number of boundaries: 0
Number of centroids: 0
Number of areas: 0
Number of isles: 0
Proof that there is no attribute table:
v.db.connect -g contSplit
ERROR: Database connection for map contSplit@PERMANENT is not defined in DB file
I am trying to use v.overlay to clip contour lines for a specific area. The
contour lines were imported into GRASS from a shapefile which is about 33Mb.
The query was as follows:
The operation took 16 hours to complete, which seems excessive. Is there
anything that I can do to speed things up?
I am aware of v.split, v.select, v.clean as suggestions from other posts as
ways of increasing performance. Unfortunately none of these helped me very
much:
v.split seems to drop the attribute table (but it has amazing effects on
performance).
v.spllt does copy all attribute tables. Can you post the output of
v.db.connect -p or v.db.connect -g for the original vector and the
output of v.split?
Markus M
v.select helps a little, but due to the nature of the data, not many
features are removed.
v.clean did not have any effect. The data is from the government, and is
already of high quality.
Is there anything that I am missing? Or is there any way to preserve the
attribute table when using v.split?
v.db.connect -p cont
Vector map <cont@PERMANENT> is connected by:
layer <1> table <cont> in database
</home/stuart/grassdata/aawt_mga55/PERMANENT/dbf/> through driver <dbf>
with key <cat>
Stuart a general recommendation (in case you are not aware of it): better to
work with data in user-Mapsets and not in PERMANENT.
That is: create a new user-mapset, switch to it and g.copy the "to-be-
processed" material. This way ensures keeping intact the original imported
maps -- mistakes can be very time expensive.
v.db.connect -p cont
Vector map <cont@PERMANENT> is connected by:
layer <1> table <cont> in database
</home/stuart/grassdata/aawt_mga55/PERMANENT/dbf/> through driver <dbf> with
key <cat>
The v.split command and output:
v.split input=cont output=contSplit length=10000
Proof that there is no attribute table:
v.db.connect -g contSplit
ERROR: Database connection for map <contSplit@PERMANENT> is not defined in
DB file
I hope that this is this what you were after.
That's what I was after.
Umh, I forgot that I fixed that 4 months ago, please use a newer
version, preferably the latest weekly snapshot.
Markus M
Markus Metz wrote:
Stuart Gralton wrote:
> Hello Everyone,
>
> I am trying to use v.overlay to clip contour lines for a specific area.
> The
> contour lines were imported into GRASS from a shapefile which is about
> 33Mb.
> The query was as follows:
>
> v.overlay ainput=contour atype=line binput=boundingbox
> output=contour_clip
> operator=and
>
> The operation took 16 hours to complete, which seems excessive. Is there
> anything that I can do to speed things up?
>
> I am aware of v.split, v.select, v.clean as suggestions from other posts
> as
> ways of increasing performance. Unfortunately none of these helped me
> very
> much:
>
> v.split seems to drop the attribute table (but it has amazing
> effects on
> performance).
v.spllt does copy all attribute tables. Can you post the output of
v.db.connect -p or v.db.connect -g for the original vector and the
output of v.split?
Markus M
> v.select helps a little, but due to the nature of the data, not many
> features are removed.
> v.clean did not have any effect. The data is from the government,
> and is
> already of high quality.
>
>
> Is there anything that I am missing? Or is there any way to preserve the
> attribute table when using v.split?
>
> Thanks in advance,
> Stuart
>
>
> _______________________________________________
> grass-user mailing list
> grass-user@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>