Class NoiseMapByReceiverMaker
java.lang.Object
org.noise_planet.noisemodelling.jdbc.GridMapMaker
org.noise_planet.noisemodelling.jdbc.NoiseMapByReceiverMaker
Compute noise propagation at specified receiver points.
- Author:
- Nicolas Fortin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA factory interface for creating objects that compute rays out for noise map computation.static interfaceA factory interface for initializing input propagation process data for noise map computation. -
Field Summary
FieldsModifier and TypeFieldDescriptionIf true, all processing are aborted and all threads will be shutdownTell table writer thread to empty current stacks then stop waiting for new dataFields inherited from class org.noise_planet.noisemodelling.jdbc.GridMapMaker
bodyBarrier, buildingTableParameters, closeReceiverReflectionWallDistance, computeHorizontalDiffraction, computeVerticalDiffraction, demTable, geometryFactory, gridDim, groundSurfaceSplitSideLength, gs, mainEnvelope, maximumPropagationDistance, maximumReflectionDistance, MINIMAL_BUFFER_RATIO, receiverHasSeaLevelZCoordinates, soilTableName, sound_lvl_field, soundReflectionOrder, sourceHasSeaLevelZCoordinates, sourcesTableName, verbose -
Constructor Summary
ConstructorsConstructorDescriptionNoiseMapByReceiverMaker(String buildingsTableName, String sourcesTableName, String receiverTableName) ?? -
Method Summary
Modifier and TypeMethodDescriptionevaluateCell(Connection connection, CellIndex cellIndex, org.h2gis.api.ProgressVisitor progression, Set<Long> skipReceivers) Launch sound propagationorg.locationtech.jts.geom.EnvelopegetComputationEnvelope(Connection connection) Retrieves the computation envelope based on data stored in the database tables.Computation stacks and timing are collected by this class in order to profile the execution of the simulationThis table must contain a source identifier column named IDSOURCE, a **PERIOD** VARCHAR field, and emission spectrum in dB(A).intvoidinitialize(Connection connection) Initializes the noise map computation process.booleantrue if train propagation is computed (multiple reflection between the train and a screen)prepareCell(Connection connection, CellIndex cellIndex, Set<Long> skipReceivers) Initialisation of data structures needed for sound propagation.voidrun(Connection connection, org.h2gis.api.ProgressVisitor progressLogger) Run NoiseModelling with provided parameters, return when computation is donesearchPopulatedCells(Connection connection) Fetch all receivers and compute cells that contains receiversvoidsetComputeRaysOutFactory(NoiseMapByReceiverMaker.IComputeRaysOutFactory computeRaysOutFactory) voidsetFrequencyFieldPrepend(String frequencyFieldPrepend) voidvoidsetProfilerThread(ProfilerThread profilerThread) Computation stacks and timing are collected by this class in order to profile the execution of the simulationvoidDo not call this method afterinitialize(Connection)has been calledvoidsetSourceEmissionPrimaryKeyField(String sourceEmissionPrimaryKeyField) voidsetSourcesEmissionTableName(String sourcesEmissionTableName) This table must contain a source identifier column named IDSOURCE, a **PERIOD** VARCHAR field, and emission spectrum in dB(A) or road traffic information Spectrum column name must be LWGridMapMaker.sound_lvl_field.voidsetThreadCount(int threadCount) Methods inherited from class org.noise_planet.noisemodelling.jdbc.GridMapMaker
getBuildingsTableName, getBuildingTableParameters, getCellEnv, getCellEnv, getCellHeight, getCellWidth, getCloseReceiverReflectionWallDistance, getDemTable, getGeometryFactory, getGridDim, getGroundSurfaceSplitSideLength, getGs, getHeightField, getMainEnvelope, getMaximumPropagationDistance, getMaximumReflectionDistance, getSoilTableName, getSound_lvl_field, getSoundReflectionOrder, getSourcesTableName, getWallAbsorption, isComputeHorizontalDiffraction, isComputeVerticalDiffraction, isReceiverHasAbsoluteZCoordinates, isSourceHasAbsoluteZCoordinates, isVerbose, iszBuildings, setBodyBarrier, setCloseReceiverReflectionWallDistance, setComputeHorizontalDiffraction, setComputeVerticalDiffraction, setDemTable, setGridDim, setGroundSurfaceSplitSideLength, setGs, setHeightField, setMainEnvelope, setMaximumPropagationDistance, setMaximumReflectionDistance, setReceiverHasAbsoluteZCoordinates, setSoilTableName, setSound_lvl_field, setSoundReflectionOrder, setSourceHasAbsoluteZCoordinates, setVerbose, setWallAbsorption, setzBuildings
-
Field Details
-
exitWhenDone
Tell table writer thread to empty current stacks then stop waiting for new data -
aborted
If true, all processing are aborted and all threads will be shutdown
-
-
Constructor Details
-
Method Details
-
getNoiseMapDatabaseParameters
- Returns:
- Settings of the database (expected tables names; fields, global settings of the computation)
-
getSourcesEmissionTableName
This table must contain a source identifier column named IDSOURCE, a **PERIOD** VARCHAR field, and emission spectrum in dB(A). Spectrum column name must be LWGridMapMaker.sound_lvl_field. Where HERTZ is a number- Returns:
- Source emission table name*
-
getInputMode
-
setInputMode
-
getSourceEmissionPrimaryKeyField
-
setSourceEmissionPrimaryKeyField
-
getFrequencyFieldPrepend
-
setFrequencyFieldPrepend
- Parameters:
frequencyFieldPrepend- Text preceding the frequency in source emission table (default LW)
-
getSceneInputSettings
-
setSourcesEmissionTableName
This table must contain a source identifier column named IDSOURCE, a **PERIOD** VARCHAR field, and emission spectrum in dB(A) or road traffic information Spectrum column name must be LWGridMapMaker.sound_lvl_field. Where HERTZ is a number- Parameters:
sourcesEmissionTableName- Source emission table name
-
isBodyBarrier
public boolean isBodyBarrier()true if train propagation is computed (multiple reflection between the train and a screen) -
getProfilerThread
Computation stacks and timing are collected by this class in order to profile the execution of the simulation- Returns:
- Instance of ProfilerThread or null
-
getReceiverTableName
- Returns:
- Receiver table name
-
setProfilerThread
Computation stacks and timing are collected by this class in order to profile the execution of the simulation- Parameters:
profilerThread- Instance of ProfilerThread
-
setComputeRaysOutFactory
public void setComputeRaysOutFactory(NoiseMapByReceiverMaker.IComputeRaysOutFactory computeRaysOutFactory) - Parameters:
computeRaysOutFactory- Factory to create output data handler for each cell
-
getComputeRaysOutFactory
- Returns:
- Factory to create an output data handler for each cell the default is
DefaultCutPlaneProcessing
-
setPropagationProcessDataFactory
Do not call this method afterinitialize(Connection)has been called- Parameters:
tableLoader- Object that generate scene for each sub-cell using database data
-
getPropagationProcessDataFactory
- Returns:
- Object that generate scene for each sub-cell using database data
-
getThreadCount
public int getThreadCount()- Returns:
- Number of threads used for ray propagation, 0 means automatic detection of number of CPU cores
-
setThreadCount
public void setThreadCount(int threadCount) - Parameters:
threadCount- Number of threads used for ray propagation, 0 means automatic detection of number of CPU cores
-
prepareCell
public SceneWithEmission prepareCell(Connection connection, CellIndex cellIndex, Set<Long> skipReceivers) throws SQLException, IOException Initialisation of data structures needed for sound propagation.- Parameters:
connection- JDBC ConnectioncellIndex- Computation area indexskipReceivers- Do not process the receivers primary keys in this set and once included add the new receivers primary in it- Returns:
- Data input for cell evaluation
- Throws:
SQLException- SQL exception instanceIOException- IO exception instance
-
getComputationEnvelope
public org.locationtech.jts.geom.Envelope getComputationEnvelope(Connection connection) throws SQLException Retrieves the computation envelope based on data stored in the database tables.- Specified by:
getComputationEnvelopein classGridMapMaker- Parameters:
connection- the database connection.- Returns:
- the computation envelope containing the bounding box of the data stored in the specified tables.
- Throws:
SQLException- if an SQL exception occurs while retrieving the envelope.
-
searchPopulatedCells
Fetch all receivers and compute cells that contains receivers- Parameters:
connection- JDBC Connection- Returns:
- Cell index with number of receivers
- Throws:
SQLException- SQL exception instance
-
evaluateCell
public CutPlaneVisitorFactory evaluateCell(Connection connection, CellIndex cellIndex, org.h2gis.api.ProgressVisitor progression, Set<Long> skipReceivers) throws SQLException, IOException Launch sound propagation- Parameters:
connection- JDBC ConnectioncellIndex- Computation area indexprogression- Progression infoskipReceivers- Do not process the receivers primary keys in this set and once included add the new receivers primary in it- Returns:
- Output data instance for this cell
- Throws:
SQLException- Sql exception instanceIOException
-
getTableLoader
- Returns:
- Class used to load tables for input data
-
initialize
Initializes the noise map computation process.- Overrides:
initializein classGridMapMaker- Parameters:
connection- Active connection- Throws:
SQLException- if an SQL exception occurs during initialization.
-
run
public void run(Connection connection, org.h2gis.api.ProgressVisitor progressLogger) throws SQLException Run NoiseModelling with provided parameters, return when computation is done- Throws:
SQLException
-