Skip to content

Most important classes

SimStadtApp

eu.simstadt.desktop.SimStadtApp is the class which defines the SimStadt GUI.

package eu.simstadt.desktop;
public class SimStadtApp extends WorkflowApplication{
...

Run it as Java from Eclipse to start the GUI.

SimStadtCommandLineInterface

SimStadtCommandLineInterface is the class which can run workflows from the command line.

package eu.simstadt.desktop;

/*
 * Utility class to launch a SimStadt Workflow without GUI.
 * Repository, Projects and Workflows must already be present (either written by another script or created and saved by SimStadt-Desktop).
 */
public class SimStadtCommandLineInterface{
...

SimStadtModel

SimStadtModel is a CityGML file which has been parsed and converted to SimStadt data model.

package eu.simstadt.datamodel;

public class SimStadtModel{
...

SimStadtBuilding

SimStadtBuilding is a CityGML building which has been parsed and converted to SimStadt data model.

package eu.simstadt.datamodel;

public class SimStadtBuilding{
...

CityGmlWorkflow

CityGmlWorkflow is a top level workflow, which can be used in order to build a new Workflow. Output is generic (but will most often be SimStadtModel), input is a stream of CityGml files.

package eu.simstadt.workflows;

/**
 * Special top level workflow for processing CityGml files with the given output type (e.g. SimStadtModel)
 *
 * @param <Y>
 */
public class CityGmlWorkflow<Y> extends TopLevelWorkflow<File, Y>{
...

For example, in PhotovoltaicPotentialAnalysisWorkflowProvider:

    @Override
    public CityGmlWorkflow<SimStadtModel> buildWorkflow() {
        return new CityGmlWorkflow<>(WorkflowBuilder
                .start(new ImportCityGml())
                .next(new CreateSimStadtModel())
                .next(new Preprocessing(WorkflowBuilder
                        .start(new GeometricPreprocessor())))
                .next(new WeatherProcessor())
                .next(new IrradianceProcessor())
                .next(new PhotovoltaicPotential()));
    }