Bridging the gap between simulation and Gis
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 |
| |
Alternative Title |
| |
Title of Series | ||
Number of Parts | 150 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/34383 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2015 |
Content Metadata
Subject Area | |
Genre |
FOSDEM 2015106 / 150
3
5
9
11
13
14
15
16
17
18
19
20
24
26
27
28
29
30
37
41
42
44
48
50
54
62
64
65
67
68
69
71
75
78
79
82
83
84
85
86
87
88
89
90
94
96
97
103
104
105
107
108
113
114
115
117
118
121
122
123
125
126
127
129
130
131
133
136
137
138
141
142
147
148
149
150
00:00
Bridging (networking)Computer simulationOpen setData structureSpacetimeScalar fieldBitPopulation densityFinite element methodFocus (optics)Computer simulationBlack boxLinearizationTriangulation (psychology)Open sourceVector spaceInterpolationPoint (geometry)MereologyMultiplication signField (computer science)Module (mathematics)ResultantFreewareComputing platformMathematical modelMechanism designNP-hardTask (computing)Differential equationMathematical analysisMeta elementSoftwarePlug-in (computing)Capability Maturity ModelProcess (computing)Representation (politics)Domain nameScaling (geometry)MetreGeometryDifferent (Kate Ryan album)Water vaporConnected spaceTriangleAssembly languageGeneric programmingCartesian coordinate systemData managementWeb pageParameter (computer programming)Neighbourhood (graph theory)CASE <Informatik>ApproximationLatent heatLocal ringParticle systemPhysical systemArithmetic meanMaterialization (paranormal)Thermal conductivityRight angleInformation engineeringMathematicsType theoryWordNetwork topologyPolygon meshSummierbarkeitGenderCondition numberSet (mathematics)Musical ensembleFile formatEstimatorElement (mathematics)HTTP cookieAsynchronous Transfer ModeDimensional analysisAffine spaceConnectivity (graph theory)Source code
06:34
Computer simulationMereologyPhysical systemResultantParameter (computer programming)Computer simulationPlug-in (computing)Water vaporData managementUser interfaceProcess (computing)PressureArithmetic meanCoprocessorTheory of relativityState of matterCASE <Informatik>Instance (computer science)Power (physics)Stagnation pointPoint (geometry)Chemical equationAveragePlanningType theoryJunction (traffic)INTEGRALParticle systemComputer animation
08:52
Computer simulationACIDTunisComputer simulationDatabaseSound effectOcean currentVector fieldOpen sourceResultantMathematical analysisBitData storage deviceSet (mathematics)Visualization (computer graphics)Communications protocolField (computer science)Propositional formulaTerm (mathematics)Asynchronous Transfer ModeConstraint (mathematics)Process (computing)Connected spacePolygonSinc functionPoint (geometry)Attribute grammarStandard deviationNetwork topologyMereologyPolygon meshInternetworkingPlug-in (computing)Virtual machineCarry (arithmetic)File formatGUI widgetLink (knot theory)Square numberOrder (biology)Remote procedure callCASE <Informatik>Vector spaceCentralizer and normalizerReal-time operating systemComputer architectureRaster graphicsSource codeINTEGRALSign (mathematics)Context awarenessTheory of relativitySummierbarkeitElement (mathematics)Modal logicFormal languageMultiplication signMathematicsRange (statistics)Different (Kate Ryan album)Parameter (computer programming)Particle systemStructural loadPlanningVector potentialInstance (computer science)View (database)Event horizonInterface (computing)Information technology consultingProof theorySoftware developerBasis <Mathematik>Selectivity (electronic)EstimatorBit rateGraph (mathematics)Source code
16:36
GoogolComputer animation
Transcript: English(auto-generated)
00:07
Hi, my name is Hugo Mercier. I work for Auslandia. This talk was originally proposed by one of my colleagues, Vincent Mora. But unfortunately, he couldn't come today,
00:20
so I'm going to speak on his behalf. So we'd like to present to you how we try to bridge the gap between simulation and GIS. So I'm going to talk a little bit about what kind of simulation we are interested in, what kind of open source
00:42
tools for simulation and GIS exist so far, and at what point are we now, and what is missing. And so what do we propose, or what are we focusing on? So just to leave some words about simulation,
01:04
or the kind of simulation we are interested in. So suppose you have some dynamic model of a physical law, and you want to, and usually it's modeled by use of differential equations. And that depends on time and on space. And you want to solve it on a particular domain of interest.
01:24
And usually, analytical solutions cannot be used either because they do not exist, or they are too hard to evaluate. So the idea is to cut down the global problem into smaller, simpler problems. So on smaller subdomains, usually subdomains of space,
01:44
which are called finite elements. So we are focused on this particular type of simulation. There are other types of simulation, but this covers lots of applications. So this is an example extracted from the Wikipedia page.
02:01
So on the left, so suppose this is an approximation of a problem in 2D. So let's say we have two kind of materials, probably a conductive wire on the right, and some, I don't know, ferromagnetic thing, and air in between. And we want to compute the magnetic field of this domain.
02:24
And so the first step would be to cut, to partition the space into a grid. Well, this is a triangulation. And so in each one of these piecewise parts of the space, you can then run and execute a simpler problem.
02:46
And on the right, you can then compute and visualize the results of this continuous field, which is here a magnetic field. So you partition the space to form a mesh.
03:04
And you have values that are attached to each node that can be scalar value or vector value. And each node has a specific connectivity, a specific neighborhood. And each, in this case, triangle or finite element is used to interpolate values.
03:20
So in each point, you have a value. And that can be in one dimension, 2D, 3D, or even more if you want. And just to be sure, we understand. So this is a representation of a finite element where on each node, you can have a different kind of values. And there is some kind of interpolation values.
03:46
And so the hard task of simulation is there is lots of questions on their own. So how to discretize space is a hard question. Because in this particular example, you can see that the density of the triangulation
04:02
is not the same everywhere. Because probably the people running the simulation knows that around this ferromagnetic thing, there will be some much more things to visualize. So this is one problem. How to interpolate values is also
04:21
a problem that can be linear interpolation and lots of other kind of interpolation. How to assemble local solution, and of course, which kind of parameters for the model to use. So this was the simulation. And we are going to focus on a particular case of this kind of simulation in the field of GIS data.
04:43
So basically, everything that is run at a scale of some meters or some kilometers, where we have data with geo references in it. So it could be weather forecast, air quality, water quality management, and so on.
05:02
And we found that there is already a lot of open source simulation tools, components, open source simulation engines and models around, lots of them. And you can even find modules to simulate more generic things, like a mechanical structure
05:21
or deformation and so on. But the problem is that this is some kind of black box where people focus on the computation parts. And it really lacks a connection between GIS and simulation. And the simulation tools are not really integrated into GIS software.
05:42
So what we already did is to take one of these models and an engine called Epanet for the water management and integrate it into QGIS. So why QGIS? Because it's a generic GIS software. It's mature. It's extensible, like we saw just today.
06:03
It's a system of plugins. And it's very powerful. We are thinking about the processing toolbox. It's kind of a meta toolbox where you can have lots of special analysis thing. The 3D is coming. We are actively working on it.
06:21
And of course, it's free and open source. So our ambition is to turn QGIS into a simulation platform. So I'm going to show you a little bit of what we have done so far on this particular field. So this is QGIS, OK, with some layers loaded on the left, which represents a water management
06:42
system with pipes, junction, and so forth and so on. And what we've done is to integrate a plugin to call a simulation process. So it's called Epanet. And it's part of the processing toolbox.
07:03
So we can call, we can load here the processing toolbox. If we don't know this toolbox, it's very powerful. It's kind of a toolbox of toolboxes. So we can, I don't know if we, yeah, there is Orfeo toolbox that have been presented this morning and lots of other toolboxes.
07:22
And in particular, one of this Epanet plugin where you can launch the simulation. So you just have to declare what's your simulation of, what is the parameters of your simulation. And it will generate automatically
07:41
this user interface. And then you can launch the simulation and get the results back with a little bit of post-processing. And then you have some new kind
08:01
of layers that represent the results of the simulation. And so in this case, it's a 1D simulation because you simulate what occurs inside pipes. And you can see in red where basically are the problems. You have a problem of pressure, of stagnation, and so on.
08:24
And then you can extract data based on these results. You can have access to some internal states. And here, for instance, what is the pressure on this particular point?
08:40
What is the, I think it's the history of pressure, the velocity, and so on. So what we have been able to do with that is to, within QGIS in something integrated, to run the simulation, tune simulation parameters,
09:02
and visualize the results. And of course, because it's in the case of a GIS interface, we can make the link with other GIS data sources and processings, which is what we are interested in. So our mission now is to continue to bridge the gap between these two worlds.
09:22
So what about a new mesh concept? So this mesh, this kind of simulation mesh concept. And of course, we would like not to create just a new standard. So we like to share what's our first thought about that. So rather than a mesh concept, let's call it a vector field.
09:42
And the requirements would be something suitable for both simulation and GIS, where that would be able to carry arbitrary values and nodes that could be 1D, 2D, 3D. It would not be just a soup of polygons, but it would have topological constraints, a way
10:02
to store interpolation functions. And this is something that has to be seen as GIS layers when needed, when you want to do spatial analysis, and either as a simulation mesh when you want to use it with a simulation engine. OK, you already know that.
10:22
So for instance, that's just a proposition. If we want to see the vector field in terms of GIS concepts, we can say that nodes can be represented by a point layer with some special attributes. Elements, the finite elements, could be represented by a polygon layer. But we have to connect these two layers, nodes and elements,
10:42
by some kind of topological constraints, so maybe some triggers in a database or something like this. And we have to find a way to store interpolation function somewhere. So the overview of the architecture we are trying to propose is something like this, where we have this central notion of vector
11:01
field here, and probably within a database, something like a posh GIS or a specialized. And the red squares here would be the API able to interrogate, to request data, and to modify them in order for, for instance, QGIS
11:22
to visualize these vector fields and to be able to edit them, and also to be able to tune the simulation parameters, and also to call the simulation engines that could be eventually added remote. So it's about the simulation model.
11:41
Of course, it means that we have to model the different simulation parameters, their name, type, and definition range, so that we can generate widgets for the final users. And this is something really closely related to the processing toolbox of QGIS.
12:01
For the visualization parts and editing, the idea would be to use the standard editing mode of QGIS, for instance, but with some post-processing to ensure the topological constraints are respected. And this could be used to do some special analysis. And for the visualization part, probably
12:22
we will start with something standard, but we would need something like animations or graphic effects. So maybe we'd have to introduce some kind of OpenGL stack, OpenGL in the stack. And about the simulation execution,
12:40
I think in the first step, it would be just an executable that will be launched. But it would have to be thought as a protocol where the simulation engine can be somewhere on the internet or another machine. So why not use something like WPS for that?
13:01
And when we look at related concepts that exist, we found two interesting things. The concept of topology that exists in PostGIS and Specialites are something very close, but they are probably too generic for us
13:20
because they are generic graphs, and we want to model continuous fields. But that could be the base for something better. And there is also, on another point of view, the Crayfish plug-in for QGIS that is made by Lutra Consulting. And they have implemented a vector field in QGIS, which is very interesting.
13:41
But unfortunately, it's a bit too specific to a particular engine. But it looks like this. So you can load results from a simulation. This is the thing in blue. And it appears with a new kind of layer, which is not a vector layer, not a raster layer.
14:01
It's something in between, which is implemented thanks to the plug-in layer capability of QGIS. But yeah, it's too specific to this particular format. So the idea is to pave the way to have an open source solution to make the link
14:23
between simulation and GIS. You know, able to store, edit, and visualize vector fields for simulation, and to communicate with the simulation engines. And that could be used to, of course, use existing models and engine as it's done with the processing toolbox, where
14:42
you can connect pre-existing special analysis toolbox. And of course, too, it could be a set of API and protocols to develop new simulation engines. So we thought that would be interesting to share
15:02
our current thoughts about it, because we are going to start to work on it. We have done something already, but we are going to continue on that. So if you have ideas and remarks on that, you are welcome to discuss with us.
15:20
There is lots of potential to use simulation models and engines, but we think it lacks a bit of integration with the GIS world. OK, thank you.
15:56
Not necessarily real-time simulation.
16:03
Is it oriented towards real-time simulation or long-term simulation? That was the question. I think it's more long-term simulation, not necessarily real-time simulation. It could be on short period, but not something real-time.
Recommendations
Series of 18 media