Using Opensource in Agriculture

After having conversations with guys about precision ag and the costs of some programs needed to do analysis, I felt it was time to start diving into a cheaper alternative. So I am going to attempt to provide a better alternative.

For this example I am going to take yield data from the combine and create a map to put into the spreader for application of fertilizer materials. All of this will be done without programs that cost anything. So what do we need? FOViewer will provide us with a way to read in the data,YieldEditor will be used to remove errors from the data set, QGIS is a full function GIS program that we will use to edit data, combine data, and create the spread maps. I am not going to go into setup of these programs since there are some good resources. So lets dive straight into this!


As noted above we are going to use FOViewer or Field Operations Viewer to bring in the data. There are other programs that can be used including Agleader and Farmworks, but FOViewer has the ability to load directly into YieldEditor. First we must select the files we want to use.foviewer-select

The program can be finicky on loading the files (I only have GreenStar data) but I assume other file types are going to act similar.

FOViewer Field.png

Once we double check the field we want we can go ahead and export to YieldEditor directly if it is installed correctly. As long as you don’t change the default locations when doing a setup everything should work seamlessly.

Yield Editor.png

I typically like to do an automatic computation since it seems to do well for my GS3 monitor, your results may vary so it is best to play around with the settings and use the filter selection if need be. Just remember this tip, we are going to interpolate this data, so we need it clean but not spotless we will clean it further when we average the data in the cells. Some people get over critical on the removal of erroneous points, but we must remember the end product is material being thrown out of a machine with an error of up to 20% at any one time. This error is an inherent problem of  the machinery trying to change rate quickly. This is why I find it humorous when people want to keep polishing data until there is very little left. If we were using this to chew through some data to get an answer I would polish more, but we are doing something where “Close Counts”.

YieldEdit Clean.png

Once we clean it, and I did increase the min yield since the automatic set it to 1, I want to reapply so I set the lower to 40 bu/ac. Notice our STD (standard deviation) has decreased significantly. Typically in my part of the world variation is king so I have a tough time getting below 30-40 without deleting most of the points. You may notice some of the passes are purple and others red, that is due to flooded areas in this field, I used this data set to hopefully illustrate the point I made above about not over polishing the data.

Qgis for the big finish.

I have been going back and forth of how much detail I needed to put into this part, and I made a realization that there are some things that need be spelled out, and some that one must learn on their own.

So, what do you need to know? First thing I learned is to keep everything in WGS84, I have had trouble trying to put things into projections. This will require you to use Decimal Degrees for the cell sizes. This can confuse some people so here is a good resource. Since I am at 38 degrees north .0001 works out extremely close to 10 meters (remember “Close Counts”)

Once we have the csv file from Yield Editor it is best to create a shapefile from the csv. This can be done by simply saving the file and selecting ESRI Shapefile. If you are not familiar with the process check this link.

Once we have the boundary file and the yield points shapefile we can create the spread map. Here is a view of the model I created to make the map, this is based on work I found here. I am simply expanding on the ideas they started with. It is suggested to read their post as well since it contains some notes on things they experienced (including the use of the extent)


Basically all a model does is set out a process to create what you want without doing all of the steps every time. If you are running out of YieldEditor every time I would remove the first two points filters since we have accomplished the task already.

Here is the file when exported to python, this will give the values associated with each process.python-view

These values are based on Tri-State Recommendations. If it were a real spread file I would typically add a 10-15% “error” and increase the value multiplied by yield, but for illustration I think their values work well.

Finally we have a result.Result.png

Notice the “Yield Streaks” have disappeared, that is due to the processes we have used, we have smoothed the data, this process works well when we are using it to apply products to avoid the sudden “jumps” of chains and mechanical items. If this were a field that we were checking hybrid performance I would not use a smoothing technique.

Now this is just an example, and I am going to share the files needed for QGIS. This contains the boundary file, Yield CSV and the .py file.

I am putting this out for the web in the hopes that others expand on this idea using free sources like QGIS, and to also better understand the mechanics behind the maps.

As time allows I plan on addressing a few other topics including; Hybrid x Yield, and Grid Sampling using only free programs.

If you have any questions feel free to contact me via email




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s