<br><br>2010/4/19 Markus Metz &lt;<a href="mailto:markus.metz.giswork@googlemail.com">markus.metz.giswork@googlemail.com</a>&gt;<br>&gt;<br>&gt; G. Allegri wrote:<br>&gt;&gt;<br>&gt;&gt; Hi Markus,<br>&gt;&gt; thanks for the clarifying reply.<br>
&gt;&gt; For SF algorithms I mean those that can apply to SF structures, as meant by the OGC definition. For example a simple clip based on the SF spatial operators (like those in v.select in GRASS 7).<br>&gt;<br>&gt; v.select requires a spatial index which in turn requires (at least some basic information stored in) topology. Doing the same &gt;operation without a spatial index would be much slower. BTW, v.select should be faster in GRASS 7 than in GRASS 6.x, &gt;particularly for larger vectors, because the spatial index is handled differently in GRASS 7. The same applies for v.what (simple &gt;vector querying). <br>
<br>ok, this is how grass works, but spatial index isn&#39;t strictly associated to topology. Many other gis systems use indexes but don&#39;t require topology info.<br><br>&gt;For direct OGR access however, topology is always built anew on the fly, whenever that OGR vector is accessed which can take &gt;some time for larger vectors.<br>
<br>you mean pseudo-topology. I&#39;m sorry, but I need to be clear, otherwise I make some confusion :)<br><br>&gt; Enabling v.select to work without topology would 1) require a near complete rewrite of the module and 2) make clips slower, at least for native GRASS vectors.<br>
<br>No problem, this is not what I expect. I just expect a user to be able to import a polygonal layer, without worrying about topology correctness (clean/build operations), and do spatial operations on it. Obviously the correctness of results depend on the operation the user is doing (and it&#39;s his problem) but, i.e. a geometrical clip will be always correct, I think...<br>
<br>&gt; These operations should be quite fast for native vectors with topology.<br><br>With &quot;rapidly&quot; I meant: load data, do-the-op, save the results. I&#39;m sure that the native grass data structures can deal more efficiently then SF structures.... but often a user prefer to wait a minute more for the operation to end, then working a minute to have to manage the data cleaness (more often it takes much more then a minute, and it doesn&#39;t worth it!)<br>
<br>&gt; Yes, although not that rapidly because pseudo-topology needs to be built first. Polygons do not need to be clean, but then nobody can guarantee for the results.<br><br>Ok, but the user just have to wait and wath the progress bar completing... that&#39;s ok from his perspective :)<br>
<br><br>&gt;&gt; Even with v.external?<br>&gt;<br>&gt; Yes.<br><br>Ok, so v.external could be ok too.<br><br>giovanni<br><br><br>&gt;<br>&gt; Markus M<br>&gt;<br>&gt;<br>&gt;&gt;<br>&gt;&gt; 2010/4/19 Markus Metz&gt;<br>&gt;&gt;&gt;<br>
&gt;&gt;&gt; G. Allegri wrote:<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; I open a new post on the argument because it&#39;s something more general<br>&gt;&gt;&gt;&gt; that me and my collegues need to unsertstand.<br>&gt;&gt;&gt;&gt; I&#39;ve tried to make the point with the various vector structures and<br>
&gt;&gt;&gt;&gt; modes in grass7 and I admit to be a bit confused.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;  - v.external is meant to read ogr data sources without the<br>&gt;&gt;&gt;&gt; topoloigcal overhead.<br>&gt;&gt;&gt;<br>
&gt;&gt;&gt;  <br>&gt;&gt;&gt; By default, pseudo-topology and a spatial index is built for both v.external and direct OGR access.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Questions:<br>&gt;&gt;&gt;&gt;    - what is meant by pseduo-topology?<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; Reduced topology: each boundary is attached to one area only, i.e. smoothing, simplification, removing small areas etc. will not work properly for adjacent areas or areas within areas.<br>&gt;&gt;&gt;  <br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;    - does the &#39;b&#39; option is referred to pseudo-topology creation? If<br>&gt;&gt;&gt;&gt; I set it, I cannot see the map and the &quot;zoom to selected map&quot; gives me<br>&gt;&gt;&gt;&gt; an empty error box...<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; ... because the extends of a vector map are stored in topology, also in pseudo-topology. If topology and thus the extends are not available, &quot;zoom to selected map&quot; won&#39;t work. And yes, the &#39;b&#39; option refers to pseudo-topology.<br>
&gt;&gt;&gt;  <br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;  - direct read/write access creates the same topo structure as native<br>&gt;&gt;&gt;&gt; access, but it builds it each time I open the data source. Am I wrong?<br>&gt;&gt;&gt;&gt; Is it too simplicistic my understanding?<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; No, it also builds pseudo-topology, not native full topology, this is only available for native GRASS vectors. Full, correct topology can only be built after all polygons are cleaned as done by v.in.ogr.<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; My first concern is about the use of simple features in the grass<br>&gt;&gt;&gt;&gt; environment, and tha ability to write SF algorithms<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Can you give examples for such SF algorithms/operators? It&#39;s not clear to me what you have in mind.<br>
&gt;&gt;&gt;  <br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; that don&#39;t require<br>&gt;&gt;&gt;&gt; topology to be built. This is a requirement in daily work, mostly when<br>&gt;&gt;&gt;&gt; we deal with unclean polygonal data but the topology is not required<br>
&gt;&gt;&gt;&gt; (ie simple feature operators, etc.).<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; GRASS is rather strict about polygonal data. Working with unclean polygonal data will produce unclean results which is not desired IMHO.<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; It seems to me that you are missing some functionality in GRASS, so it would be great if you could give some examples about what is missing.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Markus M<br>&gt;&gt;<br>
&gt;<br><br>