Skip to main content
Question

I have 2 feature classes, Plot & Centerline .. I want to select all the commercial plot facing the centerline

  • October 10, 2017
  • 5 replies
  • 41 views
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

5 replies

mark2atsafe
Safer
Forum|alt.badge.img+59
  • Safer
  • October 10, 2017

The LeftRightSpatialCalculator transformer might help. It could tell you which features are on the correct side of the centreline.

You'd have to then tell if a plot is "facing" the line, but that's hard unless you actually have an attribute or other information to tell which way the plot is facing. I think you'd have to assume the closest features are the ones facing it - so maybe a NeighborFinder? Or create a 20 metre buffer (for example) with the Bufferer and see which plots overlap it using a SpatialFilter transformer.

Hope that helps to get you started.


taha_ramadan

The LeftRightSpatialCalculator transformer might help. It could tell you which features are on the correct side of the centreline.

You'd have to then tell if a plot is "facing" the line, but that's hard unless you actually have an attribute or other information to tell which way the plot is facing. I think you'd have to assume the closest features are the ones facing it - so maybe a NeighborFinder? Or create a 20 metre buffer (for example) with the Bufferer and see which plots overlap it using a SpatialFilter transformer.

Hope that helps to get you started.

I tried the NeighborFinder transformer and i give 50 meter buffer and I got all the plot facing the centerline but the problem is i get also other plots which are not facing the centerline because they are within the range of 50 meter.

 

for example if i have back to back plots, one of them facing the road it will be selected and if the back plot which is not facing the road within the range of given buffer it will be selected also.

 

 


daveatsafe
Safer
Forum|alt.badge.img+20
  • Safer
  • October 11, 2017

The first step is to isolate the segments of the plot polygons that do not share an edge with adjacent polygons - these will be your facing segments to test for proximity to the centerlines.

- Send the Plot polygons into a TopologyBuilder, with Propagate All Attributes From Input set to Yes.

- Use a Tester on the Edge output to test if _left_face = 0 or _right_face = 0

- Send Passed output to ListIndexer to index the faces{} list by Index 0 to restore all the Plot attributes on the segments.

The TopologyBuilder will also orient the lines so that the outside of the Plot is to the left of the line. You can use a NeighborFinder to find all the Centerlines in the desired proximity to the Plot segments, then use a LeftRightSpatialCalculator and a Test to keep only the Centerlines on the left of the Plot segment.


taha_ramadan

The first step is to isolate the segments of the plot polygons that do not share an edge with adjacent polygons - these will be your facing segments to test for proximity to the centerlines.

- Send the Plot polygons into a TopologyBuilder, with Propagate All Attributes From Input set to Yes.

- Use a Tester on the Edge output to test if _left_face = 0 or _right_face = 0

- Send Passed output to ListIndexer to index the faces{} list by Index 0 to restore all the Plot attributes on the segments.

The TopologyBuilder will also orient the lines so that the outside of the Plot is to the left of the line. You can use a NeighborFinder to find all the Centerlines in the desired proximity to the Plot segments, then use a LeftRightSpatialCalculator and a Test to keep only the Centerlines on the left of the Plot segment.

this is sample of the date where Red is Commercial and Yellow is Residential plot.

 

if you noticed that some Commercial are facing the road and some are close to the road but not facing the road, my target it to select the one that are facing the plot only, the data is huge and this is just sample, I am going to put the sample as File Database.

 

 


taha_ramadan

The first step is to isolate the segments of the plot polygons that do not share an edge with adjacent polygons - these will be your facing segments to test for proximity to the centerlines.

- Send the Plot polygons into a TopologyBuilder, with Propagate All Attributes From Input set to Yes.

- Use a Tester on the Edge output to test if _left_face = 0 or _right_face = 0

- Send Passed output to ListIndexer to index the faces{} list by Index 0 to restore all the Plot attributes on the segments.

The TopologyBuilder will also orient the lines so that the outside of the Plot is to the left of the line. You can use a NeighborFinder to find all the Centerlines in the desired proximity to the Plot segments, then use a LeftRightSpatialCalculator and a Test to keep only the Centerlines on the left of the Plot segment.

network.zip