Vineyard NDVI and prescription maps


I have a question about the generation of the NDVI prescription map for a vineyard.

How can I eliminate the ground and generate the prescription map only using the vegetation pixels of the vines? This is really important especially in vineyards.

Otherwise I get errors in evaluating the NDVI values in zones where the vines have high vigour. In fact, when generating the prescription map with (let say) a grid size of 5 meter, the high NDVI values of the vines are averaged with the low values of the ground pixels resulting in wrong NDVI values in those zones.

Thanks for the answers,

Kartsiotis Simone

Hi Kartsiotis,

I understand the issue you are facing, in order to exclude the soil from the index map generated there are two options currently.  The first would be to use a custom index where the formula is adjusted to try remove soil from the values returned.  However, if you are using NDVI and working on the index values associated to this I would suggest the second option.

Pix4Dfields is our product dedicated to agriculture (, we offer the ability to import your drone images, create an orthomosaic and from this generate pre-made indices or custom index calculation.  If you wish to use the NDVI index this can have the values clamped to remove the extremes (e.g. the soil).  To do this click Index Generator, then Create a Custom Index and input the following formula:

(nir-red)/(nir+red) + 0/max(0;(nir-red)/(nir+red)-0.2)

Note: change the 0.2 value to change the constraints (e.g. 0.2 value here will remove all values below 0.2 on the NDVI scale, 0.4 would remove all values below 0.4).  For more information about the index tool see here:

You mention the use of prescription maps, we offer the ability to create zonation and prescription maps within Pix4Dfields, however the zonation would struggle with the custom index mentioned above because we have removed low index values and created a hole in our map.

We are working on tools where areas such as the vines will be detected and automatically only calculate the index on the areas of plants and exclude the ground, this tool will come in the near future.

Kind regards,


Hi Sam,

thanks for the answer.

I am using Pix4D Mapper so I can do what you said directly in the Index Calculator section. That would be ok for the NDVI map.

However, as you said, the problem is when generating the prescription map which leaves holes in the .shp file.

A good thing could be to consider these removed values as low values when processing the prescription file in order to have a .shp file without holes. Could be this possible?


Simone Kartsiotis

Hi Simone,

In Pix4Dfields the shapefile created would only cover the areas where a value is read and so your shapefile would have holes because the removed value areas are not part of the shapefile shapes contained within the file information.  This cannot be altered.  This behavior I would consider the same of Pix4Dmapper, however as I support Pix4Dfields I have asked a colleague for Pix4Dmapper to follow up on your request.

Kind regards,


Hola, como genero NDVI en tiempo real con Android.





Hola Jorge,

Lamentablemente por ahora no soportamos dispositivos Android, ParrotFields estará disponible en Android en el futuro.



How about the development progress of the vines tools?

Thank you


Using Pix4Dfields 1.7.1 (the current version) is possible to extract the soil or plants using the index calculator. We explain more details of how this tool works here: Soil and plant masking w/ Pix4Dfields

However, the zonation and prescription maps are calculated based on the raw index. We are passing this request to the team. In case of any feature request, we kindly suggest our users create a request in our feature request category. In that way, more users can vote from this request. We are always monitoring this for future development.

Here is how you can do this:

  1. Go to the category Feature Request/Suggestions.
  2. Log in or create an account, if you don’t have a Pix4D account yet.
  3. Look for the feature you are interested in. Someone else might have already asked for it. If such a request doesn’t exist, create it as a new topic.
  4. Vote for it.
  5. Done, your vote is counted!
  6. You can manage, follow-up, or even remove your vote(s) if you change your mind.

Best regards,

Hello Fernanda,
are there any update about the Vineyard tools?
is there any tools or way to detect only the grapevine and eliminate for example weeds?
Specially in vineyard, where between rows farmers keep some vegetation, is important to detect only grapevine, otherwise nevi/zonation maps will be influenced by this vegetation.
Is there any way to consider only grapevine for ndvi and zonation?


1 Like

For pix4D, the near future means no.

Dear droneairlab,

with the article Fernanda shared Soil and plant masking and this guide QGIS Zonation maps from masked Index Layers. You should be able to achieve what you want.

Dear Julius thanks for your answer. Unfortunately Fernanda’s answer is not what I’m looking for.
To make it easier, in a vineyard, between two rows there is mostly of the time vegetation, with a very good ndvi value. The problem is that I can clean all the soil, I can eliminate this vegetation (not at all but only the vegetation with lower ndvi index value) but when I do zonation, anyway the remaining vegetation, will still influence my zonation map, giving back a false map.
Is there any chance to detect only grapevine plant and exclude all the rest of vegetation?
It’s an important improvement, which will make a correct and precise map.
Thanks a lot

There is nothing yet in Fields which would allow you to solve it, and it will also not be in the near future.
Probably in the beginning of next year you can expect a feature which could help you with that issue.

Right now you have to solve your problem in QGIS. You could for example create a vector grid over the rows and mask out all non row pixels and then use the approach I posted above to get a zonation map.

Is there any update on this process? I am about to have the same problem.

Would like to second this? Any further tips and tricks for vineyards, especially using the m3m?

For the record I’ve been having the most success using the SIPI index but if there are any flaws (being influenced by other vegetation for instance) then I’d love to know.


You can try the Magic tool if it can detect the rows.
Otherwise, you must manually mark the rows with a boundary and layer trim the layer using that boundary.

I hope this helps.