I have shapefiles for more than 1000 farms.

I want to use Hydrological model to model the water balance in these farms. Each farm is devided in to seperate parts .

My problem is that the whole area of these farms is not under cultivation and in each season farmers decide based on available water and their budget to put how much of their land under cultivation

In other words, I do not know what the percentage of farms is being used by each farmer.

I have estimated NDVI from landsat8. These NDVI values can help me to find the area of each farm which is being used by farmer.

How can i find the area of my shapefiles which have specific NDVI? For example, if I have shapefile for 200 Hac farm , what area of this shapefile has NDVI between 0.1 and 1?

  • what about fields that are fallow, that have some weeds growing and so show NDVI of 0.2?
    – BillW
    Commented Jun 30, 2015 at 2:25
  • For some areas even weeds need water quota @BillW. It would be up to Mike and his knowledge of the area, climate and soil type to decide what's crop and what's not. Mike, check whatever answer you get by reviewing with the imagery, you may need to tweak the numbers a bit to get an acceptable result. Commented Jun 30, 2015 at 2:39
  • You placed a spatial-analyst tag on this question so I am guessing that you are using ArcGIS for Desktop. However, I think it is useful to always include the software and version that you are using within the body of the question. People often use tags unrelated to their question, so it is the body that I look to when I want to remove any doubts about the software being used.
    – PolyGeo
    Commented Jun 30, 2015 at 5:50

2 Answers 2

  1. Take raster NDVI dataset and use a raster calculator-type function to create a binary surface of 1 and NULL (no data); 1 is where values are between 0.1 and 1; NULL is everything else.
  2. For each farm vector feature, clip your binary-classified NDVI dataset.
  3. For each clipped NDVI dataset, count the number of cells that are not NULL, and multiply this number by how big your cells are.

This is one possible, general process; if you need more specific instructions, you will have to add details about your operating system, available software, data, programming and GIS experience, etc.

  • Binary raster -> polygon, intersect with farms, calculate areas based on intersecting/non-intersecting by lot. You're right, without knowing what software it's hard to be more specific. Commented Jun 30, 2015 at 2:35

I used set null function in the raster calculator and made a raster with 1 value where ever NDVi values are between 0.1 and 1 .Then I used zonal statistics as table function to give me the sum of these 1 values in each farm. Cheers

  • 1
    This appears to be identical to the answer posted by @alpha-beta-soup yesterday.
    – whuber
    Commented Jul 1, 2015 at 14:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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