A Cellular Automata Land-Use Model For The R Software Environment
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 95 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/15501 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Nottingham |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSS4G Nottingham 20131 / 95
17
25
29
31
32
34
48
50
56
58
68
69
70
82
89
91
00:00
SoftwareCellular automatonModel theoryIntegrated development environmentData modelState of matterGame theoryVideo gameView (database)AutomatonTheoryNeumann boundary conditionValue-added networkMeta elementArmNeighbourhood (graph theory)Rule of inferenceLevel (video gaming)DistanceVector potentialSimulationMathematicsAerodynamicsFunction (mathematics)Sound effectCore dumpMathematical analysisForceData miningForestTable (information)Grass (card game)Decision theoryMereologyRandom numberElement (mathematics)Process (computing)UsabilityPhysical systemComputer networkCalculationRaster graphicsData typeBasis <Mathematik>Instance (computer science)Characteristic polynomialDisintegrationComplex (psychology)Latent class modelSystem programmingOperations researchSoftware testingGoodness of fitCurve fittingStatisticsSource codeComplete metric spacePrototypeInterface (computing)ComputerRevision controlLattice (group)Range (statistics)Analytic setProgrammschleifeComputer programmingScripting languageCondition numberLine (geometry)Vector graphicsMatrix (mathematics)AreaObservational studyNatural numberNumber theoryBinary fileCountingWeightWindowIterationPlot (narrative)Distribution (mathematics)Set theoryZoom lensCalculusSkewnessBargaining problemPhysical lawEquals signInfinityNichtlineares GleichungssystemLemma (mathematics)Degree (graph theory)Digital signalFlagQuery languageLetterpress printingLoop (music)Multiplication signMaxima and minimaSkeleton (computer programming)Total S.A.Water vaporAvatar (2009 film)Menu (computing)DivisorScale (map)Parameter (computer programming)ExponentiationPatch (Unix)Spring (hydrology)Spontaneous symmetry breakingCohen's kappaPrice indexForm (programming)Pairwise comparisonModal logicAlgorithmInstallation artReal numberPattern languageData structureFraktale DimensionMeasurementBoundary value problemFraktalgeometrieMandelbrot setWordParametrisierungFood energyKolmogorov complexityComa BerenicesMaizeInfinite conjugacy class propertyModel theoryWindowMathematicsSoftware testingLoop (music)Level (video gaming)Revision controlEndliche ModelltheorieCondition numberCohen's kappaStatisticsVideo gameResultantData miningElectronic visual displayRandomizationGame theoryCodeBitAuthorizationGoodness of fitSeries (mathematics)AreaMultiplication signRule of inferenceNichtlineares GleichungssystemPhysical systemCellular automatonPatch (Unix)Computer simulationSimulationSoftware developerProgrammer (hardware)State of matterSlide ruleNeighbourhood (graph theory)MereologyRight angleInfinityGraph (mathematics)Point (geometry)Connected spaceGroup actionPairwise comparisonVector potentialIntegrated development environmentTotal S.A.Pattern languageExtension (kinesiology)WordGraph coloringLinearizationNumbering scheme1 (number)ForceExpert systemInformationDeterminantProjective plane2 (number)Standard deviationFlow separationVector spaceCASE <Informatik>Von Neumann, JohnPrototypeMaxima and minimaElement (mathematics)Channel capacitySoftwareDistribution (mathematics)Matrix (mathematics)NeuroinformatikDifferent (Kate Ryan album)Raster graphicsSound effectQuicksortMathematicianDistanceUsabilityTable (information)Classical physicsCartesian coordinate systemFinite setMappingReal numberBinary codeTime zoneLimit (category theory)MeasurementDecision theoryConsistencyBlogVulnerability (computing)Computer fileOperating systemGraphical user interfaceCharacteristic polynomialBuildingData managementSelection ruleMultiplicationScripting languageBoundary value problemPlotterFood energyDivisorFraktale DimensionComplex (psychology)Line (geometry)Functional (mathematics)Lattice (group)Random variableExponentiationNormal distributionParameter (computer programming)TheoryForestVariable (mathematics)Core dumpDynamical systemWeightState observerScaling (geometry)PlanningSkewnessStructural loadType theoryPower (physics)AdditionFrequencySocial classSpring (hydrology)Mathematical analysisArtificial neural networkSurfaceProcess (computing)CausalityPresentation of a groupPhysical lawTransport Layer SecurityInsertion lossMatching (graph theory)Volume (thermodynamics)Term (mathematics)SpacetimeWebsiteOrder (biology)Regulator geneInformation securityWhiteboardIdentity managementPointer (computer programming)Closed setHypothesisFigurate numberCompilation albumMoment (mathematics)Workstation <Musikinstrument>Metropolitan area networkSingle-precision floating-point formatMobile WebNatural numberSign (mathematics)Greatest elementLocal ringNumerical analysisMultilaterationSociety for Industrial and Applied MathematicsDependent and independent variablesView (database)Online helpEmailComputer animation
Transcript: English(auto-generated)
00:00
Good morning, thanks very much. It's really good to be here Okay, I've got quite a lot of material so I'm going to go quite fast and hopefully I'll get it in in time Right start at the beginning Just to talk about a little bit of theory a Simp very simple land use model. Basically what we're talking is about talking about series of time steps
00:23
t0 to tn and we're looking to Establish these key things how much how much land use is changing. Where is it changing and how is it changing? So cellular automata why cellular automata? Well, basically this is something that arose out of the
00:43
Manhattan project at Los Alamos in New Mexico in the fifth in the late 40s and 50s with these guys here Stanislav ulam in particular on the left and John von Neumann on the right And this is basically a the ulam's definition of cellular automata given an infinite lattice or graph of points each of the finite number of
01:03
Connections are certain of its neighbors Each point is capable of a finite number of states The states of neighbors at time tn induced in a specified manner the state of the point at time tn plus 1 This rule of transition is fixed deterministically or more generally may involve partly random decisions so there's a lot of
01:21
Talk in the modeling literature the land use modeling literature about transition rules and states and neighbors and all of it comes back to this Well, then there was some sort of experiments by mathematicians in later on like John Conway who came out with a game of life Which I'm sure you've seen if you if you know anything about cellular automata kind of classic example
01:42
As far as actually applying this these definitions to to geography We've got this guy on the right here, although Tola looking very relaxed in his retirement there in Santa Barbara in California and He basically said well, yeah, we we're talking about a cell a cell could be a grid
02:00
It could be a map and we could Our cells could contain land uses and The most I think probably the best the best known application of cellular automata is probably this by Roger white and gee England About 20 years old now and applied inside a major
02:22
standalone commercial software So how how does how does this model of? England and white actually work. Okay Well, basically you start with your initial land use map which in the case I'm going to talk about today is 1956 You establish your neighborhood rules You have a stochastic element this randomness that Olan was talking about you have accessibility
02:44
Which is your usually your distance the roads or your infrastructure networks suitability so the background Kind of carrying capacity the capacity of the of the background land to support a land use you don't get cereal crops on mountaintops urban areas don't
03:02
You don't build houses on cliff faces generally and then you have your zoning which could be all your management Your land planning so protected areas And you calculate transition potential And this transition potential is what allows you to calculate your new map at your next time step okay, and
03:22
the first thing we do is When a process we call calibration we simulate our next land use map we've got available which in my case was 1999 so quite a long time step and It's pretty simple it's a pretty straightforward model So I'll just just to talk about the neighborhood dynamics
03:42
I'll get the core of this model by white and England We have the idea that there's this Susceptibility in an individual cell C to change state at time TN is a function of the influence of the cells in its neighborhood Okay, so we can make some observations So when you do a land use change analysis Which is normally your starting point for this type of modeling you see there's some changes that you you frequently repeat themselves
04:06
So you don't get no need you don't get irrigated land that just turns up out of nowhere. Normally it's Farmland that was not under irrigation Yeah Okay, and we could say that's attraction that could be represented in our model as attraction in the cell neighborhood
04:21
Some land uses are always separate. So generally you find mining areas separate from urban land. It's not always the case but There's a general rule. I think we can say that and this would be repulsion and Then you have finally you have some changes that never happen Urban land changing into conifer forest and very very rare
04:41
Situations this might happen as a general rule. It doesn't tend to and this is an example of persistence some things nearly always stay where they are and that's a Urban land is a good example of this. Well, here's the this is the cell neighborhood and the influence table basically here we've got our distances zero to two hundred quite a small neighborhood and we've got
05:04
The attractiveness of urban to these other classes and in particular I've highlighted in orange urban because I'm only going to talk about urban today In our model, so this is the attraction of urban to urban and in order that in the second time step You get urban land where urban land was before it needs to have a high value at zero on the cell itself
05:25
If you don't have a high value at zero your urban land gets up and it walks across the map Which you don't want. Okay, so we know this is just We generate a matrix That's that's our cell neighborhood. And this is our our
05:40
Commanding our Stochasticity, right? Well, this is ulam's again these partly random decisions. Well human activity in the landscape We know it's not completely deterministic some things. They're rather they're random or we've got so many unknown causes that Effectively we have a kind of randomness How do we do it?
06:00
Well, we actually make some parts of the simulated landscape more attractive at random But we don't want much randomness because in general we're saying that human activity is more deterministic than random But okay, so we don't want to go overboard Accessibility again. Well, this is this again fairly simple equation from Roger White's work in the 90s
06:22
We take our Rasta dist a simple distance map from road net networks, which you could calculate in our or in another GIS and we reclassify it just to give higher values to cells with with closer distances Suitability. Okay. This is what I was saying before the intrinsic susceptibility of a cell to be occupied
06:42
So Zoning again, this is the institutional characteristics. So the planning restrictions and policies generally these are stationary throughout the time steps You you could update them in an integrated model to feed in from some other information you had So I really did you to climate change here for example
07:01
In this example, I've not I've not done any of that. It's stationary. What's the problem? Well, we've got there's a really good CA land use modeling system on the market called metronomica It's quite expensive It's standalone. I should say first of all, it's very good. Yeah, but it is expensive
07:21
It's standalone if you want to do any GIS You've got to go outside and do it in a different system if you want to do your statistical goodness-of-fit testing Which you become more and more important with the model So people who are just interested in finding out about these models are shut out and so also our stakeholders So the people that you might want to work with If you're talking about land planning you might want to work with farmers or or
07:45
municipal authorities And it's very difficult for them to access this model You have to buy it as part of your project and you know Give them results and this is kind of I think a little bit of an idea that we have from the 1990s that you know Experts are going to come along and they're going to do policy support and then you know
08:02
They're going to roll out this information and planners are going to implement it And I think this is a little bit of an outdated philosophy other problem is windows only There are some other Non-commercial applications they have some of these limitations as well and there are some commercial applications I don't think a true cellular automata like the land change model in Adresia
08:23
They talk about cellular automata and then you actually find that it doesn't really respond to any of these definitions that you have in from Stanislav Ulam, so Anyway, that's debatable don't offend anyone, but I don't think they're real cellular automata So we wanted something that gives you complete freedom to explore That runs inside a widely used environment like our and it responds to all these problems. I was just talking about and
08:46
For me particularly it was important because we work a lot with stakeholders This is one of our workshops in Dona which is a natural area in the south of Spain. This is our website So we're saying to them that yes, everything's online, you know, go to the website You can download everything all the questionnaires all the information and at the end we have to say everything
09:04
I accept the land use model. Sorry, you can't have that that's licensed software and that's not good enough. I don't think so Right. First of all It's a prototype I'm going to present I can't compete with all this professional development that's gone in I'm only dealing with one land use at a time. There's no graphic interface a lot of development
09:22
But anyway, I'm going to put the code online This this blog it's not there yet. I've just set the blog up so bear with me Right. Well, we've actually had quite a nice introduction to our anyway So well anyway, it's got a whole series of advantages I think for this ease of data handling for me is absolutely great
09:43
I mean you can bring in a raster data an ASCII file. You can take the values out You can do a whole load of things them you can return them and it doesn't screw it up so It's really really good that and for this model. I'm going to talk about you don't need a very powerful Computer about a gig is probably enough of RAM and any operating system that runs
10:04
That runs are as far as I know most of them do You need the raster package AOD SP and SDM tools and just for the spatial analysis, so you don't need a great deal of additional stuff this is The model that I've actually built is is based in this area as I was saying south southwest Spain
10:25
This is a natural area called Donjana and I'm going to show some examples of My land use simulations for the growth of this large town called San Luca de Barrameda So right land use demand you need to know how much land is changing remember
10:43
I'm only going to be talking about urban land So this is a binary map urban land is one non urban land is zero and our land use demand In our second date in our calibration map is just simply how much land we know change to urban in that date So they're 1999 4502
11:01
Okay All right, how do we calculate it in our there we go very simple frequency command There we can see we had six six thousand seven hundred fifty two cells allocated to urban That's the demand of 157 cells a year so at each time step we need to locate 150 cells of urban land
11:24
Yeah Okay, this is our matrix that we've just seen for our neighborhood rules and then We apply a focal moving window. Yeah using this command a focal command. Yeah, and this is the window that we saw before
11:40
Okay, it does some quite odd things here. I'm not quite sure why it creates some holes in the map So we can fill in these areas from the original map that's something I should look into more but Haven't had the time So here we are here's our neighborhood filter applied and we can see well basically, the green area is where the city was in our first time step and the
12:03
Areas in yellow and red are on the fringe of the city in those areas that have the second highest potential So the highest potential for transition is in existing urban areas Because I say if you don't your urban areas walk all over the map the second highest Potentials are going to be on the fringes. Yeah, so it's pretty straightforward
12:22
The randomness right? Well, sorry for this big slide of code It's it's longer than it needs to be because as you can see, I'm not an expert are and nor am I programmer but Effectively the viable distribution is a skewed distribution. So this means that we're not we're not getting values
12:43
Consistently between zero and one like we would in a normal distribution We're getting values that are they tend towards one So most of our values are going to be one and that's really important because we're multiplying it into the transition potential equation So most of the time we're going to get determinism But occasionally we're going to get values that are not one and they can be quite a lot higher than one
13:04
so so this is how this is how we've We've put our our randomness in And then we've made sure that we set the city to one so we're not actually Randomizing inside the urban area because this doesn't really fit inside our conceptual model
13:21
You know, we believe that there's a possibility for urban areas to randomly occur Outside of the existing city, but we don't really want chunks of our city to randomly disappear. Yeah Anyway Accessibility well, this really is is Very straightforward stuff in GIS. This is just a reclassification. I mean, I suppose it's not not very user-friendly
13:46
But it's not difficult either. You know, we've got a vector there and we're saying that Everything from minus infinity to a hundred is given one everything from hundred to three hundred is naught point nine and so on So we've got a distance decay effect
14:02
Falling off with a halving distance about 2.5 kilometers. Yeah, so it's it's half half its effect at 2.5 kilometers away from a road and we can play around with these values We apply the accessibility equation There we go, and then we plot it out and that's what we get
14:22
It's quite a good display. So we can see there's actually some white areas Inside the roads itself and why is this we wonder actually this is because Areas that are actually really close to the road ie on the road are infinitely high And the color scheme I've got doesn't actually plot infinite values. I don't know can anything plot infinite values
14:46
So philosophical question so I need a better color scheme there Yeah, right the slope this is our suitability I've just chosen a slope map which is the simplest most typical example for locating urban land Generally urban land is found on slopes of less than about five percent
15:04
Most of this area is in fact less than about five percent blocked out in white by the way is the protected area Come on to that in a second. So that's our suitability map And zoning well, you've got two ways to incorporate it I chose the simplest fastest way out, which is just to exclude the no data areas from the model
15:26
Or you could add it just in the same way that you did suitability is another map with values from zero to one But we've got to remember That if we're returning zeros, we're putting zeros into a multiplying equation. So our result will be zero
15:42
So again, we don't want the land use in that we want it to stay the same we don't need to disappear So we've got to have a little if condition in there I haven't go around to that because I say I took the I took the easy way out. This is my pseudo code Again, I'm I repeat. I'm not a programmer
16:00
So one of the things you'll see here is I've got a loop within a loop and hasn't actually seemed to create me too many problems, but I think there's definitely better ways to do this and What we're doing is we're we're running the loop Okay, so we're running the neighborhood rules we're creating our random map then we're calculating our total transition potential just by multiplying these things together
16:24
We're extracting the values and then we're entering a second loop to locate this is for this for each time step 157 cells of urban land and how do we do this? Well, we take the maximum using the max command And we and we change it to minus nine nine nine. So the second time we go into that loop for the
16:47
We're not picking the same maximum Okay, it's just a solution that seemed to work Here's our total transition potential. You can see that we've got this speckled the speckle effect is because of our random math
17:03
So we've got a lot of values in in cyan there which are one or very close to one But then there's some there's some areas which are which are outside the urban area which have have higher potential. So anyway Yes, so what I've done here is I've done three simulations to test it
17:22
Okay, got the first one is the one I've been talking about me showing on the slides in the second one I've enhanced the randomness by changing the scale parameter here, which is the exponent of this So instead of having it as a half I've got naught point nine Then a third simulation I've reduced the neighborhood influence by a factor of a hundred in fact
17:43
So this reduces the the power of the neighborhood respect to the other variables Right, so this is what I'm trying to simulate I've got a real map 1956 very little urban growth there and then this kind of sprawling urban growth with some new
18:00
Irrigation channels. Actually, this is not just urban. This is sort of artificial surfaces Here anyway, so we've got these irrigation channels in in 1999 and I have a go at it Well, that's the first one. Well, it's not that good. I mean, it's not it's not too bad. I've managed to grow some land
18:21
But we can improve it so this is why I jacked up the randomness a little bit and we connect we can actually see That this has the effect. Let me see. It's gonna have a think about this. It's gonna give I can go back Think about there we go. You can actually see the difference between the first and the second one. I haven't got any any urban areas
18:43
That's just sort of spring up But when I up the randomness, they start to they start to spontaneously occur And then when I reduce the effect of the neighborhood respect to the other variables I start to get a more realistic pattern
19:00
I say more realistic because this is very very clumped, isn't it? We're starting to see some sort of fraying at the edges and this is Possibly starting to be able to simulate a little bit this this spread along the coast So anyway, that was the best simulation I came up with Well more or less realistic looks at least it looks like land use I've seen a lot of simulations that look like, you know, sort of mushrooms and algae blooms
19:23
This doesn't look like that it seems to be growing step by step There's some problems We've got some good things some smaller urban patches do spring up spontaneously which reflects reality to a certain extent There's a bit of linear dispersion reflecting the influence the accessibility I need to take the irrigation channels out of this map as you can see
19:43
Because we don't we don't grow new irrigation channels alongside existing ones These are problems that can be solved Right, and I hope I've got time to just quickly go into the statistical Two minutes right very quickly Okay, I've used kappa which is a standard map comparison technique, and I haven't used unmodified kappa
20:06
Because this causes some problems. It doesn't take into account areas of no change So we've used this modified statistic from van Vliet. This is programmed by a colleague of mine I'm not going to show it to you because it's not ready yet But anyway, it works and we're going to package it up and and make sure that it's available
20:25
How do we know it's any good well higher than 0.1 usually you have to take my word for it I'm afraid but if you look at the literature higher than 0.1. You're starting to be able to simulate growth effectively Well fractal dimension this again. This is a pattern comparison measure
20:42
In general the closer between one and two the closer to The more dispersed or the more sprawling the more irregular the pattern so we can see in our real maps We've got quite a dispersed Pattern quite dispersed boundaries in our simulations not so dispersed Remedy more randomness stronger accessibility perhaps to just scatter those urban areas along the roads
21:06
And then what I've done is I've taken this and I've applied it to the real map in 2007 with the same growth tendency 157 cells a year up to 2050 So there it is there it is working
21:22
And that's almost the last slide just let that finish Okay, right. Well, I'd like to put the full the full script up. I haven't done it yet as I said The real prize would be to add the capability to model multiple land uses. You just need to be able to
21:43
Sort you haven't you have a high each each Land use would have its own transition potential matrix and you need to sort out Which of those is the highest for each particular cell between the different land uses? Something we've done in Python, but we haven't done it in our yet We're going to apply it and this is just a tiny little bit publicity. Sorry about that for our project fp7 project
22:07
Complexity in low-carbon energy systems climate change and land use so we're going to try and apply some of these some of these techniques And that's me Please feel free to contact me That's that's the end any questions
22:43
In What sense Yeah, oh I see what you mean yeah, yeah
23:03
Yeah Yeah, you're totally you're totally right I mean in no circumstance would I want to say this is what it'll be like in 2050 I suppose that's just an example of given to show how you you know, you would run this forward into the future
23:21
But yeah, absolutely. You'd want to do, you know a whole series of runs hundreds You know as many as you've got time for and then put them together absolutely and give a nice probability You know, what are the probability of particular areas to change to totally agree? Yeah, the model takes about
23:41
About 20 minutes on my laptop, so it's 43 43 years, it's not very fast, but neither is it so slow that it gives you a headache I think if we start trying to introduce other other land uses I'll have to we'd have to try and look at modifying the code I think our offers the facility to escape a little bit from loops, but I'm not sure exactly how that works
24:02
I'll be very happy if someone could tell me Yeah, you mean you mean the demand would not be a sort of a straight line rather
24:29
Well You can do it Yeah, I mean that would be interesting for your future for your I suppose to simulate the future You might want a series of scenarios in which the growth does a series of things and
24:44
I mean that's definitely been the case in Spain You know, we've had kind of years and years and years and years of consistent urban growth And all of these models have been great, you know businesses use it's always the same It just keeps on growing and then suddenly we have the economic crisis in 2007 and that just throws everything out of the window. So that's a clear kind of weakness and these models I think
25:16
Yes
25:25
Yes, I mean you can Again, you could incorporate I mean I think it would be easy enough to introduce a new map a particular time step that could have New road development and as soon as that happens
25:42
That's that can then be calculated and then you you will get new wrote you new things coming up off that new map Yeah, definitely that will be that would be really good and that would actually that would improve it really I think because quite a lot of that I'm in the model of the metronomica model that That we've used the commercial version is quite static in that sense and it doesn't offer that flexibility. So
26:06
Yeah Not For the same area, but I can't I just haven't had time I can do because I've got the same model in the same commercial software
26:21
Perhaps I should do that and put it on the on the blog. That would be interesting In theory, it should be identical if I put the same rules and it should be identical. That would be the test, wouldn't it? So, sorry. I haven't had time to do it