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

Dan Jacobson jidanni at jidanni.org
Tue Jul 12 14:16:58 PDT 2016


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.


More information about the postgis-users mailing list