OrbisGIS 5.2.0 - ST_D8Watershed

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

OrbisGIS 5.2.0 - ST_D8Watershed

MD
Bonjour à tous,

Sur la version 5.2.0, je souhaite obtenir la zone contributive (= bassin versant) d'un point particulier.
J'utilise donc les lignes suivantes:

-- Pour combler les dépressions du MNT  afin d'assurer une continuité hydrologique:
drop table if exists Filled44;
create table Filled44(id serial, the_raster raster) as select null, ST_FILLSINKS(THE_RASTER, 0.01) the_raster from MNT_ETUDE_ONESCALED;

-- Définir le sens d'écoulement de l'eau dans chaque cellule: création d'une grille d'orientation des pixels
drop table if exists FlowDirection44;
create table FlowDirection44(id int primary key, the_raster raster) as select id, ST_D8FlowDirection(THE_RASTER) The_raster from Filled44;

-- Définir les flux accumulés:
drop table if exists Flowaccum44;
create table Flowaccum44(id int primary key, the_raster raster) as select id, ST_D8FlowAccumulation(THE_RASTER) The_raster from FlowDirection44;

-- Calculer tout un bassin versant suivant l'exutoire défini:
drop table if exists WaterShedLocal;
create table WaterShedLocal(id serial, the_raster raster) as select null, ST_d8Watershed(THE_RASTER, 'POINT(354347 6688531)') The_raster from FlowDirection44;

-- Vectorisation du BV:
drop table if exists BV_Chezine;
create table BV_Chezine as select * from ST_DumpAsPolygons((SELECT the_raster from WaterShedLocal limit 1));

Le résultat n'est pas celui escompté. Voici, ce que j'obtiens (couche WatershedLocal):



Et lorsque je regarde la table d'attributs après vectorisation de "WatershedLocal", elle s'avère être vide...

Existe-t-il une erreur dans mon code ? Une idée ?

Bonne après-midi.

MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

ebocher
Administrator
Bonjour Melissa,

Je vais tester et reviens vers toi.


-- 
Erwan Bocher
---------------------------------------------
Ingénieur de Recherche CNRS,
Laboratoire Lab-STICC – CNRS UMR 6285
Equipe DECIDE
UNIVERSITÉ DE BRETAGNE-SUD
Institut Universitaire de Technologie de Vannes
8, Rue Montaigne - BP 561 56017 Vannes Cedex
T: +33 2 97 62 64 92
W: https://cv.archives-ouvertes.fr/erwan-bocher
W: http://www.univ-ubs.fr

Le 3 février 2016 à 15:43, MD [via OrbisGIS] <[hidden email]> a écrit :
Bonjour à tous,

Sur la version 5.2.0, je souhaite obtenir la zone contributive (= bassin versant) d'un point particulier.
J'utilise donc les lignes suivantes:

-- Pour combler les dépressions du MNT  afin d'assurer une continuité hydrologique:
drop table if exists Filled44;
create table Filled44(id serial, the_raster raster) as select null, ST_FILLSINKS(THE_RASTER, 0.01) the_raster from MNT_ETUDE_ONESCALED;

-- Définir le sens d'écoulement de l'eau dans chaque cellule: création d'une grille d'orientation des pixels
drop table if exists FlowDirection44;
create table FlowDirection44(id int primary key, the_raster raster) as select id, ST_D8FlowDirection(THE_RASTER) The_raster from Filled44;

-- Définir les flux accumulés:
drop table if exists Flowaccum44;
create table Flowaccum44(id int primary key, the_raster raster) as select id, ST_D8FlowAccumulation(THE_RASTER) The_raster from FlowDirection44;

-- Calculer tout un bassin versant suivant l'exutoire défini:
drop table if exists WaterShedLocal;
create table WaterShedLocal(id serial, the_raster raster) as select null, ST_d8Watershed(THE_RASTER, 'POINT(354347 6688531)') The_raster from FlowDirection44;

-- Vectorisation du BV:
drop table if exists BV_Chezine;
create table BV_Chezine as select * from ST_DumpAsPolygons((SELECT the_raster from WaterShedLocal limit 1));

Le résultat n'est pas celui escompté. Voici, ce que j'obtiens (couche WatershedLocal):



