All Projects → SimPLU3D → simplu3D

SimPLU3D / simplu3D

Licence: other
A library to generate buildings from local urban regulations.

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to simplu3D

megaverse
High-throughput simulation platform for Artificial Intelligence reseach
Stars: ✭ 148 (+722.22%)
Mutual labels:  simulation
sbml-test-suite
The SBML Test Suite is a conformance testing system. It allows developers and users to test the degree and correctness of the SBML support provided in a software package.
Stars: ✭ 21 (+16.67%)
Mutual labels:  simulation
machine-learning-and-simulation
All the handwritten notes 📝 and source code files 🖥️ used in my YouTube Videos on Machine Learning & Simulation (https://www.youtube.com/channel/UCh0P7KwJhuQ4vrzc3IRuw4Q)
Stars: ✭ 93 (+416.67%)
Mutual labels:  simulation
rcssserver
The RoboCup Soccer Simulator Server
Stars: ✭ 100 (+455.56%)
Mutual labels:  simulation
amodeus
Autonomous Mobility-on-Demand Extremely Useful Simulation
Stars: ✭ 44 (+144.44%)
Mutual labels:  simulation
openfluid
OpenFLUID framework and applications
Stars: ✭ 19 (+5.56%)
Mutual labels:  simulation
godesim
ODE system solver made simple. For IVPs (initial value problems).
Stars: ✭ 19 (+5.56%)
Mutual labels:  simulation
SmartTrafficIntersection
Another AI toy project, of a traffic intersection controlled by a Reinforcement Learning AI agent to optimize traffic flow in an intersection of vehicles or pedestrians
Stars: ✭ 30 (+66.67%)
Mutual labels:  simulation
SimNDT
Ultrasonic NDT Simulator with engine core based on the Elastodynamic Finite Integration Technique (EFIT)
Stars: ✭ 34 (+88.89%)
Mutual labels:  simulation
rpl-attacks
RPL attacks framework for simulating WSN with a malicious mote based on Contiki
Stars: ✭ 56 (+211.11%)
Mutual labels:  simulation
ROS-TCP-Connector
No description or website provided.
Stars: ✭ 123 (+583.33%)
Mutual labels:  simulation
atc-reinforcement-learning
Reinforcement learning for an air traffic control task. OpenAI gym based simulation.
Stars: ✭ 37 (+105.56%)
Mutual labels:  simulation
elasty
A research-oriented elastic body simulator
Stars: ✭ 173 (+861.11%)
Mutual labels:  simulation
robotic-warehouse
Multi-Robot Warehouse (RWARE): A multi-agent reinforcement learning environment
Stars: ✭ 62 (+244.44%)
Mutual labels:  simulation
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (+355.56%)
Mutual labels:  simulation
ORBITM
🌏 📡 🌏 📡 ORBITM - Orbit maintenance, propulsion sizing, and life-time estimation of space objects!
Stars: ✭ 28 (+55.56%)
Mutual labels:  simulation
HELICS
Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
Stars: ✭ 76 (+322.22%)
Mutual labels:  simulation
utopia
Utopia is a comprehensive modelling framework for complex and evolving systems. Docs @ https://docs.utopia-project.org — NOTE: This repository is a READ-ONLY-MIRROR of the actual development repository; please open issues and MRs there:
Stars: ✭ 12 (-33.33%)
Mutual labels:  simulation
multiphysics
Interactive Multiphysics Simulation for Everyone
Stars: ✭ 41 (+127.78%)
Mutual labels:  simulation
euler-fluid-cpp
Euler fluid simulated with CPP and SFML
Stars: ✭ 50 (+177.78%)
Mutual labels:  simulation

Simplu3D

Build Status

A library to automatically general built configurations that respect urban regulations and optimize a utility function.

Introduction

This research library is developed as part of COGIT team researches concerning processing of urban regulation.

It provides an implementation of multi-dimensionnal simulated annealing algorithm to produce built configuration from a set of boxes constrained by urban regulation that optimizes a utility function.

The project is developed over 3D GIS Open-Source library GeOxygene concerning geometric operators and 3D visualization, librjmcmc4j for simulated annealing implementation and simplu3d-rules for geographical model and regulation management.

The official website is hosted on GitHub and the javadoc is deployed in the gh-pages branch of this project.

Conditions for use

This software is free to use under CeCILL license. However, if you use this library in a research paper, you are kindly requested to acknowledge the use of this software.

Furthermore, we are interested in every feedbacks about this library if you find it useful, if you want to contribute or if you have some suggestions to improve it.

Library installation

The project is build with Maven and is coded in Java (JDK 1.8 or higher is required), it has been tested in most common OS. If you are not familiar with Maven, we suggest installing developer tools and versions as described in GeOxygene install guide.

Vidéo and illustration

Generating a building with n boxes

Generating n buildings with 1 box

Different generations with various parcels

Test class

fr.ign.cogit.simplu3d.exec.BasicSimulator class using predefined resource files is runnable. It generates a built composed by a set of intersecting boxes.

public static void main(String[] args) throws Exception {

	// Loading of configuration file that contains sampling space
	// information and simulated annealing configuration
	String folderName = BasicSimulator.class.getClassLoader().getResource("scenario/").getPath();
	String fileName = "building_parameters_project_expthese_3.json";
	SimpluParameters p = new SimpluParametersJSON(new File(folderName + fileName));

	// Load default environment with no DTM (data are in resource directory)
	Environnement env = LoaderSHP.loadNoDTM(new File(
			DemoEnvironmentProvider.class.getClassLoader().getResource("fr/ign/cogit/simplu3d/data/").getPath()));

	// Select a parcel on which generation is proceeded
	BasicPropertyUnit bPU = env.getBpU().get(0);

	// Instantiation of the sampler
	OptimisedBuildingsCuboidFinalDirectRejection oCB = new OptimisedBuildingsCuboidFinalDirectRejection();

	// Rules parameters.8
	// Distance to road
	double distReculVoirie = 2;
	// Distance to bottom of the parcel
	double distReculFond = 0;
	// Distance to lateral parcel limits
	double distReculLat = 4;
	// Distance between two buildings of a parcel
	double distanceInterBati = 0;
	// Maximal ratio built area
	double maximalCES = 0.5;

	// Instantiation of the rule checker
	SamplePredicate<Cuboid, GraphConfiguration<Cuboid>, BirthDeathModification<Cuboid>> pred = new SamplePredicate<>(
			bPU, distReculVoirie, distReculFond, distReculLat, distanceInterBati, maximalCES);

	// Run of the optimisation on a parcel with the predicate
	GraphConfiguration<Cuboid> cc = oCB.process(bPU, p, env, 1, pred);
	// Writting the output
	SaveGeneratedObjects.saveShapefile(p.get("result").toString() + "out.shp", cc, bPU.getId(), 0);
}

Documentation and publications

For more information about this code, the generation process and the underlying models are described in the PhD of Mickael Brasebin (French document) :

Brasebin, M. (2014) Les données géographiques 3D pour simuler l'impact de la réglementation urbaine sur la morphologie du bâti, Thèse de doctorat, spécialité Sciences et Technologies de l'Information Géographique, Université Paris-Est, apr 2014

Contact for feedbacks

Mickaël Brasebin & Julien Perret COGIT Laboratory ({surname.name} (AT) {gmail} (POINT) {com})

Users and demo

Acknowledgments

  • This research is supported by the French National Mapping Agency (IGN)
  • It is partially funded by the FUI TerraMagna project and by Île-de-France Région in the context of e-PLU project
  • Mickaël Borne for improvements in the code and for refactoring
  • Imran Lokhat for tests and improvements about imrpoving the pipeline of simulation
  • ISC-PIF - Paul Chapron and Romain Reuillon for proposing methods dedicated to model exploration and simulation distribution
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].