Valeurs de BR_EVALSOURCE

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

Valeurs de BR_EVALSOURCE

Rémi B.
Bonjour,

Je suis en train de réaliser un carte de bruit pour une commune. J'ai utilisé le script suivant pour calculer le niveau de puissance à l'émission :


-- Creation de la table roads (contenant uniquement les geometries et le type de route)

drop table if exists roads;
create table roads ( the_geom GEOMETRY, num INTEGER, road_type INTEGER);
insert into roads (the_geom, num, road_type)
select the_geom, pk, R_TYPE
from road_1;

-- Creation de la table d'informations sur le trafic routier pour les periodes day, evening, et night

drop table if exists roads_traffic;
create table roads_traffic (the_geom GEOMETRY, lv_speed_d DOUBLE, lv_speed_e DOUBLE, lv_speed_n DOUBLE, hv_speed_d DOUBLE, hv_speed_e DOUBLE, hv_speed_n DOUBLE, lightVehicleCount_d DOUBLE, heavyVehicleCount_d DOUBLE, lightVehicleCount_e DOUBLE, heavyVehicleCount_e DOUBLE, lightVehicleCount_n DOUBLE, heavyVehicleCount_n DOUBLE, road_type INTEGER);
insert into roads_traffic (the_geom, lv_speed_d, lv_speed_e, lv_speed_n, hv_speed_d, hv_speed_e , hv_speed_n, lightVehicleCount_d, heavyVehicleCount_d, lightVehicleCount_e, heavyVehicleCount_e, lightVehicleCount_n, heavyVehicleCount_n, road_type)
select the_geom, V_PKW_D, V_PKW_E, V_PKW_N, V_LKW_D, V_LKW_E, V_LKW_N, M2_VL_D, M2_PL_D, M2_VL_E, M2_PL_E,  M2_VL_N, M2_PL_N, R_TYPE  
from road_1;

-- Calcul de l'emission sonore pour chaque tronçons de routes acoustiquement homogenes

drop table if exists L;
CREATE TABLE L AS SELECT the_geom, BR_EvalSource(lv_speed_d, hv_speed_d, lightVehicleCount_d,heavyVehicleCount_d, ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),1)),ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),2)),ST_Length(the_geom)) as db_m_d from roads_traffic;


Le problème est que pour des grandes valeurs de trafic routier, je n'obtiens pas de niveau de puissance mais des symboles de type "carré". Y a-t-il des valeurs limites pour la sortie de la fonction BR_EVALSOURCE ?

Merci d'avance.

Cordialement,
Rémi
Reply | Threaded
Open this post in threaded view
|

Re: Valeurs de BR_EVALSOURCE

Nicolas F.
Administrator
Bonjour Rémi,

Le symbole carré (sous windows) correspond sûrement a +Infini . Quel est exactement "des grandes valeurs de trafic routier" ?

Il faudrait me donner les paramètres qui donne ces résultats.

Cordialement,

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

Re: Valeurs de BR_EVALSOURCE

Rémi B.
Bonjour,

Voilà les valeurs pour lesquelles j'obtiens des carrés :



Et j'ai utilisé exactement le code que je t'ai envoyé précédemment.

Merci.
Reply | Threaded
Open this post in threaded view
|

Re: Valeurs de BR_EVALSOURCE

Rémi B.
Bonjour,

Le problème est réglé : je m'étais trompé de données, j'avais d'une part pris les nombres de véhicules au lieu des nombres de véhicules par heure et d'autre part j'ai changé les fonctions ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),1)) et ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),2)) qui ne marchent pas chez moi et sont à l'origine des fameux "carrés".

J'ai une autre question par ailleurs : je voudrais mieux délimiter mon aire de calcul (les 2 points sources de niveau sonore négligeable), en utilisant une table qui contient justement l'aire de calcul voulue. Est-il possible de transformer cette aire en un ensemble de points placés en bordure de cette aire de calcul et qui auraient des niveaux sonores négligeables ?
Je ne sais pas si ma question est compréhensible, si non, n'hésitez pas à me le dire.

Merci d'avance.

Cordialement,
Rémi B.
Reply | Threaded
Open this post in threaded view
|

Re: Valeurs de BR_EVALSOURCE

Nicolas F.
Administrator
Bonjour,

La délimitation de la zone de calcul de br_trigrid peut se faire uniquement avec une enveloppe xmin xmax ymin ymax.

Pour utiliser une grille de calcul personnalisé il faut utiliser la fonction br_ptgrid.

Cordialement,

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

Re: Valeurs de BR_EVALSOURCE

Nicolas F.
Administrator
In reply to this post by Rémi B.
Rémi B. wrote
..d'autre part j'ai changé les fonctions ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),1)) et ST_Z(ST_GeometryN(ST_ToMultiPoint(the_geom),2)) qui ne marchent pas chez moi et sont à l'origine des  fameux "carrés".
In order to compute slope the geometry needs to be simple linestring with only two points. You can use ST_GEOMETRYN in order to extract first and last components.

Pour calculer la pente de la geometrie il faut que celle-ci soit composé uniquement d'un segment composé de deux points. La fonction ST_GeometryN permet d'extraire la première et dernière sous-geometrie.

Reply | Threaded
Open this post in threaded view
|

Re: Valeurs de BR_EVALSOURCE

Rémi B.
In reply to this post by Nicolas F.
Bonjour,

Ok pour la fonction br_ptgrid mais on ne peut plus utiliser la fonction st_trianglecontouring, du coup comment peut-on faire pour obtenir quand même une carte du bruit sur le même modèle que le maillage en triangles ?

Autre petit problème que j'ai : j'utilise le script sur le dem et je veux créer moi-même mon quadrillage de points altimétriques. Cependant je ne dispose que d'un fichier shp regroupant les différentes lignes de niveau. J'ai alors essayé de transformer ces lignes en succession de points mais je n'arrive pas à modifier le nombre de points et la longueur entre ceux-ci. Voilà le code utilisé :

--nettoyage des tables si existantes
drop TABLE if EXISTS road_dens100, mpoints, points, mpoints_z, point_profil;

--Densification de la table troncon_route avec des points tous les 100 mètres
create table road_dens100 as select ST_Densify(the_geom, 100000000000) as
the_geom from hlin_ecully;
--Décomposition de la géometrie en multi-points
create table mpoints as select ST_ToMultiPoint(the_geom) as the_geom from road_dens100;
--Extraction des points
create table points as SELECT the_geom from ST_EXPLODE('select the_geom from mpoints');
-- Valeurs des coordonnees z
create table mpoints_z as select the_geom, ST_Z(the_geom) as flt_altitu from points;

Et voici ce que j'obtiens sur la fenêtre MapEditor




Merci d'avance.

Cordialement,
Rémi B.