5

How can i identify all polygons that are large enough to contain a given rectangle? (Tabular area is not sufficient as i want to exclude polygons that are long and skinny.)

What i want to do is select all properties that are large enough to fit a given #of parking stalls. Some lots are irregularly shaped like flag lots or very narrow. Given the range of shape configurations, i want to be able to select only those lots or polygons that can fit say 4 parking stalls, configured as a minimum bounding rectangle.

questor
  • 51
  • 1
  • 1
    What software do you plan to use? Perhaps a diagram would help people visualize this problem. – Mattropolis Jun 18 '17 at 05:30
  • https://gis.stackexchange.com/questions/147790/checking-if-polygon-fits-inside-another-polygon-using-arcgis-or-qgis/148030#148030 might help with square – FelixIP Jun 18 '17 at 07:45
  • https://gis.stackexchange.com/questions/166230/deleting-polygons-smaller-than-certain-dimension-using-arcgis-for-desktop/166253#166253 – FelixIP Jun 18 '17 at 10:32

1 Answers1

1

Possible approach for 80m*200m rectangle.

  • Define possible candidates by computing negative (height/2) buffers for original polygons: enter image description here
  • Call candidates PARENT and place variable number of random points inside
  • Use copy of PARENT to compute horizontal rectangle ("CHILD") for each of them. You'll need to compute coordinate of any point inside and run field calculator expression on Shape field

Expression:

def rectangle(xc,yc):
 LL=arcpy.Point(xc-100,yc-40) 
 UL=arcpy.Point(xc-100,yc+40) 
 UR=arcpy.Point(xc+100,yc+40) 
 LR=arcpy.Point(xc+100,yc-40) 
 return arcpy.Polygon(arcpy.Array([LL,UL,UR,LR])).area
#------------
rectangle( !Centroid_X! , !Centroid_Y! )

enter image description here

Let me know if you can get to to this point and willing to proceed. I'll update my solution with the script, that I used to produce this:

enter image description here

FelixIP
  • 22,922
  • 3
  • 29
  • 61