0

I am relatively new to Arcgis and I am stuck. I have a parcel map (vector) and a land cover map(raster). My land cover map is only 1's and 0's, flood and no flood. I want to be able to highlight or select all of the parcels from the vector layer that are majority flood (>50%).

I have scanned the forums for help, and I have tried at least half a dozen different options, raster to vector conversion, zonal statistics ect...But I can't seem to move forward. I think it's a query issue, right?

  • 1
    Use Zonal Statistics as Table (Spatial Analyst) to calculate sum of cells value within individual parcel. Every parcel where Parcel_Area <= (table.SUM x cellSize x cellSize) is the one you are after – FelixIP Jul 8 '15 at 2:58
  • Actually Tabulate Area tool is even better – FelixIP Jul 8 '15 at 4:05
  • Can you give more detail about why zonal stats didn't work for you? Zonal stats as table is the tool you want to use. There is a majority stat that you want, and then you'd just join the result back to your parcels, then select all parcels where that majority field was 1. – Chris W Jul 8 '15 at 20:03
1

Zonal Statistics as Table, with the parcel polygons for zones and flood raster as input value raster, using the MAJORITY statistics type, should generate a table with each parcel/zone ID and the value of the cells that most occur within the zone (1/flood, 0/no flood). This table could then be joined back to the parcel layer based on ID, and a Select by Attribute performed where that field is equal to 1 (majority flood).

0

Assuming you have Spatial Analyst extension:

  1. Use SetNull tool to create a flood raster (i.e., only flooded cells), Input conditional and Input false rasters are your flood raster (with 1s and 0s), Expression is "Value=0",
  2. Use Raster to Polygon tool convert the output of step 1 to a polygon feature class without (or with) simplifying edges (you need to decide which option fits your needs),
  3. If you do not have already, create a new Double field in your Parcel feature class to duplicate the shape area attribute and (say you name it as Orig_Area), Calculate this field with Shape Area,
  4. Intersect the output of step 2 with your Parcel feature class,
  5. On the output of step 4 and in a new double field (or Shape_Area field will do the job if you picked a file geodatabase feature class output), recalculate the resulting shape areas (say, it is Calc_Area field). Now Select by Attribute tool with a query like, "Calc_Area">="Orig_Area"*0.50 ,will give you the desired result. As you can see, >= and 0.50 define the majority rule in your question.
  • What is the point of step 1? The raster is already 0 or 1 according to the question. The rest of the method is certainly a valid approach though I believe there are simpler solutions. – Chris W Jul 8 '15 at 20:00
  • These are very good points indeed @ChrisW, my purpose was to have a "clean" processing layer at the outset (at the expense of Spatial Analyst extension requirement, though Northstar indicated that Zonal Statistics was used, therefore this extension should be available) and in overall give the user the flexibility in playing with threshold value only by Select By Attribute tool (I found this convenient to test various scenarios and see the outcome right away). Of course with correct inputs Zonal Statistics should do the job or Tabulate Intersection would be another alternative. – fatih_dur Jul 8 '15 at 23:43
0
  1. Convert raster layer to polygon.
  2. Intersect your parcels and the polygon layer.
  3. Calculate geometry of the intersect.
  4. Summarize that areas column and join it back to your parcel layer. Why? because in some cases the intersect might have created not one, but many separated polygons for a parcel and you want the sum of their areas.
  5. pseudo code for selection of parcels: if parcel_area < joined_area*2

Sorry, I don't have access to ArcMap to be anymore specific so please correct me if something is wrong.

  • You cannot select individual raster cells in the manner you describe. You could convert the entire raster to polygon. However, there is no method within Select by Location that would allow you to use any kind of majority criteria. – Chris W Jul 8 '15 at 19:57
  • I was thinking about something in the lines of Have their centroid in which could work for me personally; but fair enough, question explicitly says >50%. I hope the edit is ok. – aarman Jul 8 '15 at 20:45
  • Yes, it's now pretty much the same method that fatih_dur outlines, but your step 4 does point out a potential flaw (that intersect may produce multiple distinct regions) and how to correct for it. – Chris W Jul 8 '15 at 21:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.