[postgis-users] number all houses on branch roads first

Rémi Cura remi.cura at gmail.com
Wed Jul 13 05:57:22 PDT 2016


Would be much easier to send your graph to python networkx
<https://networkx.github.io/>
If you have plpython, this is immediate
<https://github.com/Remi-C/PPPP_utilities/blob/69fcb68fb27ba4120426b457950699b89453abf3/postgres/rc_connected_components.sql#L368>
(line 368)

I found it painful  to work on graph in pgsql (or pgrouting, besides the
excellent already written functions),

much easier with dedicated tools.


If you really really want to use pgsql,
you can use pure SQL with a  recursive CTE,
as in postgis
<https://github.com/postgis/postgis/blob/3beb3f82ba78cb98478637f380070839472c8fb3/topology/sql/query/GetRingEdges.sql.in>
topology.
<https://github.com/postgis/postgis/blob/3beb3f82ba78cb98478637f380070839472c8fb3/topology/sql/export/TopoJSON.sql.in>

I find it hard to test and debug though

Cheers,
Rémi-C

2016-07-13 4:17 GMT+02:00 Stephen Woodbridge <woodbri at swoodbridge.com>:

> Opened an enhancement request to pgrouting:
> https://github.com/pgRouting/pgrouting/issues/625
>
>
> On 7/12/2016 9:56 PM, Stephen Woodbridge wrote:
>
>> Sounds like you want a "graph" based on the road network topology like
>> what is used in pgRouting. Then given the graph do a depth first
>> traversal of the topology, labeling the edges as you go.
>>
>> If you build the graph topology (not the postgis topology), the you can
>> probably write a recursive query to do the traversal and labeling. I
>> think I would probably write a pgsql function(s) to traverse the graph
>> and label the edges.
>>
>> Unfortunately, pgRouting does not have depth first search function built
>> into it, hence the need to code one in pgsql.
>>
>> -Steve
>>
>> On 7/12/2016 5:16 PM, Dan Jacobson wrote:
>>
>>> I want to go down the (all unnamed) roads in my future mountain
>>> community assigning house numbers every 50 meters.
>>>
>>>    50-100   170-200
>>>     /         /
>>> 1  / 107 147 /  213
>>> +-+---+---+-+----+--240--main-road--
>>> 2 48   \   168
>>>         \
>>>       120-140
>>>
>>> I stay on my main road, but whenever encountering a fork, first go
>>> down it.
>>> "Depth first pre-order ordered labeled rooted binary tree traversal
>>> but with central path"?
>>>
>>> http://math.stackexchange.com/questions/1856814/binary-tree-traversal-with-fixed-final-node
>>>
>>>
>>> OK for PostGIS, given a few linestrings, I suppose I first (somehow)
>>> connect them to form a network, then ride my virtual car down it. And
>>> whenever my odometer reaches another 50m, make a mark on the centerline.
>>> (Assume a strict binary tree (mountain roads with no 4-way junctions))
>>> At each road junction I first choose a side road, and if already on a
>>> side road, first choose the left road, before choosing the right road.
>>> When backtracking turn off my odometer, until finally back on to my main
>>> road.
>>>
>>> Holy smokes, sounds tough. Can I do this with PostGIS or should I go
>>> back to GRASS or what?
>>>
>>> (I am thinking instead of using ST_OffsetCurve (previous project, thanks
>>> Sandro) to put odd on the left even on the right, down the centerline
>>> I'll just put odd numbers at 25, 75m, padded "1 ", and even at 50, 100m
>>> reverse padded " 2".) These points and their labels are what I want
>>> for output.
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/postgis-users
>>>
>>>
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> https://www.avast.com/antivirus
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/postgis-users
>>
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/postgis-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20160713/48bb2bf5/attachment.html>


More information about the postgis-users mailing list