[postgis-devel] [postgis-users] linking 2 topogeometries of different nature

Rémi Cura remi.cura at gmail.com
Wed Oct 23 06:39:17 PDT 2013


Hmm it can't work,

please do not consider the previous message, i'm doing changes.

Cheers,
Rémi-C


2013/10/23 Rémi Cura <remi.cura at gmail.com>

> 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 <remi.cura at gmail.com>
>
>> 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 <remi.cura at gmail.com>
>>
>>> 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 <strk at keybit.net>
>>>
>>>> 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
>>>> postgis-devel at lists.osgeo.org
>>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20131023/16aa4beb/attachment.html>


More information about the postgis-devel mailing list