Et lorsque je regarde la table d'attributs après vectorisation de "WatershedLocal", elle s'avère être vide...

Existe-t-il une erreur dans mon code ? Une idée ?

Bonne après-midi.

MD



If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/OrbisGIS-5-2-0-ST-D8Watershed-tp7575383.html
To start a new topic under OrbisGIS Users, email [hidden email]
To unsubscribe from OrbisGIS Users, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

ebocher
Administrator
In reply to this post by MD
Bonjour Melissa,

J'ai analysé tes données et exécuté le script que tu as envoyé. Le calcul du bassin versant est correct. Je te joins une copie d'écran des directions. Tu pourras remarquer que ton exutoire de BV se situe dans un pixel dont la direction est à 7 (orienté nord-sud) et que peut de pixels convergent vers cet exutoire.

Je vais néanmoins investigué du côté de la conversion raster vers vecteur car il semble qu'il y ait un pb.

Erwan



-- 
Erwan Bocher
---------------------------------------------
Ingénieur de Recherche CNRS,
Laboratoire Lab-STICC – CNRS UMR 6285
Equipe DECIDE
UNIVERSITÉ DE BRETAGNE-SUD
Institut Universitaire de Technologie de Vannes
8, Rue Montaigne - BP 561 56017 Vannes Cedex
T: +33 2 97 62 64 92
W: https://cv.archives-ouvertes.fr/erwan-bocher
W: http://www.univ-ubs.fr

Le 5 février 2016 à 08:05, Erwan Bocher <[hidden email]> a écrit :
Bonjour Melissa,

Je vais tester et reviens vers toi.


-- 
Erwan Bocher
---------------------------------------------
Ingénieur de Recherche CNRS,
Laboratoire Lab-STICC – CNRS UMR 6285
Equipe DECIDE
UNIVERSITÉ DE BRETAGNE-SUD
Institut Universitaire de Technologie de Vannes
8, Rue Montaigne - BP 561 56017 Vannes Cedex
T: +33 2 97 62 64 92
W: https://cv.archives-ouvertes.fr/erwan-bocher
W: http://www.univ-ubs.fr

Le 3 février 2016 à 15:43, MD [via OrbisGIS] <[hidden email]> a écrit :
Bonjour à tous,

Sur la version 5.2.0, je souhaite obtenir la zone contributive (= bassin versant) d'un point particulier.
J'utilise donc les lignes suivantes:

-- Pour combler les dépressions du MNT  afin d'assurer une continuité hydrologique:
drop table if exists Filled44;
create table Filled44(id serial, the_raster raster) as select null, ST_FILLSINKS(THE_RASTER, 0.01) the_raster from MNT_ETUDE_ONESCALED;

-- Définir le sens d'écoulement de l'eau dans chaque cellule: création d'une grille d'orientation des pixels
drop table if exists FlowDirection44;
create table FlowDirection44(id int primary key, the_raster raster) as select id, ST_D8FlowDirection(THE_RASTER) The_raster from Filled44;

-- Définir les flux accumulés:
drop table if exists Flowaccum44;
create table Flowaccum44(id int primary key, the_raster raster) as select id, ST_D8FlowAccumulation(THE_RASTER) The_raster from FlowDirection44;

-- Calculer tout un bassin versant suivant l'exutoire défini:
drop table if exists WaterShedLocal;
create table WaterShedLocal(id serial, the_raster raster) as select null, ST_d8Watershed(THE_RASTER, 'POINT(354347 6688531)') The_raster from FlowDirection44;

-- Vectorisation du BV:
drop table if exists BV_Chezine;
create table BV_Chezine as select * from ST_DumpAsPolygons((SELECT the_raster from WaterShedLocal limit 1));

Le résultat n'est pas celui escompté. Voici, ce que j'obtiens (couche WatershedLocal):



Et lorsque je regarde la table d'attributs après vectorisation de "WatershedLocal", elle s'avère être vide...

Existe-t-il une erreur dans mon code ? Une idée ?

Bonne après-midi.

MD



If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/OrbisGIS-5-2-0-ST-D8Watershed-tp7575383.html
To start a new topic under OrbisGIS Users, email [hidden email]
To unsubscribe from OrbisGIS Users, click here.
NAML



