<div dir="ltr">I wrote down all the cases and here is the conclusion :<div><br></div><div>*When looking for topogeom B related to topogeom A, we should get all elements of B which may be impacted by a change in A.*<br>This definition of relation is much more clear and precise.<br>
<br>So with this new definition,</div><div><br></div><div>getting puntal/lineal/areal impacted by a change on a point is to take all node impacted (one) / all edge impacted by this node / all faces impacted by all edges impacted by the node.</div>
<div><br></div><div>Same for a change in lineal or in areal.</div><div><br></div><div>I'll re-code in this way.</div><div><br></div><div>Cheers,</div><div><br></div><div>Rémi-C</div></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">2013/10/23 Rémi Cura <span dir="ltr"><<a href="mailto:remi.cura@gmail.com" target="_blank">remi.cura@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hmm it can't work, <div><br></div><div>please do not consider the previous message, i'm doing changes.<br><br>Cheers,</div><div>Rémi-C</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">
2013/10/23 Rémi Cura <span dir="ltr"><<a href="mailto:remi.cura@gmail.com" target="_blank">remi.cura@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Just to be sure could you validate please?<div><br></div><div>The way I intend to find a source topogeom is related to target topogeom is like this (in sql pseudo code): </div><div><br></div><div>element_id is supposed to be the element_id found in the relation table regarding *source* topogeom : </div>


<div>Example : what are the (lineal) target topogeom related to the (puntal) source topogeom :</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>`SELECT abs_next_left_edge UNION SELECT abs_next_right_edge</div>


<div>WHERE element_id = start_node OR element_id = end_node`</div></blockquote><div><br></div><div>with the following</div><div><div>target </div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>puntal : SELECT start_node UNION SELECT end_node </div>


<div>lineal :  SELECT abs_next_left_edge UNION SELECT abs_next_right_edge</div><div>areal : SELECT left_face UNION SELECT right_face</div></blockquote></div><div><br></div><div>source:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">


<div>puntal : WHERE element_id = start_node OR element_id = end_node</div><div>lineal : WHERE element_id = abs_next_left_edge OR element_id = abs_next_right_edge</div><div>areal : WHERE element_id = left_face OR element_id = right_face</div>


</blockquote><div><br></div><div><br></div><div>This may not be the optimal (we could use shortcut with edge_id), but it is symmetric in every way.</div><div><br></div><div>Cheers,</div><div>Rémi-C</div></div><div>
<div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013/10/23 Rémi Cura <span dir="ltr"><<a href="mailto:remi.cura@gmail.com" target="_blank">remi.cura@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">Function getRelated is working for getting lineal related to a given puntal topogeom,<div>now I'm trying to generalize so to be able to get any topogeom related to any topogeom, whatever the feature_type.<br>



<br>Cheers,<br><br>Rémi</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/22 Rémi Cura <span dir="ltr"><<a href="mailto:remi.cura@gmail.com" target="_blank">remi.cura@gmail.com</a>></span><br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">OK,<div><br></div><div>for my private function I don't expect several topogeom columns in one table.<br>



I can correct the getlayerid function but I don't think other people than me need it.</div><div>
<br></div><div>For the GetRelated, I have a working query and I'm now trying to make it a plpgsql function</div><div><br>Cheers,</div><div>Rémi-C</div></div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013/10/22 Sandro Santilli <span dir="ltr"><<a href="mailto:strk@keybit.net" target="_blank">strk@keybit.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Tue, Oct 22, 2013 at 05:17:55PM +0200, Rémi Cura wrote:<br>
> I'm sorry for being so disorganized,<br>
> I lack experience with postgis_topology.<br>
><br>
> It is only the 3d function I write for it.<br>
><br>
> I was supposing you would need the layer_id in case there are multiple<br>
> topogeom columns in one table.<br>
><br>
> Still I don't see a use case for having multiple topogeom columns in the<br>
> same table, even if I do use multiple geom columns for one table sometimes.<br>
><br>
> I totally agree with your others conclusions and proposed signature<br>
> SET OF topogeometry GetRelatedLineal(<br>
>            a_source_lineal_topogeom TOPOGEOMETRY,<br>
>            a_target_puntal_topogeom_layer_id INT )<br>
<br>
</div>Note that there's no problem with having multiple TopoGeometry columns in<br>
the same table, as long as you reference a each column (layer) by the<br>
"topology_id"/"layer_id" pair (topology.layer primary key).<br>
<div><br>
> I don't like to put layer_id directly as input in function because it is<br>
> not a number user fixed.<br>
<br>
</div>In that case you can specify (schema_name, table_name, feature_column),<br>
which _also_ identifies rows in topology.layer.<br>
<div><br>
> I think I can live with that as I wrote a function to get layer id from the<br>
> topogeom name :<br>
> public.rc_getlayerid(layer_name text, layer_schema text DEFAULT ''::text)<br>
<br>
</div>Missing a column name here ?<br>
<br>
--strk;<br>
_______________________________________________<br>
postgis-devel mailing list<br>
<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>