vadere issueshttps://gitlab.lrz.de/vadere/vadere/-/issues2023-05-17T17:07:24+02:00https://gitlab.lrz.de/vadere/vadere/-/issues/140Scenario Checker - wishlist2023-05-17T17:07:24+02:00Marion GoedelScenario Checker - wishlistSince the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [...Since the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [ ] WARNING: realTimeSimRatio != 0 - only if started from console
(Maybe this could also be realized by visualizationEnabled = false -> then automically realTimeSimRatio is set to 0)
#### Model
* [ ] WARNING: OSM + optimizationType = DISCRETE AND varyStepDirection = False -> Background: Pedestrians might not be able to walk through small passages
* [ ] WARNING: `loadingType` "CONSTANT_RESPECT_TARGETS" and "DYNAMIC" because they are deprecated
(compare: https://conwiki1.cc.private.hm.edu/confluence/display/FK07PD/VADERE+Input+Parameters)
* [ ] WARNING if the parameters deviate from the default configuration - to avoid accidental "mis-"settings
* [x] WARNING if groupSizeDistribution of any source is different from [1.0] but AttributesCGM is not present in Model tab (no groups will be simulated)
#### Topography
* [x] WARNING: No target that has `absorbing` = true (that means pedestrians will never leave the simulation)
* [x] WARNING: if a list of targets is defined but one (which is not the last one) has the attribute `absorbing` = true
-> pedestrians won't reach their final target
* [x] WARNING: if `radius` != 0.2 (because at the moment all potentials are calibrated for this radius)
* [x] ERROR: If in a source a group distribution is given where something other then groups of 1 are produced and the group submodel is not given throw an error.
* [ ] ERROR: If a pedestrian has no target (separate pedestrian)
* [ ] ERROR: If distributionParameter of the source is 0.0 - leads to Exception (Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)
* [ ] WARNING: if the source is too small for the amount of agents spawning. Some formula to estimate the pedestrian density required here, e.g. sourceArea / spawnNumberInSeconds < alpha => warning!
* [ ] WARNING: if `footStepsToStore` is zero (position interpolation and computing speed does not work then properly)
* [ ] WARNING: if `lineCrossProcessor` is within obstacle (flow will not be calculated correctly!)
-> maybe also, `LineCrossProcessor` attribute `Line line` can be defined as `Measurement Area`
* [ ] ERROR: agents might stop suddenly in front of non-absorbing targets if agent's `minStepLength` and target's `deletionDistance` are in conflict. Therefore, check `minStepLength < deletionDistance` or `minStepLength + eps < deletionDistance`. See #140.
* [ ] ERROR: if area of obstacle == 0
* [ ] NO WARNING: check for the targets if they are used by a dynamic element
##### TargetChangers
* [x] NO WARNING: If a ``TargetChanger`` is present, some targets might be used only by it. In this case, a warning is currently displayed that the target is unused.
* [ ] WARNING: If a ``TargetChanger``is present but ``useMinimumStepLength`` is ´´true``. Recommend to set to ´´false´´.
##### Free-flow speed
* [ ] ERROR: In attributesPedestrians: When the `speedDistributionMean` is set larger or smaller than the `minimumSpeed` and `maximumSpeed` (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: Negative (maybe even non-positive?) `minimumSpeed` && The `maximumSpeed` set larger than 12 m/s (12.4 m/s is the world record by Usain Bolt) (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: `minimumSpeed` is larger than `maximumSpeed`
* [ ] WARNING: If the free-flow std is larger than the limits for `minimumSpeed` and `maximumSpeed` allow.
#### Data processing
* [ ] WARNING if `writeSimulationData` = false even though output processors are added and files are defined in which their output should be saved
* [ ] ERROR if group model is active groupId Processor must be selected
* [ ] ERROR if `PedestrianPositionProcessor` is set and `footStepsToStore` is 0. Bachground: The pedestrian position processor uses the latest foot step for interpolation, so it always needs the latest footstep and therefore a capacity of minimum 1.https://gitlab.lrz.de/vadere/vadere/-/issues/305[OutputProcessor]2020-04-23T15:06:12+02:00Zoennchen, Benedikt[OutputProcessor]### Problem to solve
To measure the distance between an agent and some target it would be useful to use the target potential because if F=1 this is a good approximation of the geo. distance. Therefore, we already introduced the Pedestria...### Problem to solve
To measure the distance between an agent and some target it would be useful to use the target potential because if F=1 this is a good approximation of the geo. distance. Therefore, we already introduced the PedestrianPotentialProcessor. However it was not configurable which target is used, it was always the current target of the agent. This has to be made configurable.Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/300Migration Assistant: show path of file that failed to migrate2023-04-27T15:47:20+02:00Ghost UserMigration Assistant: show path of file that failed to migrateI often spend a lot of time to identify scenarios that cause the migration assistant to fail (often cases: output folder, or in an untracked file, or in a file from another branch).
Currently, there is only a blank window
![image](/up...I often spend a lot of time to identify scenarios that cause the migration assistant to fail (often cases: output folder, or in an untracked file, or in a file from another branch).
Currently, there is only a blank window
![image](/uploads/a771547b4db596bf1c24f276f8c2868c/image.png)
and error message
```java
09:55:37,818 ERROR ActionLoadProject:155 - could not loadFromFilesystem project: null
java.lang.NullPointerException
at org.vadere.simulator.projects.io.JsonConverter.deserializeScenarioRunManagerFromNode(JsonConverter.java:56)
at org.vadere.simulator.projects.migration.jsontranformation.AbstractJsonTransformation.addNewMembersWithDefaultValues(AbstractJsonTransformation.java:211)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateScenario(JsonMigrationAssistant.java:287)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateDirectory(JsonMigrationAssistant.java:203)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.analyzeProject(JsonMigrationAssistant.java:61)
at org.vadere.simulator.projects.io.IOVadere.readProject(IOVadere.java:66)
at org.vadere.simulator.projects.io.IOVadere.readProjectJson(IOVadere.java:47)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProjectByPath(ActionLoadProject.java:109)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProjectByPath(ActionLoadProject.java:104)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProject(ActionLoadProject.java:78)
at org.vadere.gui.projectview.control.ActionLoadProject.actionPerformed(ActionLoadProject.java:39)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
which is not really helpful. It would be helpful:
* Which scenario file causes problems? List of them preferred but show first when it fails also ok.
* If not too hard: which attributes could not be migrated?
* Simply not load the scenarios that could not be migrated, but load the scenarios that are valid. (possibly show them in red text in the project).https://gitlab.lrz.de/vadere/vadere/-/issues/297List of things to consider when using triangular meshes2023-04-27T15:49:26+02:00Ghost UserList of things to consider when using triangular meshes@BZoennchen
1. sharp angles (walkable area) can lead to non-determinism of background
* [ ] TODO: can this go into the ScenarioChecker?
2. merge overlapping obstacles
* [ ] TODO: in OpenStreetMap based scenarios points are ofte...@BZoennchen
1. sharp angles (walkable area) can lead to non-determinism of background
* [ ] TODO: can this go into the ScenarioChecker?
2. merge overlapping obstacles
* [ ] TODO: in OpenStreetMap based scenarios points are often *exactly* the same (so that the obstacles do not overlap)
3. fill holes (i.e. not reachable areas) with obstacles
* [ ] TODO: algorithm to do this?
4. (optional): remove co-linear points to decrease number of required faces in mesh
* [ ] TODO: algorithm to do this?
5. (optional): user should remove unnecessary obstacles or parts
* [ ] TODO: (optional) making decisions easier: visual feedback for user of mesh and mesh quality (e.g. red=problematic parts of scenario, white=good quality)
* [ ] TODO use cache mechanism using the scenario hash
* [ ] TODO make Wiki entryhttps://gitlab.lrz.de/vadere/vadere/-/issues/267[GUI] Slider in Postvis should fast-forward and rewind immediately2019-10-14T12:44:41+02:00Ghost User[GUI] Slider in Postvis should fast-forward and rewind immediately### Problem to solve
After using the new `FootStepProcessor` for postvisualization, the slider in the Postvis GUI should fast-forward and rewind the simulation immediately while the slider is dragged (like before merge 696a81f4) and not...### Problem to solve
After using the new `FootStepProcessor` for postvisualization, the slider in the Postvis GUI should fast-forward and rewind the simulation immediately while the slider is dragged (like before merge 696a81f4) and not just after releasing the slider. See following animation of the old GUI behavior:
![Vadere-Slider-ForwardAndRewind](/uploads/04bec65a779394c1be4cfb958b02608d/Vadere-Slider-ForwardAndRewind.gif)
### Further details
This allows quicker visual debugging.https://gitlab.lrz.de/vadere/vadere/-/issues/253Change postviz trajectories to more detailed foot steps data2019-10-08T10:36:41+02:00Ghost UserChange postviz trajectories to more detailed foot steps dataIssue, following up on the discussion with @BZoennchen.
I change in !65 the DataKey of `PedestrianFootStepProcessor` (see https://gitlab.lrz.de/vadere/vadere/issues/172#note_392984 ).
In the OSM tests the scenarios `rimea_04_flow_osm1...Issue, following up on the discussion with @BZoennchen.
I change in !65 the DataKey of `PedestrianFootStepProcessor` (see https://gitlab.lrz.de/vadere/vadere/issues/172#note_392984 ).
In the OSM tests the scenarios `rimea_04_flow_osm1_[050 | 075 | 100 | 125 | 470]_h` were using the `PedestrianFootStepProcessor`. For now, in the branch, I simply removed the processor from the output file (so the data is currently not available in the output files), in order to avoid exceptions of having the wrong key.
Todo list for this issue, also solves #172:
* [x] change the `postviz.trajectories` --> this allows a more detailed visualization
* [x] check out: use tablesaw library? Should be able to read csv data fast and allows data filtering and mapping more easily
* [x] read and cast the new data format in the post visualization
* [x] use (linear) interpolation of the footsteps (inside post visualization) -- when casting to `FootStep.class` this may already be available there, or using `VTrajectory`
* [x] adapt the DataKey in all scenarios that have the output file `postviz.trajectories` set
* [ ] if required, adapt the scenarios OSM test scenarios `rimea_04_flow_osm1_[050 | 075 | 100 | 125 | 470]_h` so that the foot step output is available
* [ ] Adapt the (Python) post processing scripts that are currently using the legacy `PedestrianFootStepProcessor`
We can discuss this again, also if I got the steps right. I am happy to help on this issue, but for now I am first working on !65 as this has to be merged first, then I ping.
This type of trajectory definition will then (hopefully) also be suitable to insert experimental data into Vadere (the rows do not necessarily have to correspond to foot steps then).Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/251Add coordinate system parameters to scenario file2019-07-31T18:33:03+02:00Ghost UserAdd coordinate system parameters to scenario file### Problem to solve
At the moment, it is hard to interchange information between Vadere's scenario file and external applications fully automated because some essential information are missing in the scenario file. For instance, the co...### Problem to solve
At the moment, it is hard to interchange information between Vadere's scenario file and external applications fully automated because some essential information are missing in the scenario file. For instance, the coordinate system which is used by Vadere and if imported data (e.g., from openstreetmap.org by using [osm2vadere](https://gitlab.lrz.de/vadere/vadere/tree/master/Tools/Converters/osm2vadere)) was shifted to the point (0;0) to avoid problems in Vadere when using big coordinates (e.g., 50,000;50,000).
### Further details
The new information about the coordinate system should be add to `topography` section of the scenario file:
```
"topography" : {
"attributes" : {
"bounds" : {
"x" : 0.0,
"y" : 0.0,
"width" : 38.0,
"height" : 12.0
},
"boundingBoxWidth" : 0.5,
"bounded" : true,
/* TODO: Add new information about the coordinate system, e.g.:
* "coorinateSystem": "EPSG:25832",
* "coordinatesShiftedBy": { "x": 10, "y": 10 }
*/
},
```Schuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/244[CI] Use subdirs to store log files in "run_vadere_console_with_all_scenario_...2019-05-21T10:00:14+02:00Ghost User[CI] Use subdirs to store log files in "run_vadere_console_with_all_scenario_files.py"### Problem to solve
Currently, the CI script **run_vadere_console_with_all_scenario_files.py** stores all log files in directory **log_dir**. This flat structure gets unclear with increasing number of scenarios. Therefore, introduce su...### Problem to solve
Currently, the CI script **run_vadere_console_with_all_scenario_files.py** stores all log files in directory **log_dir**. This flat structure gets unclear with increasing number of scenarios. Therefore, introduce subdirs for log files.
### Further details
The name of a log file should be derived from the scenario name. Usually, a scenario file has following structure: **VadereModelTests/TestOSM/scenarios/chicken_floorfield_ok.scenario**. The log file for this scenario should be named **vadere_logs/TestOSM/chicken_floorfield_ok.log**.
### Links and references
- Adapt script [run_vadere_console_with_all_scenario_files.py](https://gitlab.lrz.de/vadere/vadere/blob/master/Tools/ContinuousIntegration/run_vadere_console_with_all_scenario_files.py)https://gitlab.lrz.de/vadere/vadere/-/issues/234Add default Migration Task that only increases the Version number if no versi...2019-04-26T12:14:55+02:00Schuhbaeck, StefanAdd default Migration Task that only increases the Version number if no version specific migration is given.### Problem to solve
Simplify new releases with no scenario file changes except for the version field.
### Further details### Problem to solve
Simplify new releases with no scenario file changes except for the version field.
### Further detailsSchuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/211List Vadere releases on vadere.org2019-02-11T09:41:38+01:00Ghost UserList Vadere releases on vadere.org### Problem to solve
All releases which are triggered via `.gitlab-ci.yml` should be listed on an own page on http://www.vadere.org/.
### Further details
An end user can just go to the website and can download a Vadere executable whic...### Problem to solve
All releases which are triggered via `.gitlab-ci.yml` should be listed on an own page on http://www.vadere.org/.
### Further details
An end user can just go to the website and can download a Vadere executable which runs out of the box.https://gitlab.lrz.de/vadere/vadere/-/issues/178[GUI] Define measurement area in topography editor2019-04-08T09:59:29+02:00Marion Goedel[GUI] Define measurement area in topography editorDefine in the topography editor a measurement area in the same way as source, targets, etc. that can be used e.g. for the waitingTimeProcessor.
- [X] Add measurement Areas into GUI (merged in master - 1a26f9ef) branch 178_measurementAre...Define in the topography editor a measurement area in the same way as source, targets, etc. that can be used e.g. for the waitingTimeProcessor.
- [X] Add measurement Areas into GUI (merged in master - 1a26f9ef) branch 178_measurementArea deleted
## Change DataProcessors
- [X] FundamentalDiagramBProcessor @hm\-schuhba1 -- type 1 (measurementArea -> measurementAreaId) -- 86e514f3
- [X] FundamentalDiagramCProcessor @hm\-schuhba1 -- type 1 (measurementArea -> measurementAreaId) -- 071bfe4a
- [X] FundamentalDiagramDProcessor @hm\-schuhba1 -- type 2 (measurementArea -> measurementAreaId, voronoiArea -> voronoiMeasurementAreaIdArea) -- 071bfe4a
- [X] FundamentalDiagramEProcessor @hm\-schuhba1 -- type 2 (measurementArea -> measurementAreaId, voronoiArea -> voronoiMeasurementAreaIdArea) -- 071bfe4a
- [X] AreaDensityVoronoiProcessor @hm\-schuhba1 -- type 4 (voronoiArea -> voronoiMeasurementAreaIdArea) -- 071bfe4a
- [X] PedestrianCrossingTimeProcessor @hm\-schuhba1 -- type 3 (waitingArea -> waitingAreaId) -- 071bfe4a
- [X] PedestrianWaitingEndTimeProcessor @hm\-schuhba1 -- type 3 (waitingArea -> waitingAreaId) -- 071bfe4a
- [X] PedestrianWaitingTimeProcessor @hm\-schuhba1 -- type 3 (waitingArea -> waitingAreaId) -- 071bfe4a
Schuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/177Create AreaDensityCountingProcessor2019-05-14T17:48:50+02:00Ghost UserCreate AreaDensityCountingProcessorMotivation: I need to count pedestrians in an measurement area.
As far as I can tell, there is no processor which provides this. The closest is the `AreaDensityVoronoiProcessor`, however, it
At the moment, I workaround by changing th...Motivation: I need to count pedestrians in an measurement area.
As far as I can tell, there is no processor which provides this. The closest is the `AreaDensityVoronoiProcessor`, however, it
At the moment, I workaround by changing the , which counts people in an area of `Shape` but also divides by the sum of areas of Voronoi Faces.
xref #123https://gitlab.lrz.de/vadere/vadere/-/issues/174vadere-console.jar shall use more than two exit codes2023-05-17T16:09:41+02:00Ghost Uservadere-console.jar shall use more than two exit codesAt the moment, `vadere-console.jar` only returns two exit codes (0 for success, 1 otherwise).
Especially for the CI environment, it would be useful to have multiple return values so that caller of `vadere-console.jar` is better informed...At the moment, `vadere-console.jar` only returns two exit codes (0 for success, 1 otherwise).
Especially for the CI environment, it would be useful to have multiple return values so that caller of `vadere-console.jar` is better informed.
Possible exit codes:
- 0 = success
- 1 = exception occurred
- 2 = assertion occurred (raised by a test processor)
Before implementing, think about useful exit codes.https://gitlab.lrz.de/vadere/vadere/-/issues/156Personen ohne Überlappung im Polygon spawnen (S2UCRE)2018-10-25T09:40:29+02:00Zoennchen, BenediktPersonen ohne Überlappung im Polygon spawnen (S2UCRE)Die "Zufälligkeit" ist bereits implementiert jedoch kann es passieren, dass Personen sich mit Hindernissen oder anderen Personen überlappen.Die "Zufälligkeit" ist bereits implementiert jedoch kann es passieren, dass Personen sich mit Hindernissen oder anderen Personen überlappen.Schuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/155S2UCRE: Kompatibilität zu accu:rate Komponenten herstellen2018-10-15T18:04:09+02:00Zoennchen, BenediktS2UCRE: Kompatibilität zu accu:rate Komponenten herstellenVADERE sollte mit parse:it und batch:it kommunizieren könnenVADERE sollte mit parse:it und batch:it kommunizieren könnenZoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/154VPolygon als Quelle (S2UCRE)2018-10-25T09:43:44+02:00Zoennchen, BenediktVPolygon als Quelle (S2UCRE)Es sollte möglich sein auch ein VPolygon als Quelle zu definieren.Es sollte möglich sein auch ein VPolygon als Quelle zu definieren.Schuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/148TopographyCreator: translation2018-10-10T17:13:30+02:00Zoennchen, BenediktTopographyCreator: translationIt should be possible to translate the whole topography to a new origin (x,y).It should be possible to translate the whole topography to a new origin (x,y).Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/123New density output processor2023-05-17T16:42:25+02:00Ghost UserNew density output processorI plan to design/implement a new density processor. The difference to the existing ones is
1. generalize observable area to polygon shapes
2. measure at multiple fixed points inside the polygon. Current processors i) average density ...I plan to design/implement a new density processor. The difference to the existing ones is
1. generalize observable area to polygon shapes
2. measure at multiple fixed points inside the polygon. Current processors i) average density over a specified area (i.e. scalar) or ii) compute the density for every pedestrian in every timestep. Because of point 1) I want to use an unstructured grid; the prefered algorithm is the already developed & implemented @BZoennchen (has to be merged before)
Something like this, where each vertex in the triangulation is a point to evaluate the density:
![Screenshot_from_2018-09-12_17-52-39](/uploads/d9a6b6654cdd2e02f03a82ef72a091e2/Screenshot_from_2018-09-12_17-52-39.png)
The output would be something like:
| timeStep | point ID | density |
|----------|----------|---------|
| 1 | 1 | 0.5 |
| 1 | 2 | 0.6 |
| 1 | 3 | 0.1 |
| 2 | 1 | 0.9 |
| 2 | 2 | 0.6 |
| 2 | 3 | 0.8 |
##### Potential options to integrate into the processor (only implemented when needed):
* true/false to consider agents inside or outside the defined polygon
* set density algorithm (use available ones)
* options to forward to the triangulation algorithm (be able to give the accuracy of the density sampling)
* options to forward to the density algorithm (e.g. cut-off for Gaussian density)
* only compute the density of every `X` timestep (as this can be quite an expensive operation)
* allow averaging the density to one point (maybe this would be another processor)
##### Other issues:
* To reconstruct the density of a polygon, it is desirable to write a description of either the points or the entire triangulation in either the data file or in a separate file.
##### Aim:
Have a density evolution over time at fixed points in the scenario. I plan to investigate how many dimensions are needed to represent the density (use PCA) and use the output for QoI.https://gitlab.lrz.de/vadere/vadere/-/issues/89Visualizing treads in the stairs model2018-08-30T14:20:44+02:00Marion GoedelVisualizing treads in the stairs modelIt would be nice to see the treads in the TopographyCreator when stairs are used in the simulation. At the moment, the area of the stairs is colored. In addition, a line for each tread would be helpful for the user to see if the upwardsD...It would be nice to see the treads in the TopographyCreator when stairs are used in the simulation. At the moment, the area of the stairs is colored. In addition, a line for each tread would be helpful for the user to see if the upwardsDirection and treadCount parameters are set in a reasonable way.
### Current display
![snapshot_stairs_model_current](/uploads/ef5720e2f34162640b50cd8be0353c14/snapshot_stairs_model_current.png)
### Visualized stairs
![snapshot_stairs_model_idea](/uploads/3614c4fab181a3a6dd40739ed1d79de0/snapshot_stairs_model_idea.png)Schuhbaeck, StefanSchuhbaeck, Stefanhttps://gitlab.lrz.de/vadere/vadere/-/issues/84Topography checker2018-09-28T11:07:52+02:00Ghost UserTopography checkerFrequently there are problems with scenarios that have small gaps that are not visible in the GUI (such as between an obstacle and the domain). These small gaps cause undefined behavior, such as agents walking out of the domain.
One sol...Frequently there are problems with scenarios that have small gaps that are not visible in the GUI (such as between an obstacle and the domain). These small gaps cause undefined behavior, such as agents walking out of the domain.
One solution could be to warn the user about such gaps (E.g. show warning when running the scenario). Another idea (more advanced) could be to close these gaps automatically.
In both cases, a threshold is required.Schuhbaeck, StefanSchuhbaeck, Stefan