[GRASS5] line types

rgrmill at rt66.com rgrmill at rt66.com
Thu Apr 11 12:34:24 EDT 2002


Radim wrote:

> On Wednesday 10 April 2002 07:08 pm, rgrmill at rt66.com wrote:
> 
> > What do you regard as a clean data set?  If you mean one for which 
the
> > build reports no errors then we have a logical problem.  
> 
> Clean data fulfil "6.7 Vector Topology Rules" in Programmer's Manual.

I'll check into it.

> > v.transform has always reported errors doing builds.
> 
> Vector without errors had errors after v.transform?

Sorry, my error.  I meant to say that v.support has always reported 
errors doing builds.

> > Some errors may not even be reported.  
> 
> Which errors are not reported.

I on occasion have apparently closed polygons that aren't identified by 
v.transform and which I can't label as an area in v.digit.  Sometimes I 
eventually figure out why, sometimes I don't have time.  In most of 
those cases v.support does report errors of some type but I don't have 
any evident way of associating the reported error with a specific 
polygon or with a specific cause.

The first time that happened to me I actually dumped everything to ascii 
and went through it manually to figure out the problem.

> > It is more of a problem to me that GRASS offers no good tool
> > for finding and fixing the problems.
> 
> That is also problem for me, and that is challenge for future. It is 
not 
> simple task, David can talk about that.
> 
> > I use the edge type when I can, but it isn't always possible.  For
> > instance, US Census Bureau Tiger County Line data are broken down 
into
> > line objects and area object.  
> 
> So they use a model with edge/line distinction?

No.  They have line objects, area objects and points.  Area objects are 
defined by a line, but the line itself is not of any special type.    
The polygons that define areas may also be imported when you import 
lines.  When I import areas I get the line around the area, which I can 
type as an area edge.  In Tiger files a closed polygon is necessary to 
define an area object, but a closed polygon by itself is not sufficient 
to define an area object.  Areas have to be designated.  The Tiger files 
I've looked at in the past don't designate very many area objects.  They 
reserve that object type for areas they regard as particularly 
significant.

> You can get consitent data to GRASS, what you only need, is to sort
> lines and edges during the import. Is it problem to run?:
> v.in.dxf lines=rivers type=line
> v.in.dxf lines=lakes type=edge
> (Of course if type= was available, now with v.line2area following the 
later)

This would not be the simplest of the possible solutions, but if the 
'type=' option actually existed then it might work. Whether or not it 
actually works depends on whether the dxf file is layered the way you 
want it.  They often are not.

> > The line/area edge distinctions causes a lot more problems then it 
has
> > has advantages, and in every case where there appears to be a use 
for
> > the difference there also appears to be a workable alternative.
> 
> What is an alternative for example with forests, fields and roads in 
my last 
> mail?

In this case you would just use v.extract to move the roads into a 
different layer based on their category number.  Most of GRASS' modules 
seem to manipulate vectors on the basis of their category numbers, so 
there are several reasons why the roads should already be categorized.

In fact, most data sets should separate land use and transportation data 
into separate layers to start with.  In my work I would more commonly 
want to merge the roads and land use data so that I can break the land 
use areas down into blocks based on access.  This would be used for 
wilderness definition and management, wildfire control, timber harvest 
and a number of other applications.  In that case the line/area edge 
distinction is an annoyance.

I looked into v.out.shape and found that the problem I had with it not 
exporting line layers was caused by the line type distinction.  I can 
add a type option.  I also looked into v.cutter and found that some of 
my problems there are also related to the line type distinction.  I can 
fix that part of v.cutter's problems, but probably not all of them.

In all cases the simpler (=better) alternative would be to remove the 
line type distinction entirely.


Roger Miller





More information about the grass-dev mailing list