0

I would like to add a sigmoidal function to create a factor map In ArcMap. The function has to decrease with an increase in values.

For example: The suitability should be 1 for a distance of 250m and then it should decrease as a cosine function until 1250m.

250m has highest suitability value 1 and it decreases to 0 for distances more than 1250m

Could someone explain how to do this using raster calculator?

lambertj
3,1224 gold badges22 silver badges39 bronze badges
asked Mar 5, 2018 at 22:03

1 Answer 1

1

From sigmoidal curve family I prefer to use the Logistic Function, which is able to describe quite well the natural probability decreasing.

y = L / 1 + e^k(x-f)

You need to decrease the probability from 1 to 0 between 250 and 1250 meters of distance, so the interval is 1000 m and the midpoint at 500 m.

First you have to compute the Euclidean Distance, which creates a raster file with the distance values from your area of interest. Then you need to use the Raster Calculator with conditional statement: from 0 to 250 set 1, from 250 to 1250 compute the Logistic Function, beyond 1250 set 0.

The Logistic Function has these parameters:

  • L = 1 (the maximum probability value)
  • f = 500 (midpoint distance)
  • k = 0.01 (curve steepness)

If your distance raster is "EucDist", the Raster Calculator expression is:

Con("EucDist"<=250, 1, Con(("EucDist">250) & ("EucDist"<1250), (1/(1+Exp(0.01*(500-(1250-"EucDist"))))), 0))
answered Mar 12, 2018 at 10:15
6
  • Tons of thanks for detailed explanation :)It worked for me.I need another help now. Is it possible to create this shape with 4 points? Like 250 m = 0.999, 1375 m= 0.5, 3000 m=0.1 and 5000 =0.01. Commented Mar 14, 2018 at 11:30
  • You need to create an equation from given points. Using this quick&dirty website to find the fitting curve with 4 points, the resulting symmetrical sigmoidal equation is -0.02351947 + (1.004916 - -0.02351947)/(1 + (x/1395.793)^2.625316). The equation has to be used in the Raster Calculator expression substituting x with EucDist in the proper distance interval. Commented Mar 15, 2018 at 8:46
  • Thanks:) I also got an equation like that from akapps.wordpress.com/2011/08/27/simple-s-curve ANd i applied it in ratser calculator as this:Con("%Kommuneu%" < 250,0,Con("%Kommuneu%" > 5000,0.01,(0.999 / (1 + Power(81,1700 + 2000 / 2 - "%Kommuneu%") / 2000)))). I am new with ArcMap and your replies helped me a lot to figure out so much of things. Thanks again Commented Mar 16, 2018 at 9:04
  • I don't get your expression, in particular why 0.999 as numerator and these other values 81,1700,2000. Don't forget to close the question if it has been answered. Thanks. Commented Mar 16, 2018 at 13:57
  • Hej, Thanks for the link to the curve fitting website. Commented Jun 1, 2018 at 12:38

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.