Noisemap(1.2.0.SNAPSHOPT)

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

Noisemap(1.2.0.SNAPSHOPT)

Adrien Le Bellec
Bonjour,

Voici le résumé d'un mail entre moi-même et Nicolas Fortin. (en gras mes questions, et en italique les réponses).

N’hésitez pas à intervenir.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


    J'ai quelques questions à propos du plugin noisemap(1.2.0.SNAPSHOT).

    Tout d'abord, les fichiers noisemap.groovy et noisemap_soil.groovy sont facile à utiliser.
    Pour la création de cas test j'ai modifié deux paramètres :

    1- la géométrie du bâtiment, pour qu'il y ait absence de bâtiment :

    // Create building coordinates
    Coordinate[] buildings = [new Coordinate(0,0,0),new Coordinate(0,0,0), new Coordinate(0,0,0),new Coordinate(0,0,0), new Coordinate(0,0,0)];
    // ...
    // Insert building of 0 meters high in the mesh. To remove height, just set 1 parameter
    mesh.addGeometry(building, 0);

    Est que l'absence de bâtiment a un impact sur la triangulation entre les points ?

C'est vraiment bizarre ce que tu fais. Si tu ne veux pas ajouter de bâtiment, il faut juste mettre en commentaire les lignes qui ajoute le bâtiment.



    2- la taille de "l'enveloppe" pour obtenir de plus grandes distance entre les points Source et Récepteur  :

    // Execute delaunay triangulation. cellEnvelope is propagation area limits.
    Envelope cellEnvelope = new Envelope(new Coordinate(0,0,0), new Coordinate(250,250,0))
    mesh.finishPolygonFeeding(cellEnvelope);
    // ...
    // Sound propagation limitation
    double maxSrcDist = 250
    // Maximum reflection distance
    double maxRefDist = 250

    Il me suffit de jouer avec les coordonnées des points source et récepteur pour les cas simples.
    On a constaté deux problèmes.

    Le premier est lorsque le point récepteur à les mêmes coordonnées
    - il y a -11 db(A) pour le fichier noisemap.groovy
    - on obtient NaN dB(A) pour le fichier noisemap_soil.groovy

    Est-ce lié à la triangulation ?
       
Même coordonnées que quoi ? La prise en compte du sol n'a pas l'air de fonctionner.



    Le second problème concerne la hauteur. Elle n'a pas d'influence sur le résultat final.
    Par exemple :

    // Create receivers (where to evaluate sound level)
    List<Coordinate> receivers = [new Coordinate(120, 20, 0)]
    List<Long> receiversId = [0L]

    // Create sound sources
    List<Geometry> srclst= [factory.createPoint(new Coordinate(120, 120, 0))];
    List<ArrayList<Double>> srcSpectrum=new ArrayList<ArrayList<Double>>();
    srcSpectrum.add(new ArrayList<Double>());

    Résultat final : L = 49 dB(A)

    // Create receivers (where to evaluate sound level)
    List<Coordinate> receivers = [new Coordinate(120, 20, 100)]
    List<Long> receiversId = [0L]

    // Create sound sources
    List<Geometry> srclst= [factory.createPoint(new Coordinate(120, 120, 0))];
    List<ArrayList<Double>> srcSpectrum=new ArrayList<ArrayList<Double>>();
    srcSpectrum.add(new ArrayList<Double>());

    Résultat final : L = 49 dB(A)
     
     
     


    J'ai donc chercher dans les fichiers .java (cf. https://github.com/nicolas-f/noisemap/tree/feature/3d, l'adresse suivante ne marchait pas : https://github.com/nicolas-f/noisemap/feature_3d).
    Pour cela j'ai utilisé le logicielle Intellij IDEA 13.1.1.

    Les recherches m'ont amené au fichier \noisemap-feature-3d\noisemap-core\src\main\...\PropagationProcess.java où l'on retrouve les différentes atténuations.

    line
    .
    .
    .
    336    /**
    337     * Compute attenuation of sound energy by distance. Minimum distance is one
    338     * meter.
    339     *
    340     * @param Wj       Source level
    341     * @param distance Distance in meter
    342     * @return Attenuated sound level. Take only account of geometric dispersion
    343     * of sound wave.
    344     */
    345    public static double attDistW(double Wj, double distance) {
    346         if (distance < 1.) // No infinite sound level
    347        {
    348            return Wj / (4 * Math.PI);
    349        } else {
    350             return Wj / (4 * Math.PI * distance * distance);
    351  }
    352    }
    .
    .
    .
    493                   // Geometric dispersion
    494                    //fulldistance-deltadistance is the distance direct between source and receiver
    495                    AttenuatedWj = attDistW(AttenuatedWj, fulldistance - deltadistance);



    Où trouver la variable "distance" et comment est elle calculée ? Qu'elle est la différence entre la variable "distance" et "fulldistance - deltadistance" ?

    J'aimerai également savoir si il était possible d'obtenir un tutoriel simple est clair sur la création de fichier .jar pour que je puisse recréer le plugin noisemap sans vous déranger. (Je vous enverrai un mail si jamais je modifiai quelque chose)


