Consider machine learning, which seems well suited for such tasks.
https://www.tensorflow.org/versions/master/tutorials/mnist/beginners/index.html
There'll be a teaching group of data, where you know the sensor values, and you manually researched and inserted the other properties to predict. You feed it a lot of such data, and the algorithm will then learn how it is related.
You'll have a test group of data, where you also manually researched the values, but the algorithm doesn't know them, and it's used to make the "machine learning equation" more accurate. There are many phases of learning where it is more accurate the more time you give it.
At the end, you'll have what's called the tensor, which takes input values, and predicts what you seek, according to the model which has been built.
The link above has a tutorial which is a great start, and explains it all again and better.
edit: when I look at the project in detail, though, I think you're going to need more diverse data. For example, instead of just looking at ph/temperature/moisture, you could also try raising the moisture, and register how it affects ph/temperature, ect... But I don't think that'll be enough still. You could look at the density of soil, take a cup and see how much it weighs. Then heat it, to remove the water, and look at the weight again. Or use a kind of spectrometry, or pictures, anything that it takes to distinguish enough. Maybe, have it react with compounds, and see what happens, stuff like that. You need as many such information as possible about a piece of soil, and then you feed all that to the algorithm. It's not perfect, but it's something.
(also, I think it's a great project)