directions.png (21K) Download Attachment
MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

MD
Bonjour Erwan,

Je te remercie d'avoir analysé mon problème !!!!

J'ai fait le test sur un bassin versant que l'on connait bien pour vérifier que cela fonctionnait correctement. Même si le calcul est correct, le résultat n'est pas le bon. J'avais testé avec d'autres coordonnées et j'obtenais toujours quelque chose d'étrange.

Je vais réessayer et choisir avec plus de précision l'exutoire (le pixel concerné). J'avais pu voir à l'aide de la V3 qu'il suffisait de décaler l'exutoire d'un pixel pour avoir un résultat totalement différent.

En tout cas, c'est déjà une bonne chose de savoir que le calcul du BV est correct !

C'est noté pour la conversion raster/vecteur.

Merci beaucoup :-)

Bonne journée.

MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

ebocher
Administrator



Le 5 février 2016 à 14:21, MD [via OrbisGIS] <[hidden email]> a écrit :
Bonjour Erwan,

Je te remercie d'avoir analysé mon problème !!!!

J'ai fait le test sur un bassin versant que l'on connait bien pour vérifier que cela fonctionnait correctement. Même si le calcul est correct, le résultat n'est pas le bon. J'avais testé avec d'autres coordonnées et j'obtenais toujours quelque chose d'étrange.

Qu'entends-tu par étrange ? Peux-tu me donner un jeu de données d'entrée et un résultat attendu ?
 

Je vais réessayer et choisir avec plus de précision l'exutoire (le pixel concerné). J'avais pu voir à l'aide de la V3 qu'il suffisait de décaler l'exutoire d'un pixel pour avoir un résultat totalement différent.

Si tu déplaces l'exutoire il est normalement que le BV soit différent car la distribution des directions n'est pas homogène

.
 

En tout cas, c'est déjà une bonne chose de savoir que le calcul du BV est correct !

C'est noté pour la conversion raster/vecteur.

Merci beaucoup :-)

Bonne journée.

MD



If you reply to this email, your message will be added to the discussion below:
http://orbisgis.3871844.n2.nabble.com/OrbisGIS-5-2-0-ST-D8Watershed-tp7575383p7575388.html
To start a new topic under OrbisGIS Users, email [hidden email]
To unsubscribe from OrbisGIS Users, click here.
NAML

MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

MD
Oui, cela me paraît tout à fait normal que cela varie d'un pixel à l'autre d'où l'intérêt de bien le choisir.

Sur la version 3.0.2 (Cf. CR), j'avais fait un 1er test sur le bassin de la Chézine, voilà ce que j'avais obtenu:



Ce n'était pas concluant. J'avais donc fait un second test en m'aidant de la couche générée par le Strahler pour pointer mon exutoire et être sûre d'être sur le réseau hydrographique (en rouge: le 1er point avec lequel j'avais effectué le 1er test, donc en dehors du strahler. En jaune, le point sur le Strahler):



Après exécution avec ce nouveau point, j'avais obtenu le résultat satisfaisant du bassin versant de la Chézine (c'est le résultat attendu):



Sur cette version, il n'y a pas de fonction Strahler. Aussi, je viens de m'aider d'une ancienne version (sur laquelle, j'avais généré cette couche) pour m'aider à pointer l'exutoire et être sur le réseau hydrographique. Si j'ai bien compris le décalage qui était constaté entre le driver asc de cette version et le driver asc des anciennes versions ou QGIS a été corrigé, donc normalement je peux exécuter mon script avec les coordonnées lues sur une version antérieure (354347 6688531). Non ? Pourtant j'obtiens toujours une simple ligne ou parfois un simple petit point:



J'ai fait des tests avec plusieurs coordonnées.

Désolée pour ce long message !!

MD
MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

MD
Voici les points que j'ai pu tester:
- Chézine: 354350 6688541
- Cens: 356258 6692425

Résultats attendus respectivement:





MD
Reply | Threaded
Open this post in threaded view
|

Re: OrbisGIS 5.2.0 - ST_D8Watershed

MD
Bonjour,

Désolée... c'est encore moi...

J'ai quand même fait des essais avec d'autres coordonnées, toujours pareil...

Bonne journée.

MD