Just to be sure could you validate please? The way I intend to find a source topogeom is related to target topogeom is like this (in sql pseudo code):
element_id is supposed to be the element_id found in the relation table regarding *source* topogeom : Example : what are the (lineal) target topogeom related to the (puntal) source topogeom : `SELECT abs_next_left_edge UNION SELECT abs_next_right_edge WHERE element_id = start_node OR element_id = end_node` with the following target puntal : SELECT start_node UNION SELECT end_node lineal : SELECT abs_next_left_edge UNION SELECT abs_next_right_edge areal : SELECT left_face UNION SELECT right_face source: puntal : WHERE element_id = start_node OR element_id = end_node lineal : WHERE element_id = abs_next_left_edge OR element_id = abs_next_right_edge areal : WHERE element_id = left_face OR element_id = right_face This may not be the optimal (we could use shortcut with edge_id), but it is symmetric in every way. Cheers, Rémi-C 2013/10/23 Rémi Cura <[email protected]> > Function getRelated is working for getting lineal related to a given > puntal topogeom, > now I'm trying to generalize so to be able to get any topogeom related to > any topogeom, whatever the feature_type. > > Cheers, > > Rémi > > > 2013/10/22 Rémi Cura <[email protected]> > >> OK, >> >> for my private function I don't expect several topogeom columns in one >> table. >> I can correct the getlayerid function but I don't think other people than >> me need it. >> >> For the GetRelated, I have a working query and I'm now trying to make it >> a plpgsql function >> >> Cheers, >> Rémi-C >> >> >> 2013/10/22 Sandro Santilli <[email protected]> >> >>> On Tue, Oct 22, 2013 at 05:17:55PM +0200, Rémi Cura wrote: >>> > I'm sorry for being so disorganized, >>> > I lack experience with postgis_topology. >>> > >>> > It is only the 3d function I write for it. >>> > >>> > I was supposing you would need the layer_id in case there are multiple >>> > topogeom columns in one table. >>> > >>> > Still I don't see a use case for having multiple topogeom columns in >>> the >>> > same table, even if I do use multiple geom columns for one table >>> sometimes. >>> > >>> > I totally agree with your others conclusions and proposed signature >>> > SET OF topogeometry GetRelatedLineal( >>> > a_source_lineal_topogeom TOPOGEOMETRY, >>> > a_target_puntal_topogeom_layer_id INT ) >>> >>> Note that there's no problem with having multiple TopoGeometry columns in >>> the same table, as long as you reference a each column (layer) by the >>> "topology_id"/"layer_id" pair (topology.layer primary key). >>> >>> > I don't like to put layer_id directly as input in function because it >>> is >>> > not a number user fixed. >>> >>> In that case you can specify (schema_name, table_name, feature_column), >>> which _also_ identifies rows in topology.layer. >>> >>> > I think I can live with that as I wrote a function to get layer id >>> from the >>> > topogeom name : >>> > public.rc_getlayerid(layer_name text, layer_schema text DEFAULT >>> ''::text) >>> >>> Missing a column name here ? >>> >>> --strk; >>> _______________________________________________ >>> postgis-devel mailing list >>> [email protected] >>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel >>> >> >> >
_______________________________________________ postgis-users mailing list [email protected] http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
