Node capacity must be greater than 1

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Node capacity must be greater than 1

AntoninLB
Hello,

My name is Antonin, I'm trying to create a NoiseMap for a territorial collectivity in Morbihan in order to protect biodiversity and to preserve the ecological continuities. It may not be scientifically good, but I'm now trying to evaluate the noise emission (in the air) for boat traffic.
I have collected all the trafic datas and now I try to compute the NoiseMap for a small piece of area (I'll do it next for the whole area).
I reached the step of calculating the sound propagation with the function BR_TriGrid but failed to it. I obtain this error after a few minutes of calculating :

"General error: "com.vividsolutions.jts.util.AssertionFailedException: Node capacity must be greater than 1"; SQL statement:
create table tri_lvl as SELECT * from BR_TriGrid('bati','roads_src','DB_M','',750,50,1.5,2.8,75,2,1,0.23) [50000-196]
OVERALL EXECUTION TIME: 349,912 seconds
"

Here is the script I use :

"-- Compute the sound level for each segment of roads
drop table if exists roads_src_global;
CREATE TABLE roads_src_global AS SELECT the_geom,BR_EvalSource(lv_speed, hv_speed,vl_per_hou, pl_per_hou, beginZ, endZ, rlenght) as db_m from ess1;

-- Apply frequency repartition of road noise level
drop table if exists roads_src;
CREATE TABLE roads_src AS SELECT the_geom,
BR_SpectrumRepartition(100,1,db_m) as db_m100,
BR_SpectrumRepartition(125,1,db_m) as db_m125,
BR_SpectrumRepartition(160,1,db_m) as db_m160,
BR_SpectrumRepartition(200,1,db_m) as db_m200,
BR_SpectrumRepartition(250,1,db_m) as db_m250,
BR_SpectrumRepartition(315,1,db_m) as db_m315,
BR_SpectrumRepartition(400,1,db_m) as db_m400,
BR_SpectrumRepartition(500,1,db_m) as db_m500,
BR_SpectrumRepartition(630,1,db_m) as db_m630,
BR_SpectrumRepartition(800,1,db_m) as db_m800,
BR_SpectrumRepartition(1000,1,db_m) as db_m1000,
BR_SpectrumRepartition(1250,1,db_m) as db_m1250,
BR_SpectrumRepartition(1600,1,db_m) as db_m1600,
BR_SpectrumRepartition(2000,1,db_m) as db_m2000,
BR_SpectrumRepartition(2500,1,db_m) as db_m2500,
BR_SpectrumRepartition(3150,1,db_m) as db_m3150,
BR_SpectrumRepartition(4000,1,db_m) as db_m4000,
BR_SpectrumRepartition(5000,1,db_m) as db_m5000 from roads_src_global;

-- Sound propagation from sources through buildings
drop table if exists tri_lvl;
create table tri_lvl as SELECT * from BR_TriGrid('bati','roads_src','DB_M','',750,50,1.5,2.8,75,2,1,0.23);
"

The traffic rate I have for this sample of territory is very law (about one or two boats per hour, I tried to put a greater rate but obtained the same message of error). My lv_speed is 18.5 km.h. The buildings table comes from IGN BDTOPO2016.

Here is a look of the space I want to map :




Thanks a lot in advance for the help you could provide to me,
Best regards,

Antonin
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

Nicolas F.
Administrator
Hi.

Thanks for the feedback.

The error is not complete so it is not useful. I think the 'bati' table is not good (illegal polygons)

The function BR_EvalSource and BR_SpectrumRepartition are only valid for light vehicle emission.

Noisemodelling is following the NMPB08 standards and are not made for marine traffic so you should not use this library for this purpose.

best regards,

Nicolas Fortin
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

AntoninLB
Hi,

Thanks for the answer.
I note the remark for NMPB 2008. I actually stopped trying to modelize the boat traffic which was not so pertinent for my study.
Though I still need to modelize noise levels for road trafic. I tried with the same script, and obtained the same error message "Node capacity must be greater than 1". I even changed my buildings layer after reading your answer (from IGN to the landcover we have here). Though when I tried with a smaller area (just a roundabout and 100m of road each side of it) I obtained my noisemap.
So the script works with my buildings layer, but not for the whole area I'd like.
Is it possible that the whole space could not be modelized because of a lack of boundingbox ? or maybe the whole territory I want to map is way too big ?

Thanks in advance,

Have a good day,

Antonin
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

Nicolas F.
Administrator
There is an updated version of NoiseModelling here (with better building meshing). It could work with this version.

https://github.com/Ifsttar/NoiseModelling/releases/tag/2.1.1-SNAPSHOT

There is no limitation of the map size.

2018-04-19 14:01 GMT+02:00 AntoninLB [via OrbisGIS] <[hidden email]>:
Hi,

Thanks for the answer.
I note the remark for NMPB 2008. I actually stopped trying to modelize the boat traffic which was not so pertinent for my study.
Though I still need to modelize noise levels for road trafic. I tried with the same script, and obtained the same error message "Node capacity must be greater than 1". I even changed my buildings layer after reading your answer (from IGN to the landcover we have here). Though when I tried with a smaller area (just a roundabout and 100m of road each side of it) I obtained my noisemap.
So the script works with my buildings layer, but not for the whole area I'd like.
Is it possible that the whole space could not be modelized because of a lack of boundingbox ? or maybe the whole territory I want to map is way too big ?

Thanks in advance,

Have a good day,

Antonin


If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/Node-capacity-must-be-greater-than-1-tp7575442p7575444.html
To start a new topic under NoiseModelling, email [hidden email]
To unsubscribe from NoiseModelling, click here.
NAML



--
-Nicolas Fortin
GIS Workshop
IRSTV FR CNRS 2488
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

AntoninLB
Ok, I'll try this.
Thanks for the answer.

Have a good day

Antonin
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

AntoninLB
In reply to this post by Nicolas F.
Hey Nicolas,

Thanks for helping, unfortunately even with the updated version of NoiseModelling I obtain the same result.

Well, I try now to do something of my own on QGIS. Of course much more simple and very  modelized. Though I used the fonction 4 of BrEvalSource in NoiseModelling : BR_EvalSource(double lv_speed, double hv_speed,int vl_per_hour, int pl_per_hour, double beginZ, double endZ,double road_length_2d) to calculate LAeq with my trafic data.

I aim to create my own isophones (-3dB when the distance is doubled for a lineic source and with free field). I need to know if this LAeq is calculated in the middle of the road, or if it is calculated by the side of the road (and if it is the case at how many meters). This will change the way I modelize my isophones (actually I want to place my "isophone 0").

At first try I said that BrEvalSource gives me a LAeq measured by the side of the road, considering that the source is in the middle of the road. Is that correct ?

Have a nice day,
Antonin
Reply | Threaded
Open this post in threaded view
|

Re: Node capacity must be greater than 1

Nicolas F.
Administrator
Hi,

This error has been fixed and tested so you have an issue for the update of your version. Please run orbisgis_safemode or delete the plugin cache located in /home/user/.Orbisgis/5.1/cache/ or C:\Users\username\.OrbisGIS\5.1\cache

If you follow the NMPB method so the noise source is located on the center of the road:

best regards,

2018-05-02 16:04 GMT+02:00 AntoninLB [via OrbisGIS] <[hidden email]>:
Hey Nicolas,

Thanks for helping, unfortunately even with the updated version of NoiseModelling I obtain the same result.

Well, I try now to do something of my own on QGIS. Of course much more simple and very  modelized. Though I used the fonction 4 of BrEvalSource in NoiseModelling : BR_EvalSource(double lv_speed, double hv_speed,int vl_per_hour, int pl_per_hour, double beginZ, double endZ,double road_length_2d) to calculate LAeq with my trafic data.

I aim to create my own isophones (-3dB when the distance is doubled for a lineic source and with free field). I need to know if this LAeq is calculated in the middle of the road, or if it is calculated by the side of the road (and if it is the case at how many meters). This will change the way I modelize my isophones (actually I want to place my "isophone 0").

At first try I said that BrEvalSource gives me a LAeq measured by the side of the road, considering that the source is in the middle of the road. Is that correct ?

Have a nice day,
Antonin


If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/Node-capacity-must-be-greater-than-1-tp7575442p7575447.html
To start a new topic under NoiseModelling, email [hidden email]
To unsubscribe from NoiseModelling, click here.
NAML



--
-Nicolas Fortin
GIS Workshop
IRSTV FR CNRS 2488