Comments (22)
Welcome here,
Thanks, 01 is fixed now
from noisemodelling.
Thanks, Nicolas.
Here is my recommandations for step 02
02 - Quick start
-
For a non specialist user, it lacks a description of the required fields like load_speed, junction_speed, etc.
There is a description of functions signatures in 03 but I think a description of entry data is would be better in order to format real data. This true for the following functions:- BR_EvalSource()
- BR_SpectrumRepartition()
-
In the sound propagation section, the function signature it the one of BR_PtGrid() or it is BR_TriGrid() who is called.
-
How to create the sound propagation map from TRI_LVL ? There is no explanation on the symbology.
Maybe you can also provide a style file ? -
No problem with the code, I was able to generate all outputs, but the countouring noise map looks different (it might me normal, but you should mention it)
-
Geometry column is called 'geom' since PostGIS 2.0, as H2GIS aims to be closer as possible to PostGIS, it would be nice to change that, sadly it will require to change the BR_TriGrid3D function. I think it needs a separate issue as it could affect several functions and code file.
-
One extra comment is purely cosmetic as some SQL words are in uppercase and some don't.
from noisemodelling.
* How to create the [sound propagation map from TRI_LVL](https://raw.githubusercontent.com/wiki/Ifsttar/NoiseModelling/images/orbisgis_tri_lvl.png) ? There is no explanation on the symbology. Maybe you can also provide a style file ?
If a style is provided it must be a SLD encoding.
* Geometry column is called 'geom' since PostGIS 2.0, as H2GIS aims to be closer as possible to PostGIS, it would be nice to change that, sadly it will require to change the [BR_TriGrid3D](https://github.com/Ifsttar/NoiseModelling/blob/d9cc2b9800e3e5fe6375895c52cbff8606fd2e07/noisemap-h2/src/main/java/org/orbisgis/noisemap/h2/BR_TriGrid3D.java#L238) function. I think it needs a separate issue as it could affect several functions and code file.
Not sure about that. Coud you point us a link ?
from noisemodelling.
I can't find the PostGIS discussion about it but it raised some concerns on several places:
-
https://gis.stackexchange.com/questions/49455/geometry-column-naming-convention-geom-or-the-geom
-
https://georezo.net/forum/viewtopic.php?id=101461 (in French)
Ideally, you should be able to name the geometry column as you want. It is functionnal right now. As it is a newcomer review, I made the suggestion.
from noisemodelling.
03 SQL functions
This section details the fucntions used during the processing
BR_EvalSource
- good explanation of the parameters
- vl_per_hour and pl_per_hour seems to be half translated (comparing to lv_speed and hv_speed)
- copound_roadtype: based on IGN Route500 road model ? I guess that each type as a numeral code.
More explanations will be welcomed on those type, eventually a correlation table to OSM model would be useful
BTW_EvalSource
No comments
BR_SpectrumRepartition
- What is surface 1 ? A coating like asphalt and such ? New types will be proposed ?
BTW_SpectrumRepartition
no comments
BR_TriGrid
- What are W_V1, W_V2 and W_V3 ?
- What is the CELL_ID ?
- VARCHAR parameters in BR_TriGrid are String in other functions
BR_TriGrid3D
No comments
BR_PtGrid
No list of returned columns
BR_PtGrid3D
No list of returned columns
General comments
- Is BR for "Bruit Routier" and BTW "Bruit TramWay" ?
- maybe having parameters types of function signatures in italic or bold will help identified them.
- Units might be provided like maximumAreaOfTriangle in square meters, roadsWidth in meters, etc
from noisemodelling.
04 Industrial sound sources application
There is not particular comments on that section just general ones.
-
A map of the bounding box with the 2 "artificial sources points" might be useful as I only understood their usage after the calculation.
-
no issue with the code, it works flawlessly
-
output map is different of the map shown in the quickstart. Is that because a finer algorithm in the latest version (2.1.2) ?
-
Some section titles like in 02 Quick Start might help comprehension. This showcase is short so it doesn't disturb too much but that can help to see the key features
-
same comments as before: uppercase/lowercase SQL keywords,
-
code is well commented, there is no problem to understand what it does.
from noisemodelling.
I can't find the PostGIS discussion about it but it raised some concerns on several places:
* https://gis.stackexchange.com/questions/49455/geometry-column-naming-convention-geom-or-the-geom * https://georezo.net/forum/viewtopic.php?id=101461 (in French)
Ideally, you should be able to name the geometry column as you want. It is functionnal right now. As it is a newcomer review, I made the suggestion.
The name of the geometry column "geom" or "the_geom" is just for conventional naming (recommendation). There is no constraint about that in the SQL standard.
I think using a specific name for Noise function is good choise. The user is welcome to apply an alias to change on the fly the name of its column.
@nicolas-f What do u think ?
from noisemodelling.
05 Ground effect
no major concerns on this part as it is similar to the previous part.
- code is working flawlessly
- A little structuration with headers could help to understand where landuse affects the processing:
- Test data generation (buildings, roads, traffic, noise, etc)
- Transforming the landuse in G coefficient
- Calculing the triangles with the Land_G parameter
- Calculing noise map as seen before
- about illustrations:
- the illustrations are not side by side but on top of each other. A caption for each will be more comprehensible
- the produced output is different from the quickstart (the purple area is way more extended):
- the illustrations shows points that are not produced in the quickstart (not a big deal but confusing)
from noisemodelling.
06 Modelling barrier using digital elevation model
Same comments as before:
- code is working flawlessly
- A little structuration with headers could help to understand:
- Producing genreric data:
- Create buildings
- Create sources
- Create Digital Elevation Model
- Create the Noise Map
- Create triangular grid
- Create Noise propagation on triangularr grid
- Create countoring noise map
- Producing genreric data:
- Groovy part not tested (waiting to have done 10 Scripting with Groovy
from noisemodelling.
07 Horizontal noise map
Create input data for demonstration
No comments, working as expected
Launch sound propagation and triangulation
Encounter one issue with this line:
import org.h2gis.h2spatialapi.EmptyProgressVisitor;
Corrected with import org.h2gis.api.EmptyProgressVisitor;
as the api name changed
I'm stuck to the next line:
def sql = Sql.newInstance(grv_ds);
as it seems the grv_ds seems to be connections information to the H2 database but grv_ds
is created nowhere.
Create contouring noise map
- not treated yet
from noisemodelling.
I think sql variable is predefined now in the OrbisGIS groovy console
from noisemodelling.
Ok, I deleted the line.
Still have an issue with the following line:
TriangleNoiseMap nm = new TriangleNoiseMap("result", "BATI_HAUTEUR", "SOURCE_SOURCE_2002_MERGED");
Console says "Script1.groovy: 1: unable to resolve class TriangleNoiseMap " but TriangleNoiseMap seems to be at the right place.
Plus I don't see where are created the functions parameters.
from noisemodelling.
This class has been edited.
It expect only two arguments now.
TriangleNoiseMap nm = new TriangleNoiseMap("BATI_HAUTEUR", "SOURCE_SOURCE_2002_MERGED");
from noisemodelling.
Maybe 7 is an outdated wiki article, and should be removed ? As it doesn't add anything compared to the other articles?
from noisemodelling.
I don't know, is it seems to be like 06 but with groovy code.
There is no output to compare.
from noisemodelling.
08 Vertical noise map
I have hard time to understand what are the created objects:
- receivers_cut
- propa_line (I guess propagation line, where calculations are made ?)
- grid_del is a Delauney grid, what is the difference with the BR_TriGrid ?
- RECEIVER_LVL
- receiver_cloud
- delaun
Therefore, I have hard time to understand the output. It is a cross-section view ?
Where the blue part is the hill ? I think that can be explained to help understanding.
The output I get is different as it seems that there is no mask for the hill or the building.
Does the graph represent the sound levels on the "propa_line" ?
from noisemodelling.
09 Using data from OpenStreetMap
General comments:
- Great doc structuration with headers
- Clear explanations
- Code works very well
1. Export All open street map informations
- An archive with a (small) dataset will be great as not everybody is familiar with OpenStreetMap and how to extract data from it. Thus, it is hard to choose a not too big dataset with too much buildings in it.
- It might be interesting to specify that you'll need to use the export tab in OpenStreetMap to get the extract.
2. Transfer osm file into OrbisGIS database
No comments on this part
3. Extract 2D buildings from tables
This section could explain more where to change the projection in the code: ``ST_SETSRID(ST_MAKEPOLYGON(ST_MAKELINE(THE_GEOM)), 4326), 32630)`
It could explain that the datasource is in WGS84 and it is corresponding to the 4326 code.
There no indication that the indicated UTM 30N is great for a dataset from the west part of France for example.
Note about the Coordinate System
- Nice and useful advice
- the link to the Wikipedia article on UTM zones is not working properly (due to an underscore ?)
- A link to the nice map from Wikipedia would be nice (is it this one)
4. Extract roads
- no comments on this part
5. Fake traffic
- might be good to explain briefly that it creates the columns SPEED_LV, SPEED_HV, LV_HOUR, HV_HOUR and what it represents (even if it is detailed in previous tutorials) in order to had to local legislations for example.
Compute noisemap
- Might be part 6 ?
Extended noise propagation
This is nice to provide this informations for 3D noise propagation. I'm wondering if it can be made into a tutorial too (with provided dataset).
Extra note: this is my output for the Lorient city center:
from noisemodelling.
10 Scripting with Groovy
- Proposed version (orbisgis-5.0.1-noisemap-2.0.1.SNAPSHOT) is not the latest (2.1.2-SNAPSHOT/orbisgis-noisemodelling-2018-07-18)
- Command lines provided not updated to the proposed version of OrbisGIS (and the latest). For example:
- noisemap-h2-2.0.0-SNAPSHOT => org.orbisgis.noisemap-h2.jar
- org.orbisgis.noisemap-core.jar
- For latest version, changes are too important:
bin/cts-1.3.3.jar
=>bundle/cts.jar
bin/h2spatial-api-1.1.1-20141203.151348-41.jar
=>bundle/h2gis-api.jar;
?bin/jts-1.13.jar;
=> ?
- reorganize jar dependencies in commands by location and alphabetical order to make it easier to check and maintain. For example, all libraries in
bin/
then all inbundle/
I used this command (with orbisgis-dist-5.0.1-2015-01-30):
groovy -cp "bin/cts-1.3.3.jar;bin/h2spatial-api-1.2.0.jar;bin/jts-1.13.jar;bin/log4j-1.2.16.jar;bin/slf4j-api-1.6.0.jar;bin/slf4j-log4j12-1.6.0.jar;bin/spatial-utilities-1.2.0.jar;bundle/commons-compress.jar;bundle/h2.jar;bundle/h2drivers.jar;bundle/h2network.jar;bundle/h2spatial.jar;bundle/h2spatial-ext.jar;bundle/jackson-core.jar;bundle/java-network-analyzer.jar;bundle/jdelaunay.jar;bundle/jgrapht-core.jar;bundle/org.orbisgis.noisemap-core.jar;bundle/org.orbisgis.noisemap-h2.jar;bundle/postgis-jts-osgi.jar" noisemodelling_script.groovy
I got this error:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/C:/PROGRA~2/Groovy/GROOVY~1.0/lib/groovy-3.0.0-alpha-3.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Caught: java.lang.NoClassDefFoundError: Unable to load class groovy.xml.jaxb.JaxbGroovyMethods due to missing dependency javax/xml/bind/JAXBContext
java.lang.NoClassDefFoundError: Unable to load class groovy.xml.jaxb.JaxbGroovyMethods due to missing dependency javax/xml/bind/JAXBContext
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
from noisemodelling.
thanks
@qhesry is working on updating scripting with groovy with the last release
from noisemodelling.
11 Scripting with Python
- Python version is not advised (probably python 2.7 if there is
from __future__ import print_function
) - Proposed version (2.0.0) is not the latest
- same comments as 10: dependancies are not up to date
- psycopg2 install link does not work (should be : http://initd.org/psycopg/docs/install.html)
It appears I can't launch the H2 server, I get this error:
PS D:\Roelandt\PROJETS\InProgress\UMRAE\ANR_CENSE\orbisgis_2-0-0> groovy -cp "bin/cts-1.3.3.jar;bin/h2spatial-api-1.2.0.
jar;bin/jts-1.13.jar;bin/log4j-1.2.16.jar;bin/slf4j-api-1.6.0.jar;bin/slf4j-log4j12-1.6.0.jar;bin/spatial-utilities-1.2.
0.jar;bundle/commons-compress.jar;bundle/h2.jar;bundle/h2drivers.jar;bundle/h2network.jar;bundle/h2spatial.jar;bundle/h2
spatial-ext.jar;bundle/jackson-core.jar;bundle/java-network-analyzer.jar;bundle/jdelaunay.jar;bundle/jgrapht-core.jar;bu
ndle/org.orbisgis.noisemap-core.jar;bundle/org.orbisgis.noisemap-h2.jar;bundle/postgis-jts-osgi.jar" org.h2.tools.Server
-pg
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/C:/PROGRA~2/Groovy/GROOVY~1.0/lib/groovy-3.0.0-alpha-3.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Caught: java.io.FileNotFoundException: D:\Roelandt\PROJETS\InProgress\UMRAE\ANR_CENSE\orbisgis_2-0-0\org.h2.tools.Server (D:\Roelandt\PROJETS\InProgress\UMRAE\ANR_CENSE\orbisgis_2-0-0\org.h2.tools.Server)
java.io.FileNotFoundException: D:\Roelandt\PROJETS\InProgress\UMRAE\ANR_CENSE\orbisgis_2-0-0\org.h2.tools.Server (D:\Roelandt\PROJETS\InProgress\UMRAE\ANR_CENSE\orbisgis_2-0-0\org.h2.tools.Server)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
I tried to install the H2 server with the officially recommended installer but got the same error.
I'm using java8 on Windows10:
java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) Client VM (build 25.192-b12, mixed mode)
from noisemodelling.
12 Create a gain noise map
- Clear mention that it is not a finished document ๐
- Does it needs to be run from a previous step like 6 ?
- Got stuck at line 6:
SET @XCOUNT = SELECT ROUND((ST_XMAX(THE_GEOM) - ST_XMIN(THE_GEOM)) / @DIST_RECEIVER)::integer FROM FENCE;
Can't findFENCE
=> is it an object to create or to load ?
from noisemodelling.
Correction on 02 - Quick Start
- Link to description on function added
- Correction of the function signature in sound propagation section
- Correction of the result image
Correction on 03 SQL functions
- Complete traduction of vl_per_hour and pl_per_hour -> lv_per_hour and hv_per_hour (light vehicule and heavy vehicule)
- Change String to VARCHAR in other function
Missing :
What are W_V1, W_V2 and W_V3 ?
What is the CELL_ID ?
Correction in 04 Industrial soun sources application
- Add section titles
- Change output map
Correction in 05 Ground Effect
- Add section titles
- Add caption to both result image
Correction in 06 Modelling barrier using digital elevation model
- Add section titles
Correction in 08 Vertical noise map
- Add comments on sql code.
Correction in 09 Using data from OpenStreetMap
- Add sample file to download from OpenStreetMap
- Add instructions to download OpenStreetMap data
- Add instructions to change the projection code
- Add link to the map with projection code
Correction in 10 Scripting with Groovy
- Update of the wiki with the new version of NoiseModelling
Correction in 11 Scripting with Python
- Updated with the new version.
from noisemodelling.
Related Issues (20)
- Provide NoiseModelling native library for C and Python HOT 1
- Documentation on the absorption coefficient HOT 1
- Customize vehicle category HOT 12
- WSP Builder - Import Folder doesnยดt work
- Error in doc RailWay
- How to create Lw_railway HOT 1
- Import file into NoiseModelling 4.0.5 HOT 2
- Propagation error in NM 4.0.5?? HOT 7
- Metric projection error HOT 10
- Solving WIDTH field is not taken into account in "Enrich_DEM_with_road.groovy"
- PK error HOT 2
- Delaunay grid bug HOT 1
- Maven artefact ? HOT 3
- Errors in calculation depending on the separation between receivers HOT 4
- Roads are not imported correctly from OSM data HOT 7
- Directivity calculation fails HOT 5
- Null data for a large proportion of receivers HOT 2
- Second order of reflection or higher HOT 2
- MAVEN WPS and GUI HOT 5
- How to test a new WPS block? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from noisemodelling.