How to calculate width and lengths of street in PostgreSQL?

Viewed 435

I am already aware that this question, more specifically, should have been directed to GIS StackExchange. I already asked the question here but sadly, got no answers or any suggestions. I used ST_ClosestPoint() to project a point to the nearest line (point on line interpolation) using this approach.

Select  ST_ClosestPoint(line, pt) As closest_pt_line
From
      (Select ad.geom As pt,
              st.geom As line,
              ST_Distance(ad.geom, st.geom) As d
       From ad, st
       Where ST_DWithin(st.geom, ad.geom, 10.0)
       Order By d
      ) As foo;

Based on this projected point, I need to calculate the length of street in both directions and width of street by making using of building polygons layer. The scenario can be visualized like this:

Visualization of the scenario

I am aware of ST_Length function but it returns the length of whole linestring rather than length 1 and length 2. Any advice to calculate lengths of street and width would be highly appreciated?

0 Answers
Related