Node capacity must be greater than 1

classic Classic list List threaded Threaded
4 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