Je ne peux pas t'aider sur les variables introduite par SU QI.

Pour débugger noisemap il faut d'abord cloner le dépôt noisemap:

https://www.jetbrains.com/idea/webhelp/cloning-a-repository-from-github.html

Avec cette adresse https://github.com/irstv/noisemap.git


Ensuite il faut faire un checkout de la branche de suqi (feature/3d):

http://www.jetbrains.com/idea/webhelp/checking-out-%28switching-between-branches%29.html


Ensuite il faut compiler noisemap (goal install de maven):

http://www.jetbrains.com/idea/features/build_tools.html


Un fichier jar sera créé dans le dossier du projet target. Ce fichier jar doit être utilisé avec le gestionnaire de plug-in d'OrbisGIS.

Tuto pour débugger un plugin:

https://github.com/irstv/orbisgis/wiki/Create-your-plugin-for-OrbisGIS-4.0#debugging-your-plug-in

Bon là c'est pour netbeans mais c'est pareil sous IntelliJ:

http://www.eclipse.org/jetty/documentation/current/debugging-with-intellij.html
Reply | Threaded
Open this post in threaded view
|

Re: Noisemap(1.2.0.SNAPSHOPT)

Adrien Le Bellec
 J'ai oublié de préciser pour ma deuxième question que ce sont les coordonnées du point source et du point recepteur.



Adrien Le Bellec wrote
   Le premier est lorsque le point récepteur à les mêmes coordonnées que la source
    - il y a -11 db(A) pour le fichier noisemap.groovy
    - on obtient NaN dB(A) pour le fichier noisemap_soil.groovy

    Est-ce lié à la triangulation ?
       
Même coordonnées que quoi ? La prise en compte du sol n'a pas l'air de fonctionner.
Reply | Threaded
Open this post in threaded view
|

Re: Noisemap(1.2.0.SNAPSHOPT)

Adrien Le Bellec
Bonjour,

j'ai quelques questions pour noisemap(1.2.0.SNAPSHOT).

Tout d'abord, lorsque je lance le fichier noisemap_soil.groovy, j’obtiens comme données d'entrée :

// Create receivers (where to evaluate sound level)
List<Coordinate> receivers = [new Coordinate(120, 40, 5)]
List<Long> receiversId = [0L]
// Create sound sources
List<Geometry> srclst= [factory.createPoint(new Coordinate(120, 140, 5))];
List<ArrayList<Double>> srcSpectrum=new ArrayList<ArrayList<Double>>();
srcSpectrum.add(new ArrayList<Double>());


print  "Récepteur : "+ receivers + "              Source : "+ srclst;

Récepteur : [(120.0, 40.0, 5.0)]              Source : [POINT (120 140)]


Or j'ai besoin que la source est une hauteur. Que faut il modifier ?

Par la suite, dans les fichiers java de noisemap, j'aimerai savoir où est calculé la distance entre le point source et le point récepteur.

Enfin, je ne sais pas quoi mettre dans les configurations du Run\Debug (afin de débugger un plugin) sous Intellij :
Run\Debug

Merci
Reply | Threaded
Open this post in threaded view
|

Re: Noisemap(1.2.0.SNAPSHOPT)

Nicolas F.
Administrator
In reply to this post by Adrien Le Bellec
Bonjour,

Il n'y a rien à changer. Il suffira juste d'utiliser le même port que la commande d’exécution d'OrbisGIS (c'était 6666)

Pour le Z il n'est pas affiché dans la représentation texte:

println srclst[0].z

Je ne serai plus disponible avant mercredi prochain.

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

Re: Noisemap(1.2.0.SNAPSHOPT)

Adrien Le Bellec
Bonjour,

Pour la compilation sous intellij, je rencontre les erreurs suivantes :

Information:Using javac 1.8.0_05 to compile java sources

Information:java: Errors occurred while compiling module 'noisemap'

Information:Compilation completed with 100 errors and 7 warnings in 3 sec

Information:100 errors

Information:7 warnings

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\QueryGridIndex.java

    Error:Error:line (41)java: package org.grap.utilities does not exist

    Warning:Warning:line (157)java: getRowRanges() in org.noisemap.core.RowsUnionClassification has been deprecated

    Warning:Warning:line (212)java: getRowRanges() in org.noisemap.core.RowsUnionClassification has been deprecated

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\ST_SetNearestGeometryId.java

    Error:Error:line (39)java: package org.gdms.data does not exist

    Error:Error:line (40)java: package org.gdms.data.schema does not exist

    Error:Error:line (41)java: package org.gdms.data.schema does not exist

    Error:Error:line (42)java: package org.gdms.data.types does not exist

    Error:Error:line (43)java: package org.gdms.data.types does not exist

    Error:Error:line (44)java: package org.gdms.data.values does not exist

    Error:Error:line (45)java: package org.gdms.data.values does not exist

    Error:Error:line (46)java: package org.gdms.driver does not exist

    Error:Error:line (47)java: package org.gdms.driver does not exist

    Error:Error:line (48)java: package org.gdms.driver.driverManager does not exist

    Error:Error:line (49)java: package org.gdms.sql.function does not exist

    Error:Error:line (50)java: package org.gdms.sql.function does not exist

    Error:Error:line (51)java: package org.gdms.sql.function does not exist

    Error:Error:line (52)java: package org.gdms.sql.function.table does not exist

    Error:Error:line (53)java: package org.gdms.sql.function.table does not exist

    Error:Error:line (54)java: package org.gdms.sql.function.table does not exist

    Error:Error:line (55)java: package org.gdms.sql.function.table does not exist

    Error:Error:line (56)java: package org.gdms.driver does not exist

    Error:Error:line (57)java: package org.orbisgis.progress does not exist

    Error:Error:line (76)java: cannot find symbol

  symbol: class AbstractTableFunction

    Error:Error:line (78)java: cannot find symbol

  symbol:   class Type

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (95)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (95)java: cannot find symbol

  symbol:   class DataSet

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (96)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (96)java: cannot find symbol

  symbol:   class ProgressMonitor

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (95)java: cannot find symbol

  symbol:   class DataSet

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (96)java: cannot find symbol

  symbol:   class FunctionException

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (303)java: cannot find symbol

  symbol:   class Metadata

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (303)java: cannot find symbol

  symbol:   class Metadata

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (303)java: cannot find symbol

  symbol:   class DriverException

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (322)java: cannot find symbol

  symbol:   class FunctionSignature

  location: class org.noisemap.core.ST_SetNearestGeometryId

    Error:Error:line (209)java: cannot find symbol

  symbol:   class DataSet

  location: class org.noisemap.core.ST_SetNearestGeometryId.QuadtreeNearestFilter

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\FastObstructionTest.java

    Error:Error:line (42)java: package org.grap.utilities does not exist

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\BTW_SpectrumRepartition.java

    Error:Error:line (37)java: package org.gdms.data does not exist

    Error:Error:line (38)java: package org.gdms.data.types does not exist

    Error:Error:line (39)java: package org.gdms.data.types does not exist

    Error:Error:line (40)java: package org.gdms.data.values does not exist

    Error:Error:line (41)java: package org.gdms.data.values does not exist

    Error:Error:line (42)java: package org.gdms.sql.function does not exist

    Error:Error:line (43)java: package org.gdms.sql.function does not exist

    Error:Error:line (44)java: package org.gdms.sql.function does not exist

    Error:Error:line (45)java: package org.gdms.sql.function does not exist

    Error:Error:line (46)java: package org.gdms.sql.function does not exist

    Error:Error:line (52)java: cannot find symbol

  symbol: class AbstractScalarFunction

    Error:Error:line (81)java: cannot find symbol

  symbol:   class FunctionException

  location: class org.noisemap.core.BTW_SpectrumRepartition

    Error:Error:line (91)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.BTW_SpectrumRepartition

    Error:Error:line (91)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.BTW_SpectrumRepartition

    Error:Error:line (91)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.BTW_SpectrumRepartition

    Error:Error:line (91)java: cannot find symbol

  symbol:   class FunctionException

  location: class org.noisemap.core.BTW_SpectrumRepartition

    Error:Error:line (115)java: cannot find symbol

  symbol:   class FunctionSignature

  location: class org.noisemap.core.BTW_SpectrumRepartition

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\LayerExtTriangle.java

    Error:Error:line (48)java: package org.apache.log4j does not exist

    Error:Error:line (63)java: cannot find symbol

  symbol:   class Logger

  location: class org.noisemap.core.LayerExtTriangle

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\PropagationProcessDiskWriter.java

    Error:Error:line (38)java: package org.gdms.data.values does not exist

    Error:Error:line (39)java: package org.gdms.driver does not exist

    Error:Error:line (40)java: package org.gdms.driver does not exist

    Error:Error:line (41)java: package org.gdms.data.values does not exist

    Error:Error:line (42)java: package org.gdms.driver does not exist

    Error:Error:line (53)java: cannot find symbol

  symbol:   class DiskBufferDriver

  location: class org.noisemap.core.PropagationProcessDiskWriter

    Error:Error:line (54)java: cannot find symbol

  symbol:   class DataSet

  location: class org.noisemap.core.PropagationProcessDiskWriter

    Error:Error:line (56)java: cannot find symbol

  symbol:   class DiskBufferDriver

  location: class org.noisemap.core.PropagationProcessDiskWriter

    Error:Error:line (56)java: cannot find symbol

  symbol:   class DataSet

  location: class org.noisemap.core.PropagationProcessDiskWriter

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\BTW_EvalSource.java

    Error:Error:line (36)java: package org.gdms.data does not exist

    Error:Error:line (37)java: package org.gdms.data.types does not exist

    Error:Error:line (38)java: package org.gdms.data.types does not exist

    Error:Error:line (39)java: package org.gdms.data.values does not exist

    Error:Error:line (40)java: package org.gdms.data.values does not exist

    Error:Error:line (41)java: package org.gdms.sql.function does not exist

    Error:Error:line (42)java: package org.gdms.sql.function does not exist

    Error:Error:line (43)java: package org.gdms.sql.function does not exist

    Error:Error:line (44)java: package org.gdms.sql.function does not exist

    Error:Error:line (45)java: package org.gdms.sql.function does not exist

    Error:Error:line (51)java: cannot find symbol

  symbol: class AbstractScalarFunction

    Error:Error:line (60)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.BTW_EvalSource

    Error:Error:line (60)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.BTW_EvalSource

    Error:Error:line (60)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.BTW_EvalSource

    Error:Error:line (60)java: cannot find symbol

  symbol:   class FunctionException

  location: class org.noisemap.core.BTW_EvalSource

    Error:Error:line (105)java: cannot find symbol

  symbol:   class FunctionSignature

  location: class org.noisemap.core.BTW_EvalSource

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\ST_SplitLineInPoints.java

    Error:Error:line (36)java: package org.gdms.data does not exist

    Error:Error:line (37)java: package org.gdms.data.values does not exist

    Error:Error:line (38)java: package org.gdms.data.values does not exist

    Error:Error:line (39)java: package org.gdms.sql.function does not exist

    Error:Error:line (40)java: package org.gdms.sql.function does not exist

    Error:Error:line (41)java: package org.gdms.sql.function does not exist

    Error:Error:line (42)java: package org.gdms.sql.function does not exist

    Error:Error:line (43)java: package org.gdms.sql.function.spatial.geometry does not exist

    Error:Error:line (58)java: cannot find symbol

  symbol: class AbstractScalarSpatialFunction

    Error:Error:line (135)java: cannot find symbol

  symbol:   class FunctionSignature

  location: class org.noisemap.core.ST_SplitLineInPoints

    Error:Error:line (156)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.ST_SplitLineInPoints

    Error:Error:line (156)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.ST_SplitLineInPoints

    Error:Error:line (156)java: cannot find symbol

  symbol:   class Value

  location: class org.noisemap.core.ST_SplitLineInPoints

    Error:Error:line (156)java: cannot find symbol

  symbol:   class FunctionException

  location: class org.noisemap.core.ST_SplitLineInPoints

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\PropagationProcessData.java

    Error:Error:line (40)java: package org.gdms.data does not exist

    Error:Error:line (65)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.PropagationProcessData

    Error:Error:line (68)java: cannot find symbol

  symbol:   class DataSourceFactory

  location: class org.noisemap.core.PropagationProcessData

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\ProgressionOrbisGisManager.java

    Error:Error:line (36)java: package org.orbisgis.progress does not exist

    Error:Error:line (52)java: cannot find symbol

  symbol:   class ProgressMonitor

  location: class org.noisemap.core.ProgressionOrbisGisManager

    Error:Error:line (70)java: cannot find symbol

  symbol:   class ProgressMonitor

  location: class org.noisemap.core.ProgressionOrbisGisManager

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\ST_SplitSegment.java

    Error:Error:line (36)java: package org.gdms.data does not exist

    Error:Error:line (37)java: package org.gdms.data.values does not exist

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\BR_PtGrid.java

    Warning:Warning:line (323)java: getRowRanges() in org.noisemap.core.RowsUnionClassification has been deprecated

    Warning:Warning:line (350)java: getRowRanges() in org.noisemap.core.RowsUnionClassification has been deprecated

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\ST_ExtractVerticesTriGrid.java

    Warning:Warning:line (133)java: getRowRanges() in org.noisemap.core.RowsUnionClassification has been deprecated

E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\QueryRTree.java

    Warning:Warning:java: E:\Stage\Orbisgis\noisemap\test\test\src\main\java\org\noisemap\core\QueryRTree.java uses unchecked or unsafe operations.

    Warning:Warning:java: Recompile with -Xlint:unchecked for details.
il semblerait qu'il me manque des package java. Comment faire pour les installer ?

Merci
Reply | Threaded
Open this post in threaded view
|

Re: Noisemap(1.2.0.SNAPSHOPT)

Nicolas F.
Administrator
In reply to this post by Adrien Le Bellec
Bonjour,

Il faut le compiler avec Maven. Donc avec IntelliJ il faut ouvrir le pom.xml en tant que projet. Il faut regarder les liens que j'ai envoyé pour cette étape.

Pour groovy seul le projet noisemap-core est nécessaire, donc il ne faut compiler que ce projet.

Cordialement,

Nicolas Fortin
RISING, IRSTV FR CNRS